Ban Bug [REP+]
#1

Today I faced a bug with Ban System when I am trying to ban a player, the player is only geting kicked and then he is able to join again in server with the same name without chaning his IP

Can anyone tell me what is wrong and what can I do to fix it?
Reply
#2

Post the code
Reply
#3

Make use of this:
pawn Код:
ban(playerid);
Reply
#4

the command is this

pawn Код:
CMD:ban(playerid, params[])
{
    LoginCheck(playerid);
    if(User[playerid][accountAdmin] >= 2)
    {
        new
            string[150],
            id,
            reason[128],
            when[128],
            ban_hr, ban_min, ban_sec, ban_month, ban_days, ban_years
        ;

        gettime(ban_hr, ban_min, ban_sec);
        getdate(ban_years, ban_month, ban_days);

        if(sscanf(params, "us[128]", id, reason)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /ban [playerid] [reason]");
        if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "» "red"Player not connected.");
        if(User[playerid][accountAdmin] < User[id][accountAdmin])
        {
            SendClientMessage(playerid, -1, "» "red"You cannot use this command on high ranking admin.");
            format(string, sizeof(string), "[NOTIFY] "white"%s has attempted to banned you with the reason %s.", GetName(playerid), reason);
            SendClientMessage(id, COLOR_ORANGE, string);

            format(string, sizeof(string), "%s has attempted to banned %s but failed for %s", GetName(playerid), GetName(id), reason);
            Log("admin.txt", string);
            return 1;
        }

        format(when, 128, "%02d/%02d/%d %02d:%02d:%02d", ban_month, ban_days, ban_years, ban_hr, ban_min, ban_sec);

        format(sInfo[last_bperson], 256, "%s", GetName(id));
        format(sInfo[last_bwho], 256, "%s", reason);
        savestatistics();

        AddBan(User[id][accountIP], 1);
        BanAcc(id, GetName(playerid), reason);
        ShowBan(id, GetName(playerid), reason, when);

        format(string, sizeof(string), "[BANNED] "white"%s has been banned by an admin for "grey"%s"white".", GetName(id), reason);
        SendPlayerMessage(COLOR_RED, string);
        format(string, sizeof(string), "[BANNED] "white"%s has been banned by %s for "grey"%s"white".", GetName(id), GetName(playerid), reason);
        SendAMessage(COLOR_RED, string);
        format(string, sizeof(string), "[BANNED] %s has been banned by %s for %s.", GetName(id), GetName(playerid), reason);
        Log("ban.txt", string);

        KickDelay(id);
    }
    else
    {
        SendClientMessage(playerid, -1, "» "red"You are not authorized to use this command.");
    }
    return 1;
}
Reply
#5

bump
Reply
#6

Do you have a code under OnPlayerConnect to check weather the player is banned or not?
Reply
#7

Yes I have

pawn Код:
if(CheckBan(User[playerid][accountIP]) == 1)
    {
        SendClientMessage(playerid, -1, "If you think this is bugged try to relog, or contact a high ranking admin about this issue.");
        SendClientMessage(playerid, COLOR_RED, "[BANNED] "white"You are banned from this server, Server has matched your IP from one of our banned IP.");

        format(string, sizeof(string), "%s has connected to the server, Got banned having a matched ip from ban.cfg", GetName(playerid));
        Log("finn.txt", string);

        KickDelay(playerid);
        return 1;
    }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)