Portal SAMP
[Ajuda] Comando ver tempo restante - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Comando ver tempo restante (/showthread.php?tid=1476)



Comando ver tempo restante - Lightz/Conta nova - 30/07/2021

Então galera, pelo que eu me lembre, no fórum antigo tinha um comando de ver o tempo restante para sair da cadeia, só que né o fórum foi excluido, então eu queria pedir ajuda de vcs, esse é o comando:

Código PHP:
CMD:temposair(playerid)
{
    if(Ausente[playerid] == true) return SendClientMessage(playeridVermelho"{00FF00}[TheLastZone]: {FFFFFF}Você não pode usar comandos estando no Modo Ausente.");
    if(pDados[playerid][Preso] < 1) return SendClientMessage(playerid,Vermelho"{FF0000}[ERRO]: {FFFFFF}Você não está Preso para usar esse comando.");
    new 
String[500];
    
format(Stringsizeof(String), "{00FF00}[TheLastZone]: {FFFFFF}Tempo restante para sair da cadeia {FF0000}%d!"pDados[playerid][PresoTempo]);
    
SendClientMessage(playeridVermelhoString);
    return 
1;


Eu queria que por exemplo, se faltar 20 segundos era pra aparecer 20 segundos, 19 18 etc, mas só aparece o tempo total que foi preso, tipo se prender por 40 segundos só aparece os 40.


RE: Comando ver tempo restante - xbruno1000x - 30/07/2021

Boa noite Lightz.

Para fazer isso que deseja, terá que adicionar um timer de 1 segundo em loop e adicionar na public pDados[playerid][PresoTempo] -= 1; e formatar novamente e enviar a mensagem novamente. Quando pDados[playerid][PresoTempo] == 0, você mata o timer.

Observação:
Pensando bem, se o player é liberado, você já está diminuindo o PresoTempo. Logo, tudo que precisa é formatar e enviar a mensagem novamente a cada segundo.


RE: Comando ver tempo restante - Lightz/Conta nova - 31/07/2021

(30/07/2021 20:13)xbruno1000x Escreveu: Boa noite Lightz.

Para fazer isso que deseja, terá que adicionar um timer de 1 segundo em loop e adicionar na public pDados[playerid][PresoTempo] -= 1; e formatar novamente e enviar a mensagem novamente. Quando  pDados[playerid][PresoTempo] == 0, você mata o timer.

Observação:
Pensando bem, se o player é liberado, você já está diminuindo o PresoTempo. Logo, tudo que precisa é formatar e enviar a mensagem novamente a cada segundo.

vlw brunin <3