Bug im Script: Chat Spam bei Fraktionsautos..

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 Com. :)


    Ich habe einen Bug im Script...
    Wenn ich als normaler Zivilist in ein nicht Fraktionsauto einsteige wird der Chat voll gespammt mit "Du bist kein Fahrlehrer" und "Du bist kein SFPD Angestellter"...
    Aber wenn ich Leader bin oder Fraktionsmitglied egal welche Fraktion (komisch xD) kann ich alle Autos fahren..


    OnPlayerStateChange:



    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(sfpdcar); i++)
    {
    if(GetPlayerVehicleID(playerid) == sfpdcar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein SFPD Angestellter!");
    }
    }
    }
    for(new i=0; i<sizeof(fscar); i++)
    {
    if(GetPlayerVehicleID(playerid) == fscar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein Fahrlehrer!");
    }
    }
    }
    }


    //So mit Quellcode :)

    Einmal editiert, zuletzt von [Markus] () aus folgendem Grund: Text

  • Code:



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(sfpdcar); i++)
    {
    if(GetPlayerVehicleID(playerid) == sfpdcar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein SFPD Angestellter!");
    }
    }
    }
    for(new i=0; i<sizeof(fscar); i++)
    {
    if(GetPlayerVehicleID(playerid) == fscar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein Fahrlehrer!");
    }
    }
    }
    else
    {

    }
    }
    return 1;
    }


    Fehler:
    error 029: invalid expression, assumed zero


    Error beim else



    //Stimmt das mit dem Else??

    Einmal editiert, zuletzt von [Markus] () aus folgendem Grund: Text

  • public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(sfpdcar); i++)
    {
    if(GetPlayerVehicleID(playerid) == sfpdcar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein SFPD Angestellter!");
    }
    else
    {

    }
    }
    }
    for(new i=0; i<sizeof(fscar); i++)
    {
    if(GetPlayerVehicleID(playerid) == fscar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein Fahrlehrer!");
    }
    else
    {


    }
    }
    }
    }
    return 1;
    }



    Buggt noch immer rum..

  • public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(sfpdcar); i++)
    {
    if(GetPlayerVehicleID(playerid) == sfpdcar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein SFPD Angestellter!");
    }
    else
    {

    }
    }
    }
    for(new i=0; i<sizeof(fscar); i++)
    {
    if(GetPlayerVehicleID(playerid) == fscar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein Fahrlehrer!");
    }
    else
    {


    }
    }
    }
    }
    return 1;
    }



    Ich hoffe der Code ist richtig eingedrückt :)

    Einmal editiert, zuletzt von [Markus] () aus folgendem Grund: CODE

  • public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(sfpdcar); i++)
    {
    if(GetPlayerVehicleID(playerid) == sfpdcar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 1)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein SFPD Angestellter!");
    }
    else
    {

    }
    }
    }
    else
    {


    }
    for(new i=0; i<sizeof(fscar); i++)
    {
    if(GetPlayerVehicleID(playerid) == fscar[i])
    {
    if(SpielerInfo[playerid][pFraktion] != 2)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein Fahrlehrer!");
    }
    else
    {


    }
    }
    }
    else
    {


    }
    }
    return 1;
    }


    Das muss gehen, musst es nur richtig einrücken, da ich es hier verbessert habe und nicht in Pawno.

  • Funktioniert noch immer nicht...
    Jeder Leader kann das Auto fahren...
    Und das gespamme ist immer noch da wenn ich auf (nicht fraktionsautos steige)
    Ich hab das jetzt so mal gemacht funkt auch nicht...


    Code:
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(sfpdcar); i++)
    {
    if(GetPlayerVehicleID(playerid) == sfpdcar[i])
    {
    if(SpielerInfo[playerid][pFraktion] == 1 || SpielerInfo[playerid][pMember] == 1 || SpielerInfo[playerid][pLeader] == 1)
    {


    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein SFPD Angestellter!");
    }
    }
    }
    }
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new i=0; i<sizeof(fscar); i++)
    {
    if(GetPlayerVehicleID(playerid) == fscar[i])
    {
    if(SpielerInfo[playerid][pFraktion] == 2 || SpielerInfo[playerid][pMember] == 2 || SpielerInfo[playerid][pLeader] == 2)
    {

    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein Fahrlehrer!");
    }
    }
    }
    }

  • so dürfte es gehen


    Code
    if(SpielerInfo[playerid][pFraktion] == 1 || SpielerInfo[playerid][pMember] == 1 || SpielerInfo[playerid][pLeader] == 1)
    				{
                            	return 1;
    				}
    				else
    				{
    					RemovePlayerFromVehicle(playerid);
    					SendClientMessage(playerid,COLOR_DARKRED,"Du bist kein SFPD Angestellter!");
                            	return 1;
    				}

    >> sPa.M << go, go,Bann me, Bann me

    Einmal editiert, zuletzt von Grek () aus folgendem Grund: Schwachsinniges beseitigt

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Das Gespamme hat aufgehört aber wenn ich aufs normale (nicht fraktionsbike) steige dann kommt dort "Du bist kein SFPD Angestellter" ... Zivi = Fraktion 0
    Und wenn ich als Zivi ins Frak car einsteige kann ich es fahren :(

  • @Topiccreator(TC)


    Wenn du diesen Code benutzt hast kannste es auch vergessen, da es RemovePlayerFromVehicle; ohne einen Spieler im Fahrzeug einen FEHLER wieder gibt.


    Du musst statt RemovePlayer.. folgendes verwenden:



    TogglePlayerControllable(playerid,false);TogglePlayerControllable(playerid,true);

  • es wird voher abgefragt ob er in einem fahrzeug als fahrer sitzt mit

    Code
    if(newstate == PLAYER_STATE_DRIVER)


    dass mit toggle freezte den spieler nur und er kommt gar nicht mehr raus.

    >> sPa.M << go, go,Bann me, Bann me