Beiträge von netmario

    Hier, das müsste funktionieren.
    if(strcmp(cmdtext, "/roadblock", true)==0 || strcmp(cmdtext, "/rb", true)==0)
    {
    if (PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] !=2) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Cop!");
    if (PlayerInfo[playerid][pRoadblock] != 0) return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur eine Straßensperre errichten, gib /rrb ein um eine vorhandene Sperre zu entfernen.");
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    PlayerInfo[playerid][pRoadblock] = CreateObject(981, X, Y, Z, 0.0, 0.0, A+180);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Strassensperre ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Starßensperre erfolgreich platziert, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    //roadblocktimer = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "HQ: Officer %s hat eine Straßensperre platziert, auf der Karte ist sie als Checkpoint zu sehen.", sendername);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    SetPlayerCheckpoint(playerid, X, Y, Z-10, 1.0);
    SendClientMessage(i, TEAM_BLUE_COLOR, string);
    if (PlayerInfo[i][pRank] >= 5 && PlayerInfo[i][pMember] || PlayerInfo[i][pLeader] == 1)
    {
    SendClientMessage(i, COLOR_YELLOW, "Du kannst alle Sperren mit /rrball entfernen");
    }
    }
    }
    }
    return 1;
    }


    if(strcmp(cmdtext, "/roadunblock", true)==0 || strcmp(cmdtext, "/rrb", true)==0)
    {
    if (PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] !=2)// return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Cop!");
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Cop!");
    //return 1;
    }
    else if (PlayerInfo[playerid][pRank] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du mußt mindestens Rang 2 haben um diesen Befehl nutzen zu können!");
    //return 1;
    }
    else if (PlayerInfo[playerid][pRoadblock] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Straßensperre platziert!");
    //return 1;
    }
    else
    {
    RemoveRoadblock(playerid);
    SendClientMessage(playerid, COLOR_GREEN, "Straßensperre erfolgreich entfernt.");
    }
    return 1;
    }


    if(strcmp(cmdtext, "/roadunblockall", true)==0 || strcmp(cmdtext, "/rrball", true)==0)
    {
    if (PlayerInfo[playerid][pRank] >= 2 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pAdmin] > 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(PlayerInfo[i][pRoadblock] != 0)
    {
    RemoveRoadblock(i);
    }
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "HQ: Durch die Anordnung von Officer %s wurden alle Starßensperren entfernt.", sendername);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
    {
    SendClientMessage(i, TEAM_BLUE_COLOR, string);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du mußt Rang 2 haben oder Polizeichef sein um alle Straßensperren entfernen zu können!");
    }
    return 1;
    }

    Hier hab ich eins für dich aus nem Freeroam GM. Fügs am besten in deinen Gamemode ein.
    Das hier ganz nach unten oder zwischen zwei publics.
    Das unter OnPlayerCommandText
    dcmd(nos, 3, cmdtext);
    dcmd_nos(playerid, params[]) {
    #pragma unused params
    if(GetPlayerMoney(playerid)>=1000)
    {
    if(IsPlayerInAnyVehicle(playerid)) {
    new cartype = GetPlayerVehicleID(playerid);
    new modelid;
    modelid = GetVehicleModel(cartype);
    switch(modelid) // id modeli by Luby
    {
    case 407,578,579,580,582,583,584,585,587,588,589,596,
    597,400,401,420,534,535,536,556,557,558,559,560,561,
    598,599,600,601,602,603,604,605,609,568,572,574,402,
    403,404,405,408,409,410,411,412,413,414,415,416,418,
    419,421,422,423,424,426,427,428,429,431,432,433,434,
    436,437,438,439,440,441,442,443,444,445,451,455,456,
    457,458,459,466,467,470,474,475,477,478,479,480,482,
    483,485,486,489,492,494,495,496,498,499,500,502,503,
    504,505,506,507,508,514,515,516,517,518,524,525,526,
    527,528,529,530,531,532,533,540,541,542,543,566,544,
    545,546,547,549,550,551,552,554,555,562,565,567,575,
    576,471:
    {
    AddVehicleComponent(cartype,1010);
    SendClientMessageLang(playerid, COLOR_ORANGE,"NITRO in vehicle -1000$","NITRO w pojeŸdzie -1000$");
    GivePlayerMoney(playerid,-1000);
    }


    }
    }else{
    SendClientMessageLang(playerid, COLOR_WARN,"You must be in vehicle!","Musisz byæ w pojeŸdzie!");
    }
    }
    else
    {
    SendClientMessageLang(playerid, COLOR_WARN,"You not have money!","Nie masz tyle pieniêdzy!");
    }
    return 1;
    }
    dcmd_nitro(playerid, params[]) { dcmd_nos(playerid, params); return 1; }

    Ich habe vor bald ein Tutorial für sowas zu machen, bin aber nächste Woche im Urlaub. Aber ihr könnt ich schon mal drauf freuen, nen Stretch Interior hätte ich, dies ist allerdings nicht von mir.

    So ein Schwachsinn, die Objekte werden geladen auch wenn man im Auto ist. Wie schnell der Objectstreamer die Objekte lädt, ist normal ziemlich weit oben definiert, poste die Zeilen mal bitte, verwende nämlich Midostream und nicht Einsteins ... .
    @KifferMadin das passiert nur wenn man einen Objectstreamer verwendet, wenn man keinen verwendet passiert das eben nicht.

    Es kann sein, dass die Objekte zu langsam geladen werden, setzte mal die Range runter, ab wann die Objekte geladen werden sollen. Oder du verwendest einen andern Objectstreamer.

    Füg folgendes ganz unten im Script ein.
    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }

    Wenn die Gegenleistung groß genug wäre würde ich es machen, kann aber nichts versprechen, aber normal müsste ich das hinbekommen. Müsste halt schaun wie du das bei deinem Selfmade gemacht hast.

    Ich hätte ne Idee sowas zu machen, hab aber keine Ahnung ob es auch nicht einfacher geht, du erstellst ganz viele Textdraws, je nachdem wie voll das ist. Dann frägste halt ab wenn der ins Auto einsteigt wie voll der Tank ist, je nachdem erscheint das passende Textdraw.


    //edit
    Nach kurzer suche im englischen Forum bin ich auf das hier gestoßen.