Problem mit makeadmin

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
  • Moin



    Hab ein Problem mit meinem geliebten Befehl "/makeadmin"
    und zwar ist Folgendes:




    Ich tippe ein: /makeadmin 0 1


    und kriege dann diese Nachricht , den ersten Parameter nimmt er (Also den namen liest er aus) aber warum nicht den rank ?


    Code:


    ocmd:makeadmin(playerid,params[])
    {
    if(!DarfSpielerEinAdminMachen(playerid))return SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig");
    new pID,string[150],string2[150],adminrank[150],adminwahl;
    if(sscanf(params,"ui",pID,adminwahl))return SendClientMessage(playerid,ORANGE,"/makeadmin [Name/ID] [Adminlevel]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online.");
    if(adminwahl<0||adminwahl>8)return SendClientMessage(playerid,ROT,"Bitte nur gültige Adminlevel angeben 0-8");
    switch(GetPVarInt(pID,"Adminlevel"))
    {
    case 0:{adminrank="User";}
    case 1:{adminrank="Supporter";}
    case 2:{adminrank="Admin";}
    case 3:{adminrank="Headadmin";}
    case 4:{adminrank="Communityleiter";}
    case 5:{adminrank="Manager";}
    case 6:{adminrank="Designer";}
    case 7:{adminrank="Sponsor";}
    case 8:{adminrank="Premium User";}

    }
    format(string,sizeof(string),"Spieler %s Adminrank %s geupdated",SpielerName(pID),adminrank);
    SendClientMessage(playerid,ORANGE,string);
    format(string2,sizeof(string2),"%s hat dein Status zu %s geupdated.",SpielerName(playerid),adminrank);
    SendClientMessage(pID,GRUN,string2);
    PlayerPlaySound(pID, 1058, 0.0, 0.0, 10.0);
    SpielerSpeichern(pID);
    return 1;


















  • Du musst im sscanf Teil "si" machen


    ui ist richtig, für was ein String? Informiere dich zuerst wie man Sscanf richtig benutzt. Hier kannst du aufgeklärt werden : http://wiki.sa-mp.com/wiki/Sscanf_code


    Du setzt nicht das Adminlevel also nicht nicht mit SetPVarInt. Sonst würde es noch so gehen, aber du solltest das Adminlevel speichern, das ist jetzt nur so zum ausgeben:

    switch(adminwahl)
    {
    case 0:{adminrank="User";}
    case 1:{adminrank="Supporter";}
    case 2:{adminrank="Admin";}
    case 3:{adminrank="Headadmin";}
    case 4:{adminrank="Communityleiter";}
    case 5:{adminrank="Manager";}
    case 6:{adminrank="Designer";}
    case 7:{adminrank="Sponsor";}
    case 8:{adminrank="Premium User";}

    }


  • Ops habe name gelesen dabei ists ja id sry