24.03.2012, 22:32
(
Последний раз редактировалось Hiuship; 25.03.2012 в 01:57.
)
Й um simples sistema Ant-Flood feito em GetTickCount fiz porque eu vi gente querendo no tуpico do garfield:
Versгo 2.0:
Creditos:
Gustavo(hiuship) por tudo.
Vinibor: me explico como funcionava certinho o GetTickCount :P.
PHP код:
#include <a_samp>
#define TempoFlood 5 // Em Segundos
new UltimoComando[MAX_PLAYERS];
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" FS Ant-Flood By Gustavo");
print("--------------------------------------\n");
return 1;
}
public OnPlayerText(playerid, text[])
{
if(GetTickCount() - UltimoComando[playerid] < TempoFlood*1000){SendClientMessageToAll(0x714693AA," Espere um tempo antes de falar denovo");return 0;}
else UltimoComando[playerid] = GetTickCount();
return 1;
}
PHP код:
#include <a_samp>
#define TempoFlood 4 // Em Segundos
#define AvisosAntesDoKick 4
#define TempoParaLimparAvisos 1 //Em Minutos, Tempo contado apos o ultimo aviso!
new UltimoComando[MAX_PLAYERS];
new AvisosTotais[MAX_PLAYERS];
new TempoPrimeiroAviso[MAX_PLAYERS];
public OnFilterScriptInit(){
print("\n--------------------------------------");
print(" FS Ant-Flood By Gustavo");
print("--------------------------------------\n");
return 1;
}// 1000 milisegundos = 1 segundo, 60000 milisegundos = 60 segundos/ 1 minuto
public OnPlayerText(playerid, text[])
{
if(GetTickCount() - UltimoComando[playerid] < TempoFlood*1000)
{
new MensagemFlood[]= "Vocк foi avisado por flood, (%d/%d avisos, se exeder serб kickado).", StringFlood[75];
if(TempoPrimeiroAviso[playerid] + TempoParaLimparAvisos*60000 >= GetTickCount()) return AvisosTotais[playerid] = 0;
AvisosTotais[playerid] ++;
format(StringFlood,sizeof(StringFlood), MensagemFlood, AvisosTotais[playerid], AvisosAntesDoKick);
SendClientMessage(playerid, 0x714693AA, StringFlood);
TempoPrimeiroAviso[playerid] = GetTickCount();
if(AvisosTotais[playerid] == AvisosAntesDoKick)
{
SendClientMessage(playerid, 0x714693AA," Vocк foi kickado por ter exedido o limite maximo de avisos por flood!");
Kick(playerid);
}
return 0;
}
else UltimoComando[playerid] = GetTickCount();
return 1;
}
Gustavo(hiuship) por tudo.
Vinibor: me explico como funcionava certinho o GetTickCount :P.