[FilterScript] Anti Bot com verificador de nicks
#1

Como eu ando vendo que tem muita gente ainda pedindo anti bots fiz um bem simples.

Vocк pode adicionar nicks de bots a lista de nick completo ou nick parcial.

Vocк pode limitar as conexхes por IP tambйm.

pawn Код:
#include a_samp

const MAX_CON_PERM = 5;
const NENHUMA  = 0;
const BAN  = 1;
const KICK = 2;

enum eNick
{
    NickO[24],
    NickT[24],
    punicao,
};

static stock BotNickInteiro[][eNick] =
{
    // nick do bot   nick para trocar   punicao
    { "aux",            "[bot]",        KICK},
    { "con",            "[bot]",        KICK }
};

static stock BotNickParcial[][eNick] =
{
// nick parcial do bot  nick para trocar  punicao
    { "niex",           "[bot]",        KICK },
    { "botz",           "[bot]",        KICK }
};

public OnPlayerConnect(playerid)
{
    new nick[24], ip[30];

    GetPlayerName(playerid, nick, sizeof nick);
    GetPlayerIp(playerid, ip, sizeof ip);

    for(new i = 0; i < sizeof BotNickInteiro; i++)
    {
        if(strcmp(nick, BotNickInteiro[i][NickO], true ) == 0)
        {
            printf("> Bot Detect: %s[%d] - %s", nick, playerid, ip);

            format(nick, sizeof(nick), "%s%d", BotNickInteiro[i][NickT], playerid);
            SetPlayerName(playerid, nick);
           
            if(BotNickInteiro[i][punicao] == KICK) Kick(playerid);
            else if(BotNickInteiro[i][punicao] == BAN) BanEx(playerid, "BOT");
            else if(BotNickInteiro[i][punicao] == NENHUMA) printf("> Nenhuma acao foi feita com o BOT: %s[%d] - %s", nick, playerid, ip);
        }
    }

    for(new i = 0; i < sizeof BotNickParcial; i++)
    {
        if(strfind(nick, BotNickParcial[i][NickO], true ) != -1)
        {
            printf("> Bot Detect: %s[%d] - %s", nick, playerid, ip);

            format(nick, sizeof(nick), "%s%d", BotNickParcial[i][NickT], playerid);
            SetPlayerName(playerid, nick);
           
            if(BotNickParcial[i][punicao] == KICK) Kick(playerid);
            else if(BotNickParcial[i][punicao] == BAN) BanEx(playerid, "BOT");
            else if(BotNickParcial[i][punicao] == NENHUMA) printf("> Nenhuma acao foi feita com o BOT: %s[%d] - %s", nick, playerid, ip);
        }
    }
   
    new ipget[30], ips;
   
    for(new i = 0;  i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        {
            GetPlayerIp(i, ipget, sizeof ipget);
            if(strcmp(ipget, ip, true) == 0)
            {
                ips++;
            }
        }
    }
   
    if(ips > MAX_CON_PERM)
    {
        printf("> Conexao excedida %s[%d] - %s", nick, playerid, ip);
        Kick(playerid);
    }
    return 1;
}
Reply


Messages In This Thread
Anti Bot com verificador de nicks - by Victor' - 26.07.2012, 00:51
Re: Anti Bot com verificador de nicks - by ipsBruno - 26.07.2012, 00:56
Re: Anti Bot com verificador de nicks - by paulor - 26.07.2012, 01:11
Re: Anti Bot com verificador de nicks - by leonardo1434 - 26.07.2012, 01:15
Re: Anti Bot com verificador de nicks - by ipsBruno - 26.07.2012, 01:17
Re: Anti Bot com verificador de nicks - by leonardo1434 - 26.07.2012, 01:20
Re: Anti Bot com verificador de nicks - by Victor' - 26.07.2012, 01:22
Re: Anti Bot com verificador de nicks - by leonardo1434 - 26.07.2012, 01:24
Re: Anti Bot com verificador de nicks - by ipsBruno - 26.07.2012, 01:26
Re: Anti Bot com verificador de nicks - by Roquee - 04.05.2014, 03:18

Forum Jump:


Users browsing this thread: 1 Guest(s)