ocmd Kickbefehl mit Adminrang ausführen

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 Liebes Forum,
    da ich neu im ocmd bereich bin, kenne ich mich da noch nicht so gut aus.


    Ich möchte das bei diesem Kickbefehl machen:

    ocmd:kick(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,RED,"Du bist kein Admin.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GREY,"/kick [id] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ORANGE,string);
    Kick(pID);
    return 1;
    }


    So und jetzt ist meine frage wie ich ihn mit Adminrang 5 ausführen kann bisher kommt immer "Du bist Kein Admin".


    Ich habe auch schon den passenden stock für die Adminränge.


    Danke schonmal im vorraus!


    Mit freundlichen Grüßen,
    Homerx3

    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!


    Einmal editiert, zuletzt von Mausii ()

  • Ehm schon?


    Weißt du für was ein "!" steht?


    Für "nicht"


    Also auf Deutsch heißt der Satz dann:


    Code
    Wenn ein Spieler kein bzw. nicht ein Admin ist dann soll er eine Nachricht bekommen mit dem Inhalt "Du bist kein Admin"


    bei dir würde es heißen


    Code
    Wenn ein Spieler Admin ist, dann soll er eine Nachricht schicken mit "Du bist kein Admin"


    Somit müsste zudem das return SendClientMessage weg du Nase

  • Wenn du das von MrMOnat nimmst, dann kannst du dir das sparen


    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,RED,"Du bist kein Admin.");
    if(!isPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,RED,"Du bist kein Admin.");
    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,RED,"Du bist kein Admin.");

    Back to the roots!

  • @#Pwn. Auch mit Adminrang 5 oder 6 kommt du bist kein Admin ist irgendwas am stock falsch


    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
    return 0;
    }

    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!


  • stock IsPlayerAnAdmin(playerid,level)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=level)return 1;
    return 0;
    }



    So siehts bei mir aus , also kommt ganz drauf an was du unter Rang verstehst bzw. was Pawno unter Rang versteht versuch es mal mit level

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Lass einfach den stock weg xD ....


    *undschuldig pfeiffen [ FILTERSCRIPT ] PsyBan - Anfängerfreundlich


    //edit


    Andre


    Falsch! rank oder level sind in einer Computersprache immer anders definiert, weil er eventuell rank bereits im enum benutzt, oder auch level.


  • So würde meine Adminabfrage gehen



    if(strcmp("/money", cmdtext, true, 10) == 0)
    {
    if(PlayerInfo[playerid][AdminLevel] >= 5)
    {
    GivePlayerMoney(playerid,100000);
    SendClientMessage(playerid, GREY,"Du hast dir 100000$ geben [Nicht ausnutzen]");
    return 1;
    }
    }


    Aber das ist kein ocmd 8|

    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!


  • stock IsPlayerAnAdmin(playerid,level) {
    if(PlayerInfo[playerid][AdminLevel] >=level)
    return 1;
    return 0; }



    dann solls auch so heißen oO xD

  • Da kommt der Error
    error 036: empty statement


    Der Code:

    ocmd:kick(playerid,params[])
    {
    if(PlayerInfo[playerid][AdminLevel] >= 2);
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GREY,"/kick [id] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ORANGE,string);
    Kick(pID);
    return 1;
    }


    Die zeile wo der Fehler kommt:
    if(PlayerInfo[playerid][AdminLevel] >= 2);


    Was mach ich nur falsch ?(

    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!


  • if(PlayerInfo[playerid][AdminLevel] >= 2);


    //ohne


    if(PlayerInfo[playerid][AdminLevel] >= 2)

  • Wenn ich es so mache:


    ocmd:kick(playerid,params[])
    {
    if(PlayerInfo[playerid][AdminLevel] >= 2)
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GREY,"/kick [id] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ORANGE,string);
    Kick(pID);
    return 1;
    }


    Dann kommen diese Errors:

    C:\Users\Administrator\Desktop\Neuer Ordner (2)\gamemodes\CSS.pwn(1290) : error 003: declaration of a local variable must appear in a compound block
    C:\Users\Administrator\Desktop\Neuer Ordner (2)\gamemodes\CSS.pwn(1290) : error 017: undefined symbol "pID"
    C:\Users\Administrator\Desktop\Neuer Ordner (2)\gamemodes\CSS.pwn(1290) : warning 215: expression has no effect
    C:\Users\Administrator\Desktop\Neuer Ordner (2)\gamemodes\CSS.pwn(1290) : error 001: expected token: ";", but found "]"
    C:\Users\Administrator\Desktop\Neuer Ordner (2)\gamemodes\CSS.pwn(1290) : fatal error 107: too many error messages on one line


    1290 ist diese Zeile:
    new pID, reason[128],string[128];

    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!


  • new pID, reason[128],string[128];
    if(PlayerInfo[playerid][AdminLevel] >= 2);
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GREY,"/kick [id] [grund]");


    so hab ichs auch mal gemacht kommt aber immer noch der geleiche Error


    aber dies mal in dieser Zeile:
    if(PlayerInfo[playerid][AdminLevel] >= 2);

    Warum fällt immer die Wand um, wenn ein Mantafahrer dagegen fährt? - Der Klügere gibt nach!


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen