Adminsystem failt

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
  • Hey.


    Ich habe ganz unten ein Stock erstellt:
    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
    return 0;
    }


    Jetzt habe ich paar Befehle, die für Admins gedacht sind, wie zum Beispiel /gotols.
    Ich will, das man ab Admin Rang 3 den Befehl ausführen kann. Ich mache es so:


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    if(strcmp(cmdtext,"/gotolspd",true)==0)
    {
    SetPlayerPos(playerid,1513.2593,-1694.5183,14.0469);
    SendClientMessage(playerid,ROT,"AdmCmd: Du hast dich zum LSPD geportet. Nutze dies nicht aus.");
    return 1;
    }


    Wenn ich compile, Server neustarte und z.B /dfujsnfihdskhnigudhuifd eingebe, steht, das ich kein Admin sei...
    Nehme ich jedoch die Adminabfrage bei /gotols & /gotobsn raus, funktioniert es..


    Bei OCMD Befehle (/kick,/ban) funktioniert es einwandfrei..
    Woran liegt es?


    Dabei hätte ich noch eine Frage.
    Wie mache ich es, das wenn ich z.B ein Befehl eingebe, den es nicht gibt, das dort automatisch erscheint, das dieser Befehl nicht existiert?


    Ich hoffe, ihr könnt mir helfen. ;)


    Mit Freundlichen Grüßen,
    Tony_Jaa :)


  • if(strcmp(cmdtext,"/gotolspd",true)==0)
    {
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    SetPlayerPos(playerid,1513.2593,-1694.5183,14.0469);
    SendClientMessage(playerid,ROT,"AdmCmd: Du hast dich zum LSPD geportet. Nutze dies nicht aus.");
    return 1;
    }

  • Hey.
    Wie mache ich es, das wenn ich z.B ein Befehl eingebe, den es nicht gibt, das dort automatisch erscheint, das dieser Befehl nicht existiert?


    Unter OnPlayerCommand returnst du unter der vorletzten Klammer den Text der erscheinen soll..sprich, wenn OPCT den Wert 0 zurück gibt = unknown command
    }
    return SendClientMessage(..
    }
    PS: Um noch mal auf dein Fehler einzugehen, dein Fehler war der, das du vor Eingabe des Befehls überprüfst, ob der Spier Admin ist.
    So sin ALLE Befehle nur für Admins. Die Abfragen gehörten in den Command und nicht in's Pubic für die allgemeine Funktion.

    KleineHilfe 2.0