[HILFE] Bei Ban folgt kein 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.
    Also mein Problem ist folgendes:
    Ich habe vorhin all meine Befehle getestet. Da viel mir auf das /ban nicht richtig funktioniert.
    Mein /ban befehl:


    COMMAND:ban(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,4))return SendClientMessage(playerid,COLOR_GREY,"Du bist kein Admin.");
    new pID, reason[128], string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid, COLOR_GREY, "Benutze: /ban [ID] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GREY,"Dieser Spieler ist nicht connected.");
    format(string,sizeof(string),"[ADMCMD]: %s wurde von Admin %s gebannt! Grund: %s", SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(COLOR_ADMCMD,string);
    SetPVarInt(pID,"Banned",1);
    SetPVarInt(pID,"Muted",1);
    new y, m, d;
    new h,mi,s;
    new string3[128];
    new sendername[MAX_PLAYER_NAME];
    getdate(y,m,d);
    gettime(h,mi,s);
    GetPlayerName(playerid,sendername,sizeof(sendername));
    format(string3,sizeof(string3), "(%d/%d/%d)[%d:%d:%d] (Ban) %s bannt %s ! Grund: %s",d,m,y,h,mi,s,sendername,SpielerName(pID),reason);
    AdminLog(string3);
    TogglePlayerControllable(pID,0);
    GameTextForPlayer(pID,"~r~~n~Du wurdest gebannt", 1000*60, 4);
    SetTimerEx("KickPlayerOut",1000,false,"d",playerid);
    return 1;
    }


    funktioniert eigentlich einwandfrei. Spieler wird gekickt und in der Spieler.txt steht hinter Banned eine 1 (So wie ich es wollte ^^)
    Aber beim Connecten:
    LoadAccount(playerid);
    if(GetPVarInt(playerid,"Banned")==1)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED,"|______________________________________Du bist Gebannt______________________________________|");
    SendClientMessage(playerid, COLOR_LIGHTRED," Dieser Account wurde von einem Administrator gebannt! ");
    SendClientMessage(playerid, COLOR_LIGHTRED,"|___________________________________________________________________________________________|");
    Kick(playerid);
    }


    Kommt nur die Nachrichten, also die SendClientMessage'. Aber der spieler wird nicht gekickt. Im gegenteil: Der Server versucht zu restarten und die Nachrichten erscheinen neu.

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []

  • Versuch mal



    if(GetPVarInt(playerid,"Banned")==1)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED," ");
    SendClientMessage(playerid, COLOR_LIGHTRED,"|______________________________________Du bist Gebannt______________________________________|");
    SendClientMessage(playerid, COLOR_LIGHTRED," Dieser Account wurde von einem Administrator gebannt! ");
    SendClientMessage(playerid, COLOR_LIGHTRED,"|___________________________________________________________________________________________|");
    Kick(playerid);
    }
    else
    {
    LoadAccount(playerid);
    }

  • oben bei deinem ban befehl muss einfach vor das return 1 ein Kick(playerid);


    ^^
    sonst geht es ja normal weiter..


    wäre auch nur logisch :D


    Das
    Kick(playerid); fehlt?


    Nein da hab ich mein public Kickplayerout ^^
    also:
    forward KickPlayerOut(playerid);
    public KickPlayerOut(playerid)
    {
    Kick(playerid);
    return 1;
    }




    Und das von xSpeciiaL funktioniert nicht :(

    Spoiler anzeigen
    10 Beiträge [X]
    50 Beiträge [X]
    100 Beiträge [X]
    150 Beiträge [X]
    200 Beiträge [X]
    250 Beiträge [X]
    300 Beiträge [X]
    350 Beiträge [X]
    400 Beiträge [X]
    450 Beiträge [X]
    500 Beiträge [X]
    550 Beiträge []
    600 Beiträge []
    650 Beiträge []
    700 Beiträge []
    750 Beiträge []