/kick Befehl Problem (ocmd)

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,


    ich habe ein Problem mit meinem Kick Befehl.
    Ich habe bereits die Suchfunktion benutzt und mir sehr viele Beiträge angeschaut aber keiner hat mir geholfen.
    Mein Problem ist: Wenn ich beispielsweise /kick 0 Test eingebe, steht nur im Chat: AdmCmd: wurde von Smokey gekickt. Grund:
    Dies passiert auch wenn ich ID 1 nehme, obwohl diese ID nicht mal online ist.


    Ich habe das Problem auch noch mal in einem Video aufgenommen:
    http://www.youtube.com/watch?v=5LWLsJheB6s&feature=youtu.be


    Hier mein /kick Befehl:
    ocmd:kick(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Du hast nicht das ausreichende Adminlevel.");
    new pID, reason[128], string[128];
    if(sscanf(params,"us[128]",pID,reason))return SendClientMessage(playerid,COLOR_RED,"Benutze: /kick [ID] Grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s.",Spielername(pID),Spielername(playerid),reason);
    SendClientMessageToAll(COLOR_RED,string);
    Kick(pID);
    return 1;
    }
    Ich hoffe mir kann jemand helfen meinen /kick Befehl funktionsfähig zu machen.


    Mit freundlichen Grüßen,
    Mr.Cro997

  • ocmd:kick(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du hast keine Rechte für diesen Befehl.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"/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;
    }
    Funktioniert musst du halt einfach in deine umändern!

  • Also insgesammt sieht es dann so aus


    ocmd:kick(playerid,params[])
    {
    new pID,string[128],grund[128];
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht connected!");
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,ROT,"Benutzung: /kick [ID] [Grund]");
    if(IstSpielerAdmin(playerid,1))
    {
    format(string,sizeof(string),"[AdmCmd] %s wurde von %s vom Server gefickt. Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SendClientMessageToAll(ROT,string);
    Kick(pID);
    FreezePlayer(pID);
    SpielerSpeichern(playerid);
    SpielerSpeichern(pID);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig");
    return 1;
    }
    return 1;
    }


    Musst nur deine Adminabfrage und die Farbe ändern

  • Wenn ich mache /kick 0 test kommt da: [AdmCmd] wurde von Smokey gekickt. Grund:
    Server unknown command.

  • Probiermal so:


    ocmd:kick(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Dein Adminlevel ist zu niedrig");
    new pID, reason[128],string[128];
    if(IsPlayerConnected(pID)) return SendClientMessage(playerid,ROT,"Der Spieler ist nicht online");
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,ROT,"/kick [ID] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",PlayerName(pID),PlayerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    Kick(pID);
    return 1;
    }

  • Ich Chat steht: Der Spieler ist nicht online.