hiiilfe =O !! (dringendes problem)

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 erstmal..


    Beschreibung des fehlers:


    SpielerA gibt SpielerB Adminrechte.
    SpielerB geht offline.
    SpielerC kommt online und nimmt die ID von SpielerB ein. (logisch)
    SpielerC hat adminrechte... Wieso? xD


    mein setadmin befehl:
    ocmd:setadmin(playerid,params[])
    {
    new pID, lvl;
    new string[128];
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,Gelb,"Der Spieler ist nicht online.");
    if(!isPlayerAnAdmin(playerid,2000))return SendClientMessage(playerid,Rot,"Du bist kein Admin / Rang 2000");

    if(sscanf(params,"ui",pID,lvl))return SendClientMessage(playerid,Gelb,"Benutzung: /setadmin [ID][level]");
    SpielerInfo[pID][Adminlevel] = lvl;
    format(string,sizeof(string),"Du hast %s auf Adminlevel %d gesetzt",SpielerName(pID),lvl);
    SendClientMessage(playerid,Rot,string);
    format(string,sizeof(string),"Admin %s hat dein Adminrang auf %d gesetzt",SpielerName(playerid),lvl);
    SendClientMessage(pID,Rot,string);
    return 1;
    }



    hilfe ^^

  • Versuch es mal so .. ich hab die abfrage ob "pID" connected ist unter sscanf gesetzt, da das script bisdahin ja noch nicht weiß, wer pID eig. ist
    ocmd:setadmin(playerid,params[])
    {
    new pID, lvl;
    new string[128];
    if(!isPlayerAnAdmin(playerid,2000))return SendClientMessage(playerid,Rot,"Du bist kein Admin / Rang 2000");
    if(sscanf(params,"ui",pID,lvl))return SendClientMessage(playerid,Gelb,"Benutzung: /setadmin [ID][level]");
    if(IsPlayerConnected(pID)){
    SpielerInfo[pID][Adminlevel] = lvl;
    format(string,sizeof(string),"Du hast %s auf Adminlevel %d gesetzt",SpielerName(pID),lvl);
    SendClientMessage(playerid,Rot,string);
    format(string,sizeof(string),"Admin %s hat dein Adminrang auf %d gesetzt",SpielerName(playerid),lvl);
    SendClientMessage(pID,Rot,string);
    }
    else {
    SendClientMessage(playerid,Gelb,"Der Spieler ist nicht online.");
    }
    return 1;
    }