Problem mit Abfrage...

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 liebe Community,


    ich habe folgendes Problem:
    Ich bastle momentan an einem Selfmade und bin an einer Stelle angekommen, bei der ich wirklich Probleme
    bekomme...


    Dashier ist mein LoadAccount Stock:
    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Banned",dini_Int(Spielerdatei,"Banned"));
    SetPVarInt(playerid,"AdminDuty",dini_Int(Spielerdatei,"AdminDuty"));
    SetPVarInt(playerid,"Cop",dini_Int(Spielerdatei,"Cop"));
    SetPVarInt(playerid,"Cabdriver",dini_Int(Spielerdatei,"Cabdriver"));
    SetPVarInt(playerid,"Adminvilla",dini_Int(Spielerdatei,"Adminvilla"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"loggedin",1);
    //SpielerInfo[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");
    //SpielerInfo[playerid][Fraktion]=dini_Int(Spielerdatei,"Fraktion");
    return 1;
    }


    Und dashier mein SpielerSpeichern Stock:
    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    //dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"AdminDuty",GetPVarInt(playerid,"AdminDuty"));
    dini_IntSet(Spielerdatei,"Banned",GetPVarInt(playerid,"Banned"));
    dini_IntSet(Spielerdatei,"Adminvilla",GetPVarInt(playerid,"Adminvilla"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Cop",GetPVarInt(playerid,"Cop"));
    dini_IntSet(Spielerdatei,"Cabdriver",GetPVarInt(playerid,"Cabdriver"));
    }
    return 1;
    }



    Wenn ich nun jetzt zum Beispiel einen Admincommand machen möchte,
    benutze ich folgendes...
    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang) return 1;
    return 0;
    }


    Und das setze ich dann folgendermaßen in einem Command um...
    /**/if(strcmp(cmdtext,"/tbtor", true)==0)
    /**/{
    /**/ if(isPlayerAnAdmin(playerid,2) || isPlayerAnCabdriver(playerid,1))
    /**/ {
    /**/ MoveObject(taxibasetor,1811.3444824219,-1885.7247314453,7,4.0);
    /**/ SetTimer("taxibasetorzu",6000,0);
    /**/ //SendClientMessage(playerid,GRÜN,"Zenrale: Die LSPD-Einfahrt wurde geöffnet");
    /**/ GameTextForPlayer(playerid,"~y~Taxibase-Einfahrt~n~~g~GEOEFFNET!",1000,3);
    /**/ return 1;
    /**/ }
    /**/ SendClientMessage(playerid,ROT,"Du bist kein Taxifahrer oder Supporter/Admin");
    /**/ return 1;
    /**/}


    Mein jetziges Problem ist, dass ich gerne in meiner Spielerdatei nun den Wert "AdminDuty" benutzen möchte
    ( 1 = Duty // 0 = UnDuty ).


    Ich möchte jetzt einen Befehl machen, der folgendermaßen aufgebaut ist.
    Wenn die Variable "AdminDuty" in der Spielerdatei 0 ist, dann soll er sie auf 1 setzen.
    Und wenn die Variable "AdminDuty" in der Spielerdatei 1 ist, dann soll er sie auf 0 setzen.


    Ich bräuchte nur diese Abfrage. Den Rest bekomme ich dann wahrscheinlich alleine hin.


    Ja ich weiß, dass diese Methode nicht gerade modern ist und es mit einem Teamsystem und Rangsystem oder
    so ähnliches leichter währe, aber ich möchte es gerne so weiterhin machen.
    Ich will was neues versuchen ^^


    Würde mich über eine Hilfreiche Antwort sehr freuen.
    Vielen Dank!!!!!!


    MfG Marc1706