for-Schleife/RemovePlayerFromVehicle - Server-Crash

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo.


    Ich habe feststellen müssen, dass der Server bei folgendem Code nichtmehr funktioniert:

    for(new i=0;i<sizeof(bus);i++)
    {
    new vID = GetPlayerVehicleID(playerid);
    if(vID == bus[i])
    {
    for(new pID=0;pID<MAX_PLAYERS;i++)
    {
    if(JobVehicle[pID] == vID && JobVehicle[playerid] != vID)
    {
    SendClientMessage(playerid, COLOR_GREY, "Das Fahrzeug wird derzeit noch benutzt!");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    if(Spieler[playerid][pJob] == 2)
    {
    JobVehicle[playerid] = vID;
    SendClientMessage(playerid, COLOR_GREEN, "* Busfahrer Information *");
    SendClientMessage(playerid, COLOR_WHITE, "Tippe /startlinie zum starten.");
    SendClientMessage(playerid, COLOR_WHITE, "Tippe /stoplinie zum stoppen.");
    SendClientMessage(playerid, COLOR_WHITE, "Tippe /joblock zum abschließen des Fahrzeugs.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Busfahrer.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    }


    Bei diesem Code aber funktioniert alles:

    for(new i=0;i<sizeof(wdealer);i++)
    {
    new vID = GetPlayerVehicleID(playerid);
    if(vID == wdealer[i])
    {
    for(new pID=0;pID<MAX_PLAYERS;pID++)
    {
    if(JobVehicle[pID] == vID && JobVehicle[playerid] != vID)
    {
    SendClientMessage(playerid, COLOR_GREY, "Das Fahrzeug wird derzeit noch benutzt!");
    return 1;
    }
    }
    if(Spieler[playerid][pJob] == 8)
    {
    JobVehicle[playerid] = vID;
    new str[128];
    format(str, sizeof(str), "** Waffenbestand des Fahrzeugs: %d/5 **", bestand[vID]);
    SendClientMessage(playerid, COLOR_GREEN, str);
    SendClientMessage(playerid, COLOR_WHITE, "Tippe /loadpakete zum aufladen der Pakete.");
    SendClientMessage(playerid, COLOR_WHITE, "Tippe /unloadpakete zum entladen der Pakete.");
    SendClientMessage(playerid, COLOR_WHITE, "Tippe /joblock zum abschließen des Fahrzeugs.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Drogendealer.");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    }


    Bei dem Code wo es funktioniert, ist bei der if(JobVehicle[pID]..) Abfrage ja nur ein RemovePlayerFromVehicle() eingebaut.
    Kann jemand helfen? :/
    PS: Der Server bleibt an, man kann in der Konsole 'say ...' eingeben, es erscheint auch InGame, aber man kann InGame nixmehr machen. ;)


    //edit
    Habe mal probiert, wenn ich RemovePlayerFromVehicle() bei den anderen Jobs o.ä einfüge, geht alles.
    Keine Crashes oder sonstiges.
    Nur bei den Busfahrern.


    <.<