Adminlevel geht nicht

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 wenn ich bim Accounts denn Adminrank aendere dann ingame gehe und /givemoney schreibe dann steht da immer noch Das ich kein Admin bin(?)
    hier der code:



    //enUms
    enum SpielerDaten
    {
    Level,
    Geld,
    Adminlevel
    };





    ocmd:makeadmin(playerid,params[])
    {
    if(sSpieler[playerid][Adminlevel]==1339)
    {
    new pID, rang, string[264];
    if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,COLOR_WHITE,"Achtung: /makeadmin [Playeri ID] [Adminlevel]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_WHITE,"Fehler dieser Spieler ist nicht Online!");
    sSpieler[pID][Adminlevel]=rang;
    format(string,sizeof(string),"AdmCmd: %s hat dich zum Adminrang %i Beförtert!",SpielerName(playerid),rang);
    SendClientMessage(pID,COLOR_WHITE, string);
    format(string,sizeof(string),"AdmCmd: Du hast %s zum Adminrang %i Beförtert!",SpielerName(playerid),rang);
    SendClientMessage(playerid,COLOR_WHITE, string);
    }
    else
    {
    msg(playerid, COLOR_WHITE, "Du darfst diesen Befehl nicht nutzen!");
    }
    return 1;
    }



    ocmd:givemoney(playerid,params[])
    {
    if(sSpieler[playerid][Adminlevel]==1339)
    {
    new pID, money;
    if(sscanf(params,"ui",pID,money))return SendClientMessage(playerid,COLOR_WHITE,"Achtung: /givemoney [Playerid ID] [Summe]");
    GivePlayerMoney(pID,GetPlayerMoney(pID)+money);
    sSpieler[pID][Geld]=sSpieler[pID][Geld]+money;
    }
    else
    {
    msg(playerid, COLOR_WHITE, "Du darfst diesen Befehl nicht nutzen!");
    }
    return 1;
    }




    sSpieler[playerid][Adminlevel]=dini_Int(Spielerdatei,"Adminlevel");


    dini_IntSet(Spielerdatei,"Adminlevel",sSpieler[playerid][Adminlevel]);

  • Hay.


    Guck dir bei givenoney die
    3 Zeile an.


    Und mach:
    if(sspieler[playerid][Adminlevel] == 1339)
    Zu
    If(sSpieler[playerid][Adminlevel] == 1338)


    8) bedeutet 8 ) nur ohne Leerzeichen.


    Mit freundlichen Grüßen



    // Handy

  • Ich schätze mal du speicherst es über Dini.. Bei mir wars oft so früher (verwende jetzt mysql) dass ich, wenn ich die datein bearbeitet habe die Datei kaputt gemacht hab/ das eingegebene nicht übernommen wird..


    Entweder du lässt das ganze nicht richtig auslesen oder du hast was anderes Falsch gemacht..


    Aber es geht ganz einfach, nimm einfach die Admin Abfrage bei /makeadmin raus.. Mach dich selbst zum Admin und setz die Abfrage dann wieder ins script.. Ist eig einfach.

  • Mach aus dieser if Abfrage:


    if(sSpieler[playerid][Adminlevel]==1339)



    Das hier:



    if(sSpieler[playerid][Adminlevel] != 1339)



    Weil du abfragst, wenn er == Hat bekommt er diese Fehlermeldung.
    Ist er aber != bekommt er die Message nicht und kann den Befehl weiter ausführen.



    Kannst dir dies aber auch HIER alles nachlesen





    Grüße

    Einmal editiert, zuletzt von Equ ()