[Ajuda] Me Ajude Entender Como usar o SetTimer(ex) com For ou Substituir SetTimer(ex) por For?
#1

Olб pessoa boa tarde, estou tentando aprender como fazer contagem de tempo em minutos, como por exemplo para o tempo de contrato de uma profissгo que ele deve cumprir mesmo deslogando para pegar outra ou tempo preso de um Player, e o Player ao desconectar o tempo restante para ser liberado й salvo.

O problema й que pesquisei bastante e nгo encontrei nada a respeito que fosse realmente bom para que fique claro em minha mente.

Por exemplo jб vi pessoas usando settimer no OnGameModeInit(), para ficar rodando de 1 em um segundo jogando para uma public com For. Entretanto vejo muitas pessoas falando para nгo usar settimer para nгo exigir de mais do processador, e ate mesmo porque achei ilуgico um settimer ficar rodando o tempo todo mesmo que nгo exista ninguйm preso ou com contrato de serviзo minimo etc.

Definitivamente alguйm tem alguma maneira clara de me fazer entender como contar este tempo?

Desde jб agradeзo.

Atenciosamente, Matheus Dorado.
Reply
#2

Usar timer global com looping de players й boa pratica, pela sua praticidade de nгo ter que destruir e criar timers por player, nгo afeta o desempenho, mas seria muito mais otimizado usar foreach ao invez de for
Reply
#3

Quote:
Originally Posted by RazorGuigo
Посмотреть сообщение
Usar timer global com looping de players й boa pratica, pela sua praticidade de nгo ter que destruir e criar timers por player, nгo afeta o desempenho, mas seria muito mais otimizado usar foreach ao invez de for
Entendi, mas o que seria um Foreach, poderia me dar algum exemplo de como usб-lo?
Reply
#4

Cria uma variбvel para verificar se o player estб preso ou nгo, fazendo isso atribua o valor de 0 = player solto, 1 = player preso e determina uma contagem, pode criar um loop.
Reply
#5

Quote:
Originally Posted by matheusdorado
Посмотреть сообщение
Entendi, mas o que seria um Foreach, poderia me dar algum exemplo de como usб-lo?
exemplo 1 :
PHP код:
public func(){
 foreach( new 
playerid Player ){
   if( ! 
IsPreso(playerid) )
     continue;
   
//code
 
}
 return 
1;

exemplo 2:
PHP код:
public func(){
 foreach( new 
playerid Presos ){
  
//code
 
}
 return 
1;

Reply
#6

https://sampforum.blast.hk/showthread.php?tid=557107
Reply
#7

Esses sistemas podem ser feitos comparando retornos de gettime (UNIX Timestamp). Й melhor do que criar timestamps personalizados com SetTimer e SetTimerEx, que tкm perнodos de execuзгo naturalmente imprecisos .



Para passagens de tempo em minutos, horas ou atй dias, basta fazer conversхes a partir de segundos (unidade do resultado do gettime).



Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)