Problem mit Kick Befehl

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
  • Ich hoffe ich bin hier richtig und habe beim googlen nichts übersehen...
    zumindenst habe ich seit einigen tagen ein Problem...


    Wenn ich /kick id grund eingebe wird die ausgesuchte person gekickt jedoch zeigt er keine Nachricht an die an alle geht...


    ocmd:kick(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin oder dein Admin Rang ist zu niedrig.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GRAU,"/kick [id] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    Kick(pID);
    return 1;
    }


    Es zeigt mir so keinen fehler an läuft ja auch alles bis auf das die nachricht nicht angezeigt wird...
    ich hoffe mir kann einer helfen oder auf ein Thema verlinken wo die Antwort steht vielleicht hab ich ja wie gesagt was bei der fehler suche übersehen...


    ich danke schon mal im vorraus :)


  • Hast du 0.3e oder 0.3x?

    MfG SkrilLinux


    Ich habe euch erfolgreich geholfen?
    -Dann wäre es nett wenn ihr 1x auf Bedanken klickt :)

  • Ja ROT ist ROT die Farbe hab ich schon richtig :D also liegt das ganze nur an der neuen Version...
    dann weis ich bescheid mit dem Timer krieg ich das schon hin denke ich :D


    Danke für die schnelle Antwort :)


    EDIT:ja hab die 0.3x

  • mach mal so:
    ocmd:kick(playerid,params[])

    {
    if(!isPlayerAnAdmin(playerid,1))//anpassenreturn SendClientMessage(playerid,ROT,"You are not admin lvl 1");//anpassen
    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;
    }


    //edit oh da fällt mir gerade auf dass du das gleich hast

  • Mach das so:


    ocmd:kick(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin oder dein Admin Rang ist zu niedrig.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,GRAU,"/kick [id] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    SetTimer("KickTimer",500,0);
    return 1;
    }


    Und Unten:


    forward KickTimer(pID);
    public KickTimer(pID);
    {
    kick(pID);
    }



  • SetTimer gibt keine Werte weiter von daher wird der versuch nicht Funktionieren
    Du wirst immer den mit der id 0 Kicken so viel steht fest
    Richtig währe es so
    SetTimerEx("KickTimer",500,0,"d",playerid);

    All in all it's just another brick in the wall