Admin System Bug

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
  • [pwn=170]ocmd:makeadmin(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SCM(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt.");
    if(!IsPlayerAdmin(playerid))return SCM(playerid,COLOR_GRAU,"Melde dich bitte als RCON-Admin an.");
    new pID,alevel,string[128];
    if(sscanf(params,"ui",pID,alevel))return SCM(playerid,COLOR_GRAU,"Info: /makeadmin [playerid/name] [adminlevel(0-8)]");
    if(!IsPlayerConnected(pID))return SCM(playerid,COLOR_GRAU,"Info: Der angegebene Spieler ist zurzeit nicht Online.");
    if(alevel <0 || alevel >8)return SCM(playerid,COLOR_GRAU,"Bitte wähle ein Adminlevel zwischen 0-8");
    if(alevel == 0)
    {
    SetPVarInt(playerid,"Adminlevel",0);
    format(string,128,"Admin %s hat dir deine Adminrechte komplett entzogen. Adminlevel: %d",SpielerName(playerid),alevel);
    SCM(pID,COLOR_BLAU,string);
    format(string,128,"Du hast %s die Adminrechte entzogen. (Adminlevel: %d)",SpielerName(pID),alevel);
    SCM(playerid,COLOR_BLAU,string);
    return 1;
    }
    format(string,128,"Admin %s hat dir das Adminlevel %d vergeben.",SpielerName(playerid),alevel);
    SCM(pID,COLOR_BLAU,string);
    format(string,128,"Du hast %s das Adminlevel %d gegeben.",SpielerName(pID),alevel);
    SCM(pID,COLOR_BLAU,string);
    SetPVarInt(playerid,"Adminlevel",alevel);
    printf("Admin: %s | pID: %s | Adminlevel vergeben: %d",SpielerName(playerid),SpielerName(pID),alevel);
    return 1;
    }


    ocmd@2:ac,adminchat(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SCM(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt.");
    if(GetPVarInt(playerid,"Adminlevel") <1)return SCM(playerid,COLOR_GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new string[128],text[128];
    if(sscanf(params,"s[128]",text))return SCM(playerid,COLOR_GRAU,"Info: /ac oder /adminchat [text]");
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && GetPVarInt(i,"Adminlevel") >0)
    {
    format(string,128,"[Adminchat]: %s: %s",SpielerName(i),text);
    SCM(i,COLOR_BLAU,string);
    }
    return 1;
    }
    return 1;
    }


    ocmd:freeze(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SCM(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt.");
    if(GetPVarInt(playerid,"Adminlevel") <1)return SCM(playerid,COLOR_GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new pID,grund[128];
    new string[128];
    if(sscanf(params,"us[128]",pID,grund))return SCM(playerid,COLOR_GRAU,"Info: /freeze [playerid/name] [grund]");
    if(!IsPlayerConnected(pID))return SCM(playerid,COLOR_GRAU,"Info: Der Spieler ist zurzeit nicht Online!");
    if(GetPVarInt(playerid,"Freeze") == 0)
    {
    format(string,128,"Du wurdest von Admin %s gefreezed, Grund: %s",SpielerName(playerid),grund);
    SCM(pID,COLOR_ROT,string);
    TogglePlayerControllable(playerid,0);
    SetPVarInt(playerid,"Freeze",1);
    }
    else if(GetPVarInt(playerid,"Freeze") == 1)
    {
    format(string,128,"Du wurdest von Admin %s ungefreezed.",SpielerName(playerid));
    SCM(pID,COLOR_ROT,string);
    TogglePlayerControllable(playerid,1);
    SetPVarInt(playerid,"Freeze",0);
    }
    return 1;
    }


    ocmd:kick(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SCM(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt.");
    if(GetPVarInt(playerid,"Adminlevel") <1)return SCM(playerid,COLOR_GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new string[128],grund[128],pID;
    if(sscanf(params,"us[128]",pID,grund))return SCM(playerid,COLOR_GRAU,"Info: /kick [playerid/name] [grund]");
    if(!IsPlayerConnected(pID))return SCM(playerid,COLOR_GRAU,"Info: Der Spieler ist zurzeit nicht Online!");
    format(string,128,"Info: %s wurde von %S gekickt, Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SCMToAll(COLOR_ROT,string);
    SCM(pID,COLOR_ROT,"Du wurdest gekickt!");
    Kick(pID);
    return 1;
    }


    ocmd:ban(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SCM(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt.");
    if(GetPVarInt(playerid,"Adminlevel") <1)return SCM(playerid,COLOR_GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new string[128],grund[128],pID;
    if(sscanf(params,"us[128]",pID,grund))return SCM(playerid,COLOR_GRAU,"Info: /ban [playerid/name] [grund]");
    if(!IsPlayerConnected(pID))return SCM(playerid,COLOR_GRAU,"Info: Der Spieler ist zurzeit nicht Online!");
    format(string,128,"Info: %s wurde von %s gebannt, Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SCMToAll(COLOR_ROT,string);
    SCM(pID,COLOR_ROT,"Du wurdest soeben Gebannt.");
    SCM(pID,COLOR_ROT,"Sollte das ein nicht gültiger ban gewesen sein, wende dich bitte an den Admin der dich gebannt hat oder an ein High Admin.");
    SetPVarInt(playerid,"Ban",1);
    Kick(pID);
    return 1;
    }


    ocmd:veh(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SCM(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt.");
    if(GetPVarInt(playerid,"Adminlevel") <1)return SCM(playerid,COLOR_GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new vID, color1,color2,string[128];
    if(sscanf(params,"iii",vID,color1,color2))return SCM(playerid,COLOR_GRAU,"Info: /veh [vehicleID] [color1] [color2]");
    if(IsPlayerInAnyVehicle(playerid))return SCM(playerid,COLOR_GRAU,"Du bist in einem Fahrzeug, du darfst diesen Befehl nicht ausführen!");
    if(vID <400 || vID >611)return SCM(playerid,COLOR_GRAU,"Bitte wähle ein Fahrzeug zwischen 400-611");
    if(color1 <0 || color1 >255)return SCM(playerid,COLOR_GRAU,"Wähle eine Farbe zwischen 0-255 aus.");
    if(color2 <0 || color2 >255)return SCM(playerid,COLOR_GRAU,"Wähle eine Farbe zwischen 0-255 aus.");
    new Float:x,Float:y,Float:z,Float:r;
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,r);
    new cv = CreateVehicle(vID, x,y,z, r,color1,color2, -1);
    format(string,128,"Du hast dir das Fahrzeug mit der ID %d erstellt.",vID);
    SCM(playerid,COLOR_BLAU,string);
    SCM(playerid,COLOR_GRAU,"Benutze '/dveh' um das Fahrzeug zu löschen.");
    PutPlayerInVehicle(playerid,cv,0);
    return 1;
    }


    ocmd:dveh(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SCM(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt.");
    if(GetPVarInt(playerid,"Adminlevel") <1)return SCM(playerid,COLOR_GRAU,"Du bist nicht befugt diesen Befehl zu nutzen!");
    new vID = GetPlayerVehicleID(playerid);
    if(!IsPlayerInAnyVehicle(playerid))return SCM(playerid,COLOR_GRAU,"Du bist in kein Fahrzeug!");
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SCM(playerid,COLOR_GRAU,"Du bist nicht der Fahrer dieses Fahrzeuges!");
    new string[128];
    format(string,128,"Du hast das Fahrzeug mit der ID %d gelöscht.",vID);
    SCM(playerid,COLOR_GRAU,string);
    DestroyVehicle(vID);
    return 1;
    }[/pwn]

  • Ehh....versuch es mal so.


    ocmd:makeadmin(playerid,params[])
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SCM(playerid,COLOR_GRAU,"Du bist nicht Eingeloggt.");
    if(!IsPlayerAdmin(playerid))return SCM(playerid,COLOR_GRAU,"Melde dich bitte als RCON-Admin an.");
    new pID,alevel,string[128];
    if(sscanf(params,"ui",pID,alevel))return SCM(playerid,COLOR_GRAU,"Info: /makeadmin [playerid/name] [adminlevel(0-8)]");
    if(!IsPlayerConnected(pID))return SCM(playerid,COLOR_GRAU,"Info: Der angegebene Spieler ist zurzeit nicht Online.");
    if(alevel <0 || alevel >8)return SCM(playerid,COLOR_GRAU,"Bitte wähle ein Adminlevel zwischen 0-8");
    if(alevel == 0)
    {
    SetPVarInt(pID,"Adminlevel",0);
    format(string,128,"Admin %s hat dir deine Adminrechte komplett entzogen. Adminlevel: %d",SpielerName(playerid),alevel);
    SCM(pID,COLOR_BLAU,string);
    format(string,128,"Du hast %s die Adminrechte entzogen. (Adminlevel: %d)",SpielerName(pID),alevel);
    SCM(playerid,COLOR_BLAU,string);
    return 1;
    }
    format(string,128,"Admin %s hat dir das Adminlevel %d vergeben.",SpielerName(playerid),alevel);
    SCM(pID,COLOR_BLAU,string);
    format(string,128,"Du hast %s das Adminlevel %d gegeben.",SpielerName(pID),alevel);
    SCM(pID,COLOR_BLAU,string);
    SetPVarInt(pID,"Adminlevel",alevel);
    printf("Admin: %s | pID: %s | Adminlevel vergeben: %d",SpielerName(playerid),SpielerName(pID),alevel);
    return 1;
    }