new
TempoCMD[MAX_PLAYERS]
;
CMD:kill(playerid)
{
new TempoRestante = (gettime() - TempoCMD[playerid]), cmdString[128];
if(TempoRestante < 20)
{
format(cmdString, 128, "Ainda restam %d para vocк utilizar novamente o cmd", (TempoRestante - 20) * -1);
SendClientMessage(playerid, -1, cmdString);
}
else
{
SetPlayerHealth(playerid, 0.0);
TempoCMD[playerid] = gettime();
}
return 1;
}
Comecei a mexer com SetTimerEx a pouco tempo e quero saber como que geto o tempo que falta no SetTimerEx.
Exemplo: Digitei o comando /kill e morri. Sу depois de 20 segundos eu posso voltar a usб-lo. Daн ainda nгo se passou 20 segundos. Ai aparece: Vocк deve esperar .. segundos para usar /kill novamente. Esse .. seria o tempo que falta... |
SetTimer("MORRER", 1000, 1);
new tempomorrer[MAX_PLAYERS];
if(strcmp("/kill", cmdtext, true) == 0)
{
new string[128];
if(!(tempomorrer[playerid] == 0))
{
format(string, sizeof(string), "desculpe, mas vocк deve aguardar mais %d segundos para suicidar-se novamente.", tempomorrer[playerid]);
SendClientMessage(playerid, 0xFF0000AA, string);
}
else
{
SetPlayerHealth(playerid, 0);
SendClientMessage(playerid, 0x00FF00AA, "vocк se matou.");
tempomorrer[playerid] = 20; //TEM QUE ESPERAR 20 SEGUNDOS PARA PODER SE MATAR NOVAMENTE
}
return 1;
}
forward MORRER();
public MORRER()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!(tempomorrer[i] == 0))
{
tempomorrer[i] = tempomorrer[i]-1;
}
}
}
return 1;
}
new timerKill[MAX_PLAYERS];
CMD:kill(playerid)
{
if(gettime() - timerKill[playerid] > 20) {
timerKill[playerid] = gettime();
SetPlayerHealth(playerid, 0);
}
else {
static str[55];
format(str, sizeof str, "Aguarde %d segundos para usar o comando novamente!", gettime() - timerKill[playerid] - 20);
SendClientMessage(playerid, -1, str);
}
return true;
}