Was ist an meinem /Aduty befehl falsch?

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
  • if(strcmp(cmdtext,"/aduty",true) == 0)
    {
    if(isPlayerAnAdmin(playerid,1))
    {
    if(GetPVarInt(playerid,"Aduty")!=0)
    {
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    SetPVarInt(playerid,"Aduty",1);
    SendClientMessage(playerid,TÜRKIS,"Du bist nun Admin On Duty!");
    format(string,128,">>>>%s geht als Admin On Duty!<<<<",name);
    SendClientMessageToAll(ROT,string);
    }
    else if(isPlayerAnAdmin(playerid,1))
    {
    if(GetPVarInt(playerid,"Aduty")!=1)
    {
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    SetPVarInt(playerid,"Aduty",0);
    SendClientMessage(playerid,TÜRKIS,"Du bist nun Admin Off Duty!");
    format(string,128,">>>>%s geht als Admin Off Duty!<<<<",name);
    SendClientMessageToAll(ROT,string);
    }
    }
    }
    return 1;
    }
    Kann jemand helfen?
    MfG Larso99

  • Guck mal gut hin, du hast bei Zeile 5 abgefragt wenn die Variable Aduty nicht gleich an 0 ist soll heissen alles andere als 0 z.B 1,2,3
    Und dann beim offduty gehen wieder das gleiche nur mit nicht gleich an 1 ;)


    if(strcmp(cmdtext,"/aduty",true) == 0){ if(isPlayerAnAdmin(playerid,1))
    {
    if(GetPVarInt(playerid,"Aduty")=0)
    {
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    SetPVarInt(playerid,"Aduty",1);
    SendClientMessage(playerid,TÜRKIS,"Du bist nun Admin On Duty!");
    format(string,128,">>>>%s geht als Admin On Duty!<<<<",name);
    SendClientMessageToAll(ROT,string);
    }
    if(GetPVarInt(playerid,"Aduty")=1)
    {
    new string[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    SetPVarInt(playerid,"Aduty",0);
    SendClientMessage(playerid,TÜRKIS,"Du bist nun Admin Off Duty!");
    format(string,128,">>>>%s geht als Admin Off Duty!<<<<",name);
    SendClientMessageToAll(ROT,string);
    }
    }
    }
    return 1; }


    /Edit habe Code hinzugefügt Müsste so gehen ungetestet

  • 1. hast du != warscheinlich mit == verwechselt != bedeutet nicht gleich == bedeutet gleich. Ich gehe mal davon aus das du mit if(GetPVarInt(playierid,"Aduty") != 0)
    sagen wolltest, dass wenn der Wert Aduty 0 beträgt man onduty gehen kann. Also würde es dementsprechend if(GetPVarInt(playerid, "Aduty") == 0) heisen. Auserdem sehe ich in keinem
    Teil vom Befehl wo drinnsteht, dass Aduty auf 1 gesetzt wird. Ich würde in if(GetPVarInt(playerid,"Aduty") == 0) zb noch SetPVarInt(playerid,"Aduty", 1); einbauen

    Mit freundlichen Grüßen


    Headscracher | Tobi :thumbup: