Anti flood -
nasser - 02.02.2017
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
Re: Anti flood -
RodrigoMSR - 02.02.2017
Код:
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;
}
Re: Anti flood -
GuiKommander - 02.02.2017
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
Re: Anti flood -
nasser - 02.02.2017
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
Re: Anti flood -
MorteAmerica - 03.02.2017
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.