[Ajuda] Como faзo para limitar o comando por um tempo.
#1

Tipo quando o player desse /duvida uma a e fosse usar /duvida em menos de 30 segundos mostra-se uma string dizendo que ele deve esperar 30 segundos.
Reply
#2

Cara, em uma ъnica pesquisa eu encontrei cerca de 3 tуpicos referentes a isso.
Inclusive no rodapй...
Reply
#3

No Meu Gamemode Uso Isso Para Fazer o Player Esperar 2 Minutos :

Quote:

if(Tempos[playerid] > gettime()) return SendClientMessage(playerid, -1, "{ff0000}Vocк jб solicitou um Mecanico aguarde alguns minutos!");
Tempos[playerid] = gettime() + 60*2;

(No Meu Caso Uso Na Profissao Mecanico (Gm PCC_TRUKING) )
Reply
#4

Vocк pode usar assim:
Coloque no topo:
PHP код:
new Tempo[MAX_PLAYERS]; 
e no comando ou callback
PHP код:
    if((gettime() - Tempo[playerid]) < && Tempo[playerid]) {
       
       
//
       // FLOOD
       //
       
return 1;
    }
    
Tempo[playerid] = gettime(); 
Reply
#5

Crie uma variбvel e use-a no comando.

Se tu quer limitar por 1 minuto faзa assim:

pawn Код:
variavel[playerid] = gettime()+60;
Ele vai armazenar um tempo atual com 60 segundos no futuro, para vocк checar se ele pode usar o comando de novo, ai vocк poe um if no topo do comando:

pawn Код:
if(varivavel[playerid] > gettime())
return SendClientMessage(playerid, -1, "Vocк ainda nгo pode enviar novamente.");
O if vai checar se a variavel tem a numeraзгo superior ao gettime, se tiver isso significa que o tempo ainda nгo passou e devido a isso, ele nгo poderia usar o comando novamente pois ainda faltaria tempo.
Reply
#6

PHP код:
new boolEsperando[MAX_PLAYERS];
CMD:teste(playeridparams[])
{
    if(
Esperando[playerid] == true)
        return 
SendClientMessage(playerid0xFF0000FF"Aguarde 30 segundos para usar o comando!");
        
    
Esperando[playerid] = true;
    
SetTimerEx("ResetarTempo"30000false"i"playerid);
    return 
1;
}
forward ResetarTempo(playerid);
public 
ResetarTempo(playerid)
{
    
Esperando[playerid] = false;
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)