PLAYER_STATE_DRIVER Problem .

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
  • Guten tag Breadfishe .
    Ich habe ein Problem mit PLAYER_STATE_DRIVER .
    Es ist kein Error oder warn aber es Spammt die Nachricht als Beispiel wenn man im LSPD ist und Grove Street car Fahren will kommt die nachricht Du bist nicht bei der Grove Street und man wird aus dem Car Geworfen . Soweit so gut aber das Funkt nur bei einem Grove Street car bei dem andern kann man Problemlos Fahren . Und bei dem Ersten car der Groves wird die Nachricht du bist nicht bei der Grove Street 9 mal gespammt da ich 9 Grove Street cars habe .


    Hier meine OnPlayerStateChange Sachen :



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(GScar); i++)
    {
    if(GetPlayerVehicleID(playerid)==GScar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")!=2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Rot,"Du bist nicht bei der Grove Street!!");
    }
    }
    }
    }
    if(newstate==PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(LSPDcar); i++)
    {
    if(GetPlayerVehicleID(playerid)==LSPDcar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")!=1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Rot,"Du bist nicht beim LSPD");
    }
    }
    }
    }
    return 1;
    }

  • Füg den Code mal über den Quellcodeeditor statt über den Editor ein.


    Ist echt schlecht zu lesen, so wie es jetzt ist

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ehm warum 2 Mal die Player State Abfrage?


    einmal reicht doch


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new veh = GetPlayerVehicleID(playerid);
    if(newstate==PLAYER_STATE_DRIVER) // eine Abfrage reicht
    {
    new i;
    for(;i<sizeof(GScar);i++)
    {
    if(veh==GScar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")!=2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Rot,"Du bist nicht bei der Grove Street!!");
    break; // lassen wir die Schleife doch abbrechen
    }
    }
    }
    i=0;
    for(;i<sizeof(LSPDcar);i++)
    {
    if(veh==LSPDcar[i])
    {
    if(GetPVarInt(playerid,"Fraktion")!=1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,Rot,"Du bist nicht beim LSPD");
    break; // hier auch
    }
    }
    }
    }
    return true;
    }

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Yo Danke dir Jetzt gehts . Bis auf das jetzt immer du bist nicht im LSPD und du bist nicht der Grove Street gleichzeitig kommen ^^


    Eine Frage . Warum genau break; und nicht return 1; ?

    Einmal editiert, zuletzt von Notorious ()

  • Weil du den Code nicht umbedingt abbrechen lassen möchtest, könnte ja sein das da noch was wichtiges kommt, z.B.: ein Tacho

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski