Makeadmin Befehl 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

  • COMMAND:rconmakeadmin(playerid, params[])
    {
    new pid,level;
    if(sscanf(params,"ud", pid, level))
    {
    return SendClientMessage(playerid,GRAU,"Verwendung: /rconmakeadmin [ID] [Level] ");
    }
    if(!IsPlayerAdmin(playerid))
    {
    if(pid == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid,ROT,"Ungültiger Spieler! ");
    }
    if(IstSpielerAdmin(pid,level) == level)
    {
    return SendClientMessage(playerid,ROT,"Der Spieler hat bereits das angegebene Adminlevel! ");
    }
    else
    {
    sSpieler[pid][Adminlevel] = level;
    SendClientMessage(pid,WEISS,"Du bist nun ein Teammitglied");
    SendClientMessage(playerid,WEISS,"Du hast den angegebenen Spieler zum Teammitglied ernannt!");
    }
    }
    else
    {
    return SendClientMessage(playerid,ROT,"Du bist kein RCON Administrator!");
    }
    return 1;
    }



    Wenn ich Ingame online bin, und mir versuche durch RCON Admin Serveradmin Rechte zu verschaffen, steht da immer du bist kein rcon Administrator!
    Woran könnte das Liegen?


    Gruß,
    xTheApple


    ACHJA:
    Habe sogar MrMonat gefragt, selbst der konnte Mir nicht helfen.

  • Du negierst die Abfrage. Wenn der Spieler nicht RCon Admin ist dann darf er den Befehl ausführen. Einfach das ! vor IsPlayerAdmin entfernen. Abgesehen davon solltest du deinen Code einrücken.

  • Nimm den von Nemesus


    Bei OnPlayerCommandText

    Code
    //Bei OnPlayerCommandText
    
    
    dcmd(makeadmin, 9, cmdtext);


    Unter OnPlayerCommandText




  • Um dir aber die ganzen unübersichtlichen Klammern zu sparen, kannst du alternativ den Code auch so umschreiben.

    COMMAND:rconmakeadmin(playerid, params[])
    {
    new pid,level;
    if(sscanf(params,"ud", pid, level)) return SendClientMessage(playerid,GRAU,"Verwendung: /rconmakeadmin [ID] [Level] ");
    if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,ROT,"Du bist kein RCON Administrator!");
    if(pid == INVALID_PLAYER_ID) return SendClientMessage(playerid,ROT,"Ungültiger Spieler! ");
    if(IstSpielerAdmin(pid,level) == level) return SendClientMessage(playerid,ROT,"Der Spieler hat bereits das angegebene Adminlevel! ");
    sSpieler[pid][Adminlevel] = level;
    SendClientMessage(pid,WEISS,"Du bist nun ein Teammitglied");
    SendClientMessage(playerid,WEISS,"Du hast den angegebenen Spieler zum Teammitglied ernannt!");
    return 1;
    }