[HILFE] Omcd:kick

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
  • Guten Morgen Community,


    ich habe irgendwie einen Fehler, den ich irgendwie nicht verstehe...
    Und zwar habe ich ein: Ocmd: Kick // erstellt


    ocmd:kick(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"[ERROR] Du bist kein Admin Rang 2!");
    {
    new pID, reason[128], string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"[ERROR] Eingeben: /kick [ID] [Grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",pSpielerName(pID),pSpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    Kick(pID);
    return 1;
    }
    }


    Und hier ist der Stock:
    stock pSpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    Und der Fehler ist: Wenn ich jemanden kicke, dann geht es ... Aber bei ihm steht nicht "Du wurdest von BlaBlaBla gekickt. Grund: BlaBla " Bei ihm steht nur "Server closed the Connection!" Und ich will nur das er es auch sieht, damit er ein besseren Überblick hat.
    Ich hoffe ihr wisst/kennt mein Fehler.


    Mit freundlichen Grüßen,

  • warum die ganzen klammern hier das ist bsser:

    ocmd:kick(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"You are not admin lvl 1");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/kick [id] [reason]");
    format(string,sizeof(string),"AdmCmd: %s has been kicked from admin %s Reason: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    Kick(pID);
    return 1;
    }

  • Probier es mal so ;)
    Ich bin mir nur gerade nicht sicher ob das mit dem Variablen "mitgeben" beim Timer so stimmt^^
    ocmd:kick(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"[ERROR] Du bist kein Admin Rang 2!");
    new pID, reason[128], string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"[ERROR] Eingeben: /kick [ID] [Grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",pSpielerName(pID),pSpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    SetTimerEx("KickTimer",500,false,"i",pID);
    return 1;
    }
    forward KickTimer(playerid);
    public KickTimer(playerid)
    {
    Kick(playerid);
    }