Primeiramente você introduza no topo:
Criaremos um enumarador com seguintes parâmetros:
Criaremos um enumarador com seguintes parâmetros:
enum { bool:Floodo, Flooding } new Flooder[MAX_PLAYERS][fInfo];
public OnPlayerText(playerid, text[]) { Flood[playerid][Flooding]++; if(Flood[playerid][Flooding] == MAX_FLOOD_LIMIT) { if(Adminstracao[playerid][pNivel] < 1) { if(Flood[playerid][Floodo] == true) { static string[128], Nome_Play[MAX_PLAYER_NAME]; Flood[playerid][Floodo] = false; GetPlayerName(GivePlayerid, Nome_Play, sizeof(Nome_Play)); format(string, sizeof(string),"[INFO]: %s[ID:%i] Foi Kickado do servidor pelo adminstrador: Both:%s, Motivo: Flood Exessivo de mensagens.", Nome_Play,playerid, NomeBoth); SendClientMessageToAll(Amarelo, string); Kick(playerid); } SendClientMessage(playerid, Vermelho,"[INFO]: Sistema Ant - Flood, Aguarde alguns segundos, ou será kickado!."); Flood[playerid][Floodo] = true; Flood[playerid][Flooding] = 0; SetTimerEx("Liberar",5000,false,"d",playerid); return false; } } return true; }
public Liberar(playerid) { Flood[playerid][Floodo] = false; Flood[playerid][Flooding] = 0; return false; }
Explicação
Flood[playerid][Flooding]++;
Fica Adicionando no enumerador Sempre +1 ( Flood[playerid][Flooding]+1 )if(Flood[playerid][Flooding] == 3)
Quanto o Enumerador [Flooding] for igual a 3 ele começa a executar o comando.Adminstracao[playerid][pNivel] < 1)
Se não for admin ele continua....static string[128], Nome_Play[MAX_PLAYER_NAME];
Cria as variáveisFlood[playerid][Floodo] == true)
Checa se o player Floodou antes.Flood[playerid][Floodo] = false
Seta para FALSE, que é NÃOformat(....);
Formata a stringSendClientMessageToAll(Amarelo, string);
Manda Para todos.Kick(playerid);
Kicka o player.---
SendClientMessage(playerid, Vermelho,"[L.A.S]: Sistema Ant - Flood, Aguarde alguns segundos, ou será kickado!.");
Manda Mensagen para aguardar.Flood[playerid][Floodo] = true;
seta que já flodou antes.Flood[playerid][Flooding] = 0;
Seta para 0 a acontagemSetTimerEx("Liberar",5000,false,"d",playerid);
Lansa um timer para uma public.Flood[playerid][Floodo] = false;
Seta para FALSE quando acaba o tempoFlood[playerid][Flooding] = 0;
Seta o Flooding para 0.Créditos:
[FeK]Garfield
[FeK]Squad
< a Flechinha também. kkkk