[GELÖST]ocmd:makeadmin funktioniert 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 Community,
    irgendwie wird das Adminlevel bei mir nicht in der Spielerdatei abgespeichert!
    Ich kann den Befehl problemlos ausführen, aber es wird einfach nicht in der Textdatei geändert/gespeichert.
    Außerdem bekomme ich keine Errors/Warnings beim compilen!
    Hier der Pawn Code:


    ocmd:makeadmin(playerid,params[])
    {
    if(!IstSpielerAdmin(playerid,1)) return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
    new pID, level;
    if(sscanf(params,"ui",pID,level))return SendClientMessage(playerid,GELB,"Verwendung: /makeadmin [ID] [Level]");
    if(level<1||level>5)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
    sSpieler[pID][Adminlevel] = level;
    SendClientMessage(playerid,GELB,"Du hast die angegebene ID zum Admin gemacht!");
    SpielerSpeichern(pID);
    return 1;
    }


    Hat jmd. eine Ahnung?
    Danke schonmal...


    MfG
    CroXx16 :thumbup:

    Einmal editiert, zuletzt von CroXx16 ()

  • Falscher bereich das kommt in Scripting Base rein


    Hast du auch in den Stock/Public das eingetragen mit den Adminlevel?

  • machst so
    ocmd:setadmin(playerid,params[])
    {
    if(isPlayerAnAdmin(playerid,5)|| IsPlayerAdmin(sid))
    {
    new pID, rank;
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,WEISS,"/setadmin [playerid] [level]");
    if(rank<1||rank>7)return SendClientMessage(playerid,ROT,"Bitte gültigen Rang angeben.");
    Info[pID][Adminlevel] = rank;
    SendClientMessageToAll(BLAU,"Es wurde jemand zu Admin gemacht.");
    }
    else{SCM(sid,rot,noadmin);}
    return 1;
    }
    mein stock


    stock isPlayerAnAdmin(playerid,rang)
    {
    if(Info[playerid][Adminlevel] >=rang)return 1;
    return 0;
    }


    mfg
    Daniel

    SA:MP Projekt Geplant!

  • OK Daniel ich werde es mal ausprobieren, danke ;)


    Das ist mein SpielerSpeichern stock:


    stock SpielerSpeichern(playerid)
    {
    new user[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(user,sizeof(user),"/user/%s.txt,Sname");
    if(dini_Exists(user))
    {
    dini_IntSet(user,"Adminlevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(user,"Level",sSpieler[playerid][Level]);
    dini_IntSet(user,"Fraktion",sSpieler[playerid][Fraktion]);
    dini_IntSet(user,"Team",sSpieler[playerid][Team]);
    }
    return 1;
    }

  • Also weiß schon wo der fehler liegt


    format(user,sizeof(user),"/user/%s.txt,Sname"); ZU :::: format(user,sizeof(user),"/user/%s.txt",Sname);
    Die haben den SName mit in die " gesetzt , heißt es gibt keinen dateinnamen :)

  • Jaaaa danke, es funktioniert!!!
    Hätte ich so niemals gefunden :D


    Kann geclosed werden, danke!


    //Edit:


    Eine kleine Frage noch. Wie kann ich es machen, dass jeder AB Admin Level 1 den Befehl benutzen darf? Also Admin Level 1,2,3,4,5.

    Einmal editiert, zuletzt von CroXx16 () aus folgendem Grund: Frage hinzugefügt