08.07.2013, 19:02
Bem, ultimamente, estou recebendo muitos atacks, inclusive um que o cara nгo chega nem entrar, apenas flooda no OnPlayerConnect.
Estou usando o maxips mesmo assim nгo adianta pois o id do cara continua o mesmo, ele loga mais de 10 vezes em menos de 1 segundo.
Entгo, queria saber se o code que eu fiz aqui seria funcional, to com medo de dar algum bug sйrio no servidor ._.
Caso alguйm saiba uma proteзгo lecal me fala ae por favor (y)'
Estou usando o maxips mesmo assim nгo adianta pois o id do cara continua o mesmo, ele loga mais de 10 vezes em menos de 1 segundo.
Entгo, queria saber se o code que eu fiz aqui seria funcional, to com medo de dar algum bug sйrio no servidor ._.
pawn Код:
#include a_samp
#undef MAX_PLAYERS
#define MAX_PLAYERS 110
public OnFilterScriptInit()
{
return 1;
}
enum Conex
{
IP[30],
Vezes,
Tick
}
new Flood[MAX_PLAYERS][Conex];
public OnPlayerConnect(playerid)
{
new pIP[30];
GetPlayerIp(playerid, pIP, 30);
if(strcmp(pIP, Flood[playerid][IP], false) == 0)
{
if(Flood[playerid][Vezes] > 1)
{
if(Flood[playerid][Tick] - GetTickCount() < 1000)
{
BanEx(playerid, "FlashLogin?");
Flood[playerid][Vezes] = 0;
Flood[playerid][Tick] = 0;
return 1;
}
}
}
format(Flood[playerid][IP], 30, pIP);
Flood[playerid][Tick] = GetTickCount();
Flood[playerid][Vezes]++;
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
Flood[playerid][Vezes]--;
if(Flood[playerid][Vezes] < 0)
Flood[playerid][Vezes] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
Flood[playerid][Vezes] = 0;
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
Flood[playerid][Vezes]--;
if(Flood[playerid][Vezes] < 0)
Flood[playerid][Vezes] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(reason != 0)
Flood[playerid][Vezes]--;
if(Flood[playerid][Vezes] < 0)
Flood[playerid][Vezes] = 0;
return 1;
}