/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
  • Hallo Liebe BrotFische xD


    Kann mir jemand sagen wie ich jemand per /makeadmin id rank einenn Adminrang zu teilen kann ?
    ich weis nicht wie das geht es sollte über ein Comand gehen die Daten werden per Dini und PVar gespeichert

  • jo bei deinem PInfo enum machste pAdmin,
    Und dann den command warte ich such ihn ebend

  • dcmd_setadmin(playerid,params[])
    {
    new pID, Level;
    if(sscanf(params, "ud",pID,Level))return SendClientMessage(playerid,0xC8C8C8FF,"/setadmin [ID/Name] [Level]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler ist nicht online!");
    if(Level < 0 || Level > 5) return SendClientMessage(playerid,0xC8C8C8FF, "Der Adminrank muss zwischen 0 [Uninvite] und 5 liegen!");
    if(pInfo[playerid][AdminLevel] > 4)
    {
    new adminstring[128], adminstring2[128], playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    format(adminstring,sizeof(adminstring),"%s hat dir Adminrank %d zugewiesen!",playername, Level);
    GetPlayerName(pID,playername,sizeof(playername));
    format(adminstring2,sizeof(adminstring2),"Du hast %s Adminrank %d zugewiesen!",playername, Level);
    pInfo[pID][AdminLevel] = Level;
    SendClientMessage(pID,0xFF6347AA, adminstring);
    SendClientMessage(playerid,0xC8C8C8FF,adminstring2);
    }
    else return SendClientMessage(playerid, 0xC8C8C8FF, "Dein Adminrank reicht nicht aus!");
    return 1;
    }
    Musste halt anpassen, so geht es.
    mfG
    Walker


  • if(strcmp(cmd, "/makeadmin", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] < 1339)
    {
    SendClientMessage(playerid,COLOR_RED," Das Vergeben und Entziehen von Adminrechten ist nur für die ServerOwner möglich!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /makeadmin [ID] [Level]");
    return 1;
    }
    new para1 = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    new level = strval(tmp);
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(PlayerInfo[para1][pAdmin] < level)
    {
    printf("AdmCmd: %s hat %s zu einem Level %d Admin befördert.", sendername, giveplayer, level);
    format(string, sizeof(string), " Du wurdest durch %s zu einem Level %d Admin befördert", sendername, level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s zu einem Level %d Admin befördert.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    else
    {
    printf("AdmCmd: %s hat %s zu einem Level %d Admin degradiert.", sendername, giveplayer, level);
    format(string, sizeof(string), " Du wurdest durch %s zu einem Level %d Admin degradiert", sendername, level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s zu einem Level %d Admin degradiert.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    PlayerInfo[para1][pAdmin] = level;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt diesen Befehl zu nutzen! ");
    }
    return 1;
    }
    if(strcmp(cmd, "/makesupp", true) == 0)
    {

    if(PlayerInfo[playerid][pAdmin] < 1337)
    {
    SendClientMessage(playerid,COLOR_GRAD2," Das Vergeben und Entziehen von Supporterrechten ist nur für die ServerOwner möglich!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /makesupp [ID] [Level]");
    return 1;
    }
    new para1 = ReturnUser(tmp);
    tmp = strtok(cmdtext, idx);
    new level = strval(tmp);
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[para1][pSupporter] = level;
    printf("AdmCmd: %s hat %s zu einem Level %d Supporter befördert.", sendername, giveplayer, level);
    format(string, sizeof(string), " Du wurdest durch %s zu einem Level %d Supporter befördert", sendername, level);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), " Du hast %s zu einem Level %d Supporter befördert.", giveplayer,level);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist nicht befugt diesen Befehl zu nutzen! ");
    }
    return 1;
    }




    BITTESCHÖN


    //EDIT einfach bei OnPlayerCommand
    Walker ist ja gut gemeint aber dcmd ist für ihn vllt noch zu schwer!

    Einmal editiert, zuletzt von _kevIn.888_ ()

  • Ehm bei mir kommt jetzt da Never Used dcmd_setadmin never used da bekomme ich ein Error




    C:\Users\kääfin\Desktop\Sa-Mp Server\gamemodes\new.pwn(323) : error 017: undefined symbol "PlayerInfo"
    C:\Users\kääfin\Desktop\Sa-Mp Server\gamemodes\new.pwn(323) : warning 215: expression has no effect
    C:\Users\kääfin\Desktop\Sa-Mp Server\gamemodes\new.pwn(323) : error 001: expected token: ";", but found "]"
    C:\Users\kääfin\Desktop\Sa-Mp Server\gamemodes\new.pwn(323) : error 029: invalid expression, assumed zero
    C:\Users\kääfin\Desktop\Sa-Mp Server\gamemodes\new.pwn(323) : fatal error 107: too many error messages on one line



    Die Bekomme ich wen ich Das von dir nutzte ...
    ehm und wen ich das /makesup mache stürtzt mein Compailer ab

  • bei OnPlayerCommand musste
    dcmd_setadmin(8.... irgednwas mach doch dads von mir!!
    das musste dann nur bei OnPlayerCommand einfügen

  • Bei
    public OnPlayerCommandText(playerid, cmdtext[])
    fügst du das hier ein.
    dcmd(setadmin,8,cmdtext);


    Oben definierst du dcmd
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    Dann sollte es gehen.