Criando um ant flood simples -
zSuYaNw - 22.01.2011
Criando um anti flood simples
Introduзгo:
Para este tutorial, devemos entender oque й SPAM e oque й FLOOD. Sгo duas palavras muitos diferentes porйm com uma semelhanзa, vamos ver:
Oque й SPAM?
Код:
Spam й um termo de origem inglesa cujo significado designa uma mensagem eletrфnica
recebida mas nгo solicitada pelo usuбrio. O conteъdo de um spam й normalmente uma
mensagem publicitбria que tem o objetivo de divulgar os serviзos ou produtos de alguma
empresa a uma grande massa de usuбrios de e-mail.
fonte:
www.significados.com.br/spam/
Oque й FLOOD?
Код:
“Flood” й um termo em inglкs que significa “encher” ou “inundar”, mas na internet ele
usado para designar uma atitude bem irritante. Virtualmente, a palavra virou uma
expressгo para definir o ato de postar informaзхes sem sentido ou finalidade nenhuma,
de modo que uma ou mais pessoas sejam prejudicadas.
fonte:
http://www.tecmundo.com.br/o-que-e/8...e-e-flood-.htm
A semelhanзa entre esses dois й que sгo muitas mensagens em um curto tempo e que muitas vezes podem sobrecarregar o servidor, um exemplo mais prбtico й um ataque DDoS que й um ataque de floood aonde o
hacker envia vбrios pacotes invбlidos para o servidor e quando esses pacotes chegam no servidor eles sгo negados um pequeno exemplo:
Como vocк pode notar, no lado esquerdo estб a terra representando o cliente e no lado direito o servidor. Quando vбrios clientes enviam seus pacotes no servidor tudo fica normal, porйm quando alguns clientes enviam muito mais de um pacote para um ъnico servidor acarreta e sobrecarrega o servidor. Mas nosso tutorial nгo й sobre ataque DDoS e sim Antispam/Antiflood.
Precisaremos saber tambйm, oque й timestamp:
Код:
O timestamp do unix corresponde ao nъmero de segundos desde a meia-noite do dia 01/01/1970
no fuso horбrio UTC sem considerar os segundos bissextos. Para simplificar, vamos denominar
este momento no tempo de ponto zero. Assim, o timestamp do unix й o nъmero de segundos
desde o ponto zero.
fonte
http://pt.stackoverflow.com/question...o-do-timestamp
Tutorial:
Agora que sabemos oque й SPAM e oque й FLOOD vamos iniciar nosso tutorial. Primeiramente precisamos de uma variбvel que armazenarб os dados de cada jogador, para ter maior controle sobre o sistema.. Vamos cria-la com o nome Spamming, Essa variбvel armazenarб o timestamp do jogador
PHP код:
new Spamming[MAX_PLAYERS];
Apуs criar nossa variбvel, precisamos criar nosso algoritimo em que faz a verificaзгo para saber se o jogador realizou flood ou spam:
PHP код:
if((gettime() - Spamming[playerid]) <= 2 && Spamming[playerid])
{
return SendClientMessage(playerid, -1, "[Erro]: Sistema anti Spam/Flood");
}
Spamming[playerid] = gettime();
Й um algorнtimo um pouco complexo para novatos mas irei explicar como funciona, quando o player digita algum comando ele verifica na condiзгo se a variбvel Spamming for diferente de 0 e o timestamp atual subtraнdo pelo timestamp salvo na variбvel Spamming for menor ou igual a 2 significa que o jogador estб fazendo SPAM. Caso o jogador nгo estiver fazendo SPAM, ele armazena na variбvel Spamming o timestamp atual.
PHP код:
/*
Na condiзгo a seguir, й realizado uma verificaзгo para saber se a variбvel Spamming й diferente de 0
e tambйm para saber se o timestamp atual subtraнdo pelo timestamp da ъltima vez que ele digitou algum comando
й menor ou igual a 2. Caso for menor ou igual a 2 ele manda a mensagem.
*/
if((gettime() - Spamming[playerid]) <= 2 && Spamming[playerid])
{
// Mensagem informando que o jogador cometeu SPAM:
return SendClientMessage(playerid, -1, "[Erro]: Sistema anti Spam/Flood");
}
/*
Caso fizer mais que 2 segundos que o jogador digitou algum comando, ele apenas armazena o timestamp
na variбvel Spamming.
*/
Spamming[playerid] = gettime();
Este й um exemplo muito simples, envolve mais questгo de lуgica do que de funзхes. Lembrando que vocк pode utilizar este anti-spam/anti-flood em qualquer parte do seu gamemode:
Caso vocк use ZCMD ou Y_CMD
PHP код:
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if((gettime() - Spamming[playerid]) <= 2 && Spamming[playerid])
{
return SendClientMessage(playerid, -1, "[Erro]: Sistema anti Spam/Flood");
}
Spamming[playerid] = gettime();
return 1;
}
Em STRCMP
PHP код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if((gettime() - Spamming[playerid]) <= 2 && Spamming[playerid])
{
return SendClientMessage(playerid, -1, "[Erro]: Sistema anti Spam/Flood");
}
Spamming[playerid] = gettime();
return 1;
}
Crйditos:
- zSuYaNw @ 2016
Re: Criando um ant flood Simples; -
[BVE]Lucas_Locate - 22.01.2011
Boa Garfield Gostei eu estava procurando ant flood
vlw
Re: Criando um ant flood Simples; -
Trinix_PoS [Bizu] - 22.01.2011
boa Garfield
Re: Criando um ant flood Simples; -
PsyShotter - 22.01.2011
Bom...
@OFF:
Vou indicar para o governador do Rio de Janeiro...
Nгo entendeu??
http://translate.******.com/#auto|pt|flood
Re: Criando um ant flood Simples; -
Ryan_Howllet - 22.01.2011
Boa.
Mas nгo й o mais ideal, ele utiliza timer, e jб й possivel fazer um Anti Flood sem timer.
Re: Criando um ant flood Simples; -
[BVE]Lucas_Locate - 22.01.2011
Quote:
Originally Posted by Ryan_Howllet
Boa.
Mas nгo й o mais ideal, ele utiliza timer, e jб й possivel fazer um Anti Flood sem timer.
|
Й mais cada um com seu gosto com seu COD
Re: Criando um ant flood Simples; -
Ryan_Howllet - 22.01.2011
Quote:
Originally Posted by [BVE]Lucas_Locate
Й mais cada um com seu gosto com seu COD
|
Bom, entгo essa mensagem se aplica a vocк e nгo a mim, porque eu falei 'Bom' (Quis elogiar o tutorial, atй porque o Gato faz tutoriais muito bons) e apenas 'returnei' a minha opiniгo.
Re: Criando um ant flood Simples; -
Xapita_Halls - 22.01.2011
Legal
Re: Criando um ant flood Simples; -
Trinix_PoS [Bizu] - 22.01.2011
kkkkkkkkkkkkkkk
Re: Criando um ant flood Simples; -
zSuYaNw - 22.01.2011
vou criar um ant flood sem timer.
Aguarde. . .
Obrigado a todos!