[Ajuda] Anti flood
#1

Tou tendo um problema bem chato no meu servidor galera eu botei um comando jб faz tempo para os admins no servidor para eles botarem mъsica aн os fdp fica botando uma atrбs da outra e a galera sai aн eu fiz um anti flood para esse CMD nгo tem muito certo, o que posso fazer? eu tinha colocado para 5 minutos a cada mъsica de intervalo sу que assim eu quero que isso seja vбlido para todos e esse 5 minutos ta indo sу pra quem usou o CMD exemplo eu quero que seja assim se eu usei o CMD agora sу daqui a 5 minutos alguйm poderб usar, e o que estб acontecendo й assim eu uso o CMD agora e nгo posso usar durante 5 minutos mas outros podem usar
Reply
#2

Код:
new MusicCMDTime;

CMD:teste(playerid)
{
	if(gettime() - MusicCMDTime < 300) return SendClientMessage(playerid, -1, "| ERRO | Aguarde 5 minutos para usar este comando");
	SendClientMessage(playerid, -1, "Comando executado");
	MusicCMDTime = gettime();
	return 1;
}
Reply
#3

new bool:kk[MAX_PLAYERS] = false;
// Comando em zcmd
CMD:kk(playerid)
{
if(kk[playerid] == true) return SendClientMessage( playerid, -1, "| ERRO | Aguarde 5 minutos nй mano!");
SendClientMessage(playerid, -1, "kk");
kk[playerid] = true;
SetTimerEx("k", 300000, false, "i", playerid);
// em strcmp
if(strcmp(cmdtext, "/kk", true) ==0)
{
if(kk[playerid] == true) return SendClientMessage( playerid, -1, "| ERRO | Aguarde 5 minutos nй mano!");
SendClientMessage(playerid, -1, "| INFO | Mъsica sendo executada!");
kk[playerid] = true;
SetTimerEx("k", 300000, false, "i", playerid);
// fim do gm . k
forward k(playerid);
public k(playerid)
{
kk[playerid] = false;
return 1;
}
Se tiver um erro, me fala ae
Reply
#4

Quote:
Originally Posted by RodrigoMSR
Посмотреть сообщение
Код:
new MusicCMDTime;

CMD:teste(playerid)
{
	if(gettime() - MusicCMDTime < 300) return SendClientMessage(playerid, -1, "| ERRO | Aguarde 5 minutos para usar este comando");
	SendClientMessage(playerid, -1, "Comando executado");
	MusicCMDTime = gettime();
	return 1;
}
Valeu funcionou
Quote:
Originally Posted by GuiKommander
Посмотреть сообщение
new bool:kk[MAX_PLAYERS] = false;
// Comando em zcmd
CMD:kk(playerid)
{
if(kk[playerid] == true) return SendClientMessage( playerid, -1, "| ERRO | Aguarde 5 minutos nй mano!");
SendClientMessage(playerid, -1, "kk");
kk[playerid] = true;
SetTimerEx("k", 300000, false, "i", playerid);
// em strcmp
if(strcmp(cmdtext, "/kk", true) ==0)
{
if(kk[playerid] == true) return SendClientMessage( playerid, -1, "| ERRO | Aguarde 5 minutos nй mano!");
SendClientMessage(playerid, -1, "| INFO | Mъsica sendo executada!");
kk[playerid] = true;
SetTimerEx("k", 300000, false, "i", playerid);
// fim do gm . k
forward k(playerid);
public k(playerid)
{
kk[playerid] = false;
return 1;
}
Se tiver um erro, me fala ae
Nгo sei se funciona mano mбs acho que funciona sim pelo o que eu entendi dele ele limita o uso do comando й igual o anti flood obrigado tambйm
Reply
#5

De modo mais simples seria criar uma Variavel que armazenaria o ultimo CMD digitado, de forma que toda vez que algum comando fosse digitado pelo player verificaria se seria o mesmo armazenado na variavel.
Getando uma mensagem avisando o mesmo para parar com o flood e retornando a 1.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)