Delay nos comandos. -
EmanuelRamos - 08.08.2015
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
...
Re: Delay nos comandos. -
iTakelot - 08.08.2015
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", 3000, false, "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;
}
Re: Delay nos comandos. -
EmanuelRamos - 08.08.2015
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;
}
Re: Delay nos comandos. -
iTakelot - 08.08.2015
PHP код:
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!");
libc[playerid] = false;
SetTimerEx("Habilitar", 10000, false, "d", playerid); // 3000 = 3 segundos) ou //4000 = 4 Seg etc...
equipado[playerid] = 1;
}
return 1;
}
Re: Delay nos comandos. -
Locky_ - 08.08.2015
Tenho uma lуgica muito melhor e que nгo precisa de timers. Sу utilizar gettime.. Exemplo
PHP код:
if (strcmp("/equipar", cmdtext, true, 10) == 0)
{
if (equipado[playerid] == 1) return SendClientMessage (playerid, vermelho_erro, "Vocк jб estб equipado, agora compre muniзгo!");
if(GetPVarInt(playerid,"tempo_equipar") > gettime()) return SendClientMessage(playerid, vermelho_erro, "Vocк usou equipar recentemente. Aguarde!");
GivePlayerWeapon (playerid, 24, 10);
GivePlayerWeapon (playerid, 35, 10);
SendClientMessage (playerid, verde_sucesso, "Vocк equipou com sucesso!");
equipado[playerid] = 1;
SetPVarInt(playerid,"tempo_equipar",gettime() + 10); // 10 segundos
return 1;
}