29/03/2023 07:23
(29/03/2023 01:08)RodrigoMSR Escreveu: https://team.sa-mp.com/wiki/GetTickCount.html
Após o servidor ficar 24 dias ligado, a função começará a retornar números negativos, o que pode quebrar os sistemas que estão usando ela. Se reiniciar o servidor periodicamente, não terá problema. Outra solução é usar a função GetTickDiff criada pela comunidade: https://gist.github.com/ziggi/5d7d8dc42f...924c608e73
só trocar o PlayerOneSec
de:
Código:
public PlayerOneSec(i) {
// check paused
if(paused[i] == false) {
// 3 segundos sem resposta.
if(GetTickCount() - AFKTime[i] > 3000) { OnPlayerPause(i); }
}
if(paused[i] == true) {
if(GetTickCount() - AFKTime[i] < 3000) { OnPlayerUnpause(i); }
}
}
pra:
de:
Código:
public PlayerOneSec(i) {
new interval = GetTickDiff(GetTickCount(), AFKTime[playerid]);
if(paused[i] == false) {
// 3 segundos sem resposta.
if(interval > 3000) { OnPlayerPause(i); }
}
if(paused[i] == true) {
if(interval < 3000) { OnPlayerUnpause(i); }
}
}
certo?
uma duvida:
com mais essa adição de stock, o `GetTickCount` não ficaria mais pesado que o `gettime`?