[FilterScript] Sistema AntFlood (GetTickCount)
#1

Й um simples sistema Ant-Flood feito em GetTickCount fiz porque eu vi gente querendo no tуpico do garfield:

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(playeridtext[])
{
    if(
GetTickCount() - UltimoComando[playerid] < TempoFlood*1000){SendClientMessageToAll(0x714693AA," Espere um tempo antes de falar denovo");return 0;}
    else 
UltimoComando[playerid] = GetTickCount();
    return 
1;

Versгo 2.0:
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(playeridtext[])
{
    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), MensagemFloodAvisosTotais[playerid], AvisosAntesDoKick);
        
SendClientMessage(playerid0x714693AAStringFlood);
          
TempoPrimeiroAviso[playerid] = GetTickCount();
        if(
AvisosTotais[playerid] == AvisosAntesDoKick)
        {
            
SendClientMessage(playerid0x714693AA," Vocк foi kickado por ter exedido o limite maximo de avisos por flood!");
            
Kick(playerid);
        }
        return 
0;
    }
    else 
UltimoComando[playerid] = GetTickCount();
    return 
1;

Creditos:
Gustavo(hiuship) por tudo.
Vinibor: me explico como funcionava certinho o GetTickCount :P.
Reply
#2

Poste em Codigos Uteis isso mais VLW>
Reply
#3

Legal mais como ele disse em codigos uteis seria melhor !
Reply
#4

Quote:
Originally Posted by Caio_Freeze
Посмотреть сообщение
Poste em Codigos Uteis isso mais VLW>
concordo....
Reply
#5

Cara, nгo da pra chamar isso de FilterScript.
Antes tive-se postado Aqui
Reply
#6

Nao postei em codigos uteis pq ninguem entra... (poucos)

Eu sou um deles... se um noob visita o forum ele nao vai la ver...
Reply
#7

entгo tranforme esse codigo util em fs ai sim vc devera postar aqui isso й regra do forum ;>
Reply
#8

ok.... jaja posto =z
Reply
#9

Bem legal xD
Reply
#10

Verзгo 2.0 agora com opзгo de kick por muito flood!
Testado e sem bugs!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)