[Ajuda] Delay nos comandos.
#1

Gostaria de saber se tem como aplicar um delay nos comandos. Exemplo: O player da "/equipar" ele equipa mas ele sу pode dar "/equipar" novamente depois de um certo tempo.

Simulaзгo:

Player: /equipar
Console: Vocк equipou com sucesso!
Player: /equipar
Console: Vocк sу pode equipar novamente daqui a 10 minutos
Player: /equipar
Console: Vocк sу pode equipar novamente daqui a 9 minutos
Player: /equipar
Console: Vocк sу pode equipar novamente daqui a 8 minutos
...
Reply
#2

PHP код:
//Estes 2 adicione no topo
//====-------------------===
new bool:libc[MAX_PLAYERS];
forward Habilitar(playerid);
//====-------------------===
//Isto no comando
libc[playerid] = false;
//Isso vai tambйm no comando
SetTimerEx("Habilitar"3000false"d"playerid); // 3000 = 3 segundos) ou //4000 = 4 Seg etc...
//Coloque isto no final do GM\Filterscript
public Habilitar(playerid)
{
    
libc[playerid] = true;
    return 
1;

Reply
#3

Aonde eu coloco os:

libc[playerid] = false;
SetTimerEx("Habilitar", 10000, false, "d", playerid); // 3000 = 3 segundos) ou //4000 = 4 Seg etc...

No meu comando?

if (strcmp("/equipar", cmdtext, true, 10) == 0)
{
if (equipado[playerid] == 1) {
SendClientMessage (playerid, vermelho_erro, "Vocк jб estб equipado, agora compre muniзгo!");
}else{
GivePlayerWeapon (playerid, 24, 10);
GivePlayerWeapon (playerid, 35, 10);
SendClientMessage (playerid, verde_sucesso, "Vocк equipou com sucesso!");
equipado[playerid] = 1;
}
return 1;
}
Reply
#4

PHP код:
if (strcmp("/equipar"cmdtexttrue10) == 0)
{
    if (
equipado[playerid] == 1)
    {
        
SendClientMessage (playeridvermelho_erro"Vocк jб estб equipado, agora compre muniзгo!");
    }
    else
    {
        
GivePlayerWeapon (playerid2410);
        
GivePlayerWeapon (playerid3510);
        
SendClientMessage (playeridverde_sucesso"Vocк equipou com sucesso!");
        
libc[playerid] = false;
        
SetTimerEx("Habilitar"10000false"d"playerid); // 3000 = 3 segundos) ou //4000 = 4 Seg etc...
        
equipado[playerid] = 1;
    }
    return 
1;

Reply
#5

Tenho uma lуgica muito melhor e que nгo precisa de timers. Sу utilizar gettime.. Exemplo
PHP код:
if (strcmp("/equipar"cmdtexttrue10) == 0)
{
    if (
equipado[playerid] == 1) return SendClientMessage (playeridvermelho_erro"Vocк jб estб equipado, agora compre muniзгo!");
    if(
GetPVarInt(playerid,"tempo_equipar") > gettime()) return SendClientMessage(playeridvermelho_erro"Vocк usou equipar recentemente. Aguarde!");
    
GivePlayerWeapon (playerid2410);
    
GivePlayerWeapon (playerid3510);
    
SendClientMessage (playeridverde_sucesso"Vocк equipou com sucesso!");
    
equipado[playerid] = 1;
    
SetPVarInt(playerid,"tempo_equipar",gettime() + 10); // 10 segundos 
    
return 1;

Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)