pawn Код:
#include <a_samp>
#include <utils>
#include <gl_common>
#define ColorFlood 0x24B1DBAA
#define TimerFlood 3500
#define AlertFlood 4
#define Banir   0
#define Kickar  1
#define COLOR_AZUL 0x0019FFFF
#define MSGPLAYER SendClientMessage
enum IPs
{
    IP[16],
    Option
};
new PlayerIP[][IPs] =
{
    {"201.50.20.80", Kickar},//Boob_PerfecT
    {"200.138.69.245", Kickar},//Spider_Man
    {"192.168.1.4", Kickar},//Sammy_Winchester
    {"5.83.150.194", Kickar}//Killer_Matador
};
new FloodAlert[MAX_PLAYERS],
    FloodTimer[MAX_PLAYERS];
forward RemoveFlood(playerid);
public OnFilterScriptInit()
{
    print(",    Filter Script    .");
    print("| Sistema Anti Flood Anti-IP|");
    print("`    By: Caio_Freeze    ґ");
    return 1;
}
public OnFilterScriptExit()
{
    print(",    Filter Script    .");
    print("| Sistema Anti Flood Anti-IP |");
    print("`    By: Caio_Freeze    ґ");
    return 1;
}
public OnPlayerConnect(playerid)
{
    new ip[16];
    GetPlayerIp(playerid, ip, 16);
    for(new i = 0; i < sizeof PlayerIP; i++)
    {
        if(strfind(ip, PlayerIP[i][IP], true) != -1)
        {
            if(strlen(ip) == strlen(PlayerIP[i][IP]))
            {
                if(PlayerIP[i][Option] == Banir)
                {
                    SendClientMessage(playerid, 0xFFFFFFFF, "** Vocк foi Banido(a) Pelo Sistema Anti-Hacker By: Caio_Freeze.");
                    Ban(playerid);
                }
                else if(PlayerIP[i][Option] == Kickar)
                {
                    SendClientMessage(playerid, 0xFFFFFFFF, "** Vocк foi Kickado(a) Pelo Sistema Anti-Hacker By: Caio_Freeze.");
                    Kick(playerid);
                }
                break;
            }
        }
    }
    FloodAlert[playerid] = 0; FloodTimer[playerid] = 0;
    SendClientMessage(playerid, ColorFlood, "[Anti-Flood] Este server Possui Anti-Flood!!");
    return 1;
}
new Nickname[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nickname[playerid], MAX_PLAYER_NAME);
if(strfind(Nickname[playerid], "[", true) != -1 || strfind(Nickname[playerid], "]", true) != -1)
{
    SendClientMessage(playerid, -1, "Seu Nick nгo deve conter Conchetes");
    Kick(playerid);
}
stock Nome(playerid)
{
    new Nome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Nome, sizeof(Nome));
    return Nome;
}
public OnPlayerText(playerid, text[])
{
    new string[126];
    KillTimer(FloodTimer[playerid]);
    FloodTimer[playerid] = SetTimerEx("RemoveFlood", TimerFlood, 0, "i", playerid);
    FloodAlert[playerid] ++;
    if(FloodAlert[playerid] > 1 && FloodAlert[playerid] < AlertFlood-1)
    {
        format(string, sizeof(string), "[Anti-Flood] Vocк tem {FFFF00}%d/%d{24B1DB} avisos.", FloodAlert[playerid], AlertFlood);
        SendClientMessage(playerid, ColorFlood, string);
    }
    if(FloodAlert[playerid] == AlertFlood-1)
    {
        format(string, sizeof(string), "[Anti-Flood] Vocк tem {FFFF00}%d/%d{24B1DB} avisos. Mais um e vocк serб Kickado.", FloodAlert[playerid], AlertFlood);
        SendClientMessage(playerid, ColorFlood, string);
    }
    if(FloodAlert[playerid] == AlertFlood)
    {
        format(string, sizeof(string), "[Anti-Flood] Vocк tem {FFFF00}%d/%d{24B1DB} avisos. Vocк foi Kickado.", FloodAlert[playerid], AlertFlood);
        SendClientMessage(playerid, ColorFlood, string);
        Kick(playerid);
        new pname[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname, sizeof(pname));
        format(string, sizeof(string), "[Anti-Flood] {FFFF00}%s{24B1DB} foi kickado por Flood.", pname);
        SendClientMessageToAll(ColorFlood, string);
        return 0;
    }
    return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    // New
    new comando[126],
        string[256],
        index,
        pname[MAX_PLAYER_NAME];
    // Comando
    comando = strtok(cmdtext, index);
    if(!strcmp("/resetarflood", comando, true))
    {
        // Nгo й Admin Rcon
        if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, ColorFlood, "[Anti-Flood] Vocк nгo й Admin RCON.");
        // New (Resposta)
        new resposta[MAX_PLAYER_NAME];
        resposta = strtok(cmdtext, index);
        // Sem Resposta
        if(!strlen(resposta)) return SendClientMessage(playerid, ColorFlood, "[Anti-Flood] /ResetarFlood [PlayerID/NOME]");
        // Definir Resposta Como Jogador
        new player = ReturnUser(resposta);
        // sizeof Nгo Conectado
        if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, ColorFlood, "[Anti-Flood] Jogador Nгo Conectado.");
        // Funзхes Do Player
        GetPlayerName(playerid, pname, sizeof(pname));
        format(string, sizeof(string), "[Anti-Flood] {FFFF00}%s{24B1DB} resetou o seu Flood.", pname);
        SendClientMessage(player, ColorFlood, string);
        FloodAlert[player] = 0;
        // Funзхes Do PlayerID
        GetPlayerName(player, pname, sizeof(pname));
        format(string, sizeof(string), "[Anti-Flood] Vocк resetou o Flood de {FFFF00}%s{24B1DB}.", pname);
        SendClientMessage(playerid, ColorFlood, string);
        return 1;
    }
    return 0;
}
public RemoveFlood(playerid)
{
    KillTimer(FloodTimer[playerid]);
    FloodAlert[playerid] = 0;
    return 1;
}