Portal SAMP
[Ajuda] Settimer - 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] Settimer (/showthread.php?tid=1112)



Settimer - WeebSide - 19/04/2021

Galera o tempo do SetTimer e contado em milesegundos neh?
Fiz um sistema de relogio aqui mais o tempo ta correndo mais rapido doque o normal os segundos passa mais rapido 
Código:
SetTimer("Horas", 1000, true);



RE: Settimer - xbruno1000x - 19/04/2021

SetTimer não tem precisão. Para criação de relógios use gettime.
https://open.mp/pt/docs/scripting/functions/gettime


RE: Settimer - WeebSide - 21/04/2021

E que na verdade o relogio e pra marca horas jogadas do player o gettimer quando chega no 24hrs ele zera preciso de um relogio e continue contando as horas tipo o player tem 100 horas jogada. Como uso o gettimer pra setar as horas jogada ao player? O settimer tem a public pra coloca a funçao pHora[playerid]++; eo get como faço isso?


RE: Settimer - xbruno1000x - 21/04/2021

(21/04/2021 09:28)WeebSide Escreveu: E que na verdade o relogio e pra marca horas jogadas do player  o gettimer quando chega no 24hrs ele zera  preciso de um relogio e continue contando as horas tipo o player tem 100 horas jogada. Como uso o gettimer pra setar as horas jogada ao player? O settimer tem a public pra coloca a funçao pHora[playerid]++; eo get como faço isso?

Se você quer contar de 1 em 1 hora, porque criou um timer de 1 segundo? Cria um de 60*60*1000(1h). Ou cria um timer de 15*60*1000(15 min) e usa pHora[playerid] += 0.25 . Comece o timer na OnPlayerConnect ou Spawn.
Use SetTimerEx para utilizar a váriavel playerid.
Para maior precisão você pode armazenar em uma váriavel a hora de entrada e diminuir pela de saída.


RE: Settimer - WeebSide - 21/04/2021

(21/04/2021 15:03)xbruno1000x Escreveu:
(21/04/2021 09:28)WeebSide Escreveu: E que na verdade o relogio e pra marca horas jogadas do player  o gettimer quando chega no 24hrs ele zera  preciso de um relogio e continue contando as horas tipo o player tem 100 horas jogada. Como uso o gettimer pra setar as horas jogada ao player? O settimer tem a public pra coloca a funçao pHora[playerid]++; eo get como faço isso?

Se você quer contar de 1 em 1 hora, porque criou um timer de 1 segundo? Cria um de 60*60*1000(1h). Ou cria um timer de 15*60*1000(15 min) e usa pHora[playerid] += 0.25 . Comece o timer na OnPlayerConnect ou Spawn.
Use SetTimerEx para utilizar a váriavel playerid.
Para maior precisão você pode armazenar em uma váriavel a hora de entrada e diminuir pela de saída.

Isso que fiz com o Settimer mais os segundos passa mais rapido e conto os segundos porque o sistema conciste em horas minutos e segundo a cada 60 segundo 1 minuto assim em diante 
H:M:S
A cada segundo a texdraw e setada o valor em segundos
[Imagem: 20210421-153326.jpg]


RE: Settimer - xbruno1000x - 21/04/2021

Nesse caso você terá que utilizar alguma include que corrija os timers nativos, como o samp-precise-timers.inc e acho que o YSI_Timers também faz isso. Com o timer nativo não é possível obter tal precisão.