Probleme mit /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
  • Hallo,


    ich habe mir mit ocmd eine /kick Befehl gebaut. Der Spieler wird auch gekickt, wenn man die nötigen Rechte besitzt, doch es wird keine Nachricht ausgegeben. Mein Code sieht so aus:
    ocmd:kick(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdmin] >= 1)
    {
    new pID,pIDname[128],grund[128],sender[128],stext[128],atext[128];
    if(sscanf(params,"is[128]",pID,grund))return SendClientMessage(playerid,COLOR_WHITE,"INFO: Verwende /kick [ID] [Grund]");
    GetPlayerName(playerid,sender,sizeof(sender));
    GetPlayerName(pID,pIDname,sizeof(pIDname));
    format(stext,sizeof(stext),"Du wurdest von %s gekickt. Grund: %s",sender,grund);
    format(atext,sizeof(atext),"%s wurde von %s gekickt. Grund: %s",pIDname,sender,grund);
    if(SpielerInfo[pID][pAdmin] > SpielerInfo[playerid][pAdmin])
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist nicht befugt diesen Spieler zu kicken!");
    }
    else
    {
    SendClientMessage(pID,COLOR_RED,stext);
    Kick(pID);
    SendClientMessage(MAX_PLAYERS,COLOR_RED,atext);
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Dazu bist du nicht befugt!");
    }
    return 1;
    }
    Ich hoffe mir kann jemand helfen. Eigendlich muss ja nur das korrigiert werden: SendClientMessage(pID,COLOR_RED,stext);
    Kick(pID);
    SendClientMessage(MAX_PLAYERS,COLOR_RED,atext)

  • So ungefähr meine ich das:
    ocmd:kick(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdmin] >= 1)
    {
    new pID,pIDname[128],grund[128],sender[128],stext[128],atext[128];
    if(sscanf(params,"is[128]",pID,grund))return SendClientMessage(playerid,COLOR_WHITE,"INFO: Verwende /kick [ID] [Grund]");
    GetPlayerName(playerid,sender,sizeof(sender));
    GetPlayerName(pID,pIDname,sizeof(pIDname));
    format(stext,sizeof(stext),"Du wurdest von %s gekickt. Grund: %s",sender,grund);
    format(atext,sizeof(atext),"%s wurde von %s gekickt. Grund: %s",pIDname,sender,grund);
    if(SpielerInfo[pID][pAdmin] > SpielerInfo[playerid][pAdmin])
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist nicht befugt diesen Spieler zu kicken!");
    }
    else
    {
    SendClientMessage(pID,COLOR_RED,stext);
    _Kick(pID);
    SendClientMessage(MAX_PLAYERS,COLOR_RED,atext);
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Dazu bist du nicht befugt!");
    }
    return 1;
    }
    forward _Kick(playerid);
    public _Kick(playerid) return SetTimerEx("KickPlayer",500,false,"i",playerid);
    forward KickPlayer(playerid);
    public KickPlayer(playerid) return Kick(playerid);