[Ajuda] SetTimer e KillTimer
#1

Olб amigos. Eu jб postei uma dъvida referente a Timers aqui no fуrum, mas a soluзгo que parecia ser a certa, nгo funcionou para o meu caso. Analisando meu cуdigo, cheguei б conclusгo de conde estava o problema, ou pelo menos acho que esteja.

O meu GM possui um sistema de relуgio UP e um sistema de AFK. Quando o player entra em AFK, o relуgio UP trava. E quando ele digita o comando /sairafk, o relуgio up volta ao normal. A forma que fiz isso foi assim:

Quando o player conecta ao servidor, o TimerAFK e o TimerUP comeзa:
Код:
 
SetTimer("AFK", 1000, true);
UpTimer[playerid] = SetTimerEx("TimerUp", 1000, true, "i", playerid);
Quando ele fica AFK, eu uso um KillTimer:
Код:
KillTimer(UpTimer[playerid]);
Quando ele digita o comando /sairafk, eu recomeзo o meu Timer:
Код:
UpTimer[playerid] = SetTimerEx("TimerUp", 1000, -1, "i", playerid);
Qual deveria ser o real resultado disso ?
Eu entro no servidor e comaзa a rodar meu TimerUp;
Eu fico OFF por um tempo e o relуgio trava;
Quando volto, escrevo o comando e o TimerUP volta normalmente.

Qual estб sendo o resultado disso ?
Eu entro no servidor e comaзa a rodar meu TimerUp;
Eu fico OFF por um tempo e o relуgio trava;
Quando volto, escrevo o comando e o TimerUP volta errado. Parece que ele roda de 500 em 500 milissegundos, ou como se 2 timers estivessem em execuзгo ao mesmo tempo. Entendem ?
O que pode estar acontecendo, e como resolver isso ?
Reply
#2

Duas perguntas. O que seria -1 no segundo SetTimerEx?
e... vocк nгo estб a utilizar o SetTimer do AFK no OnPlayerConnect, nй?
Reply
#3

Quote:
Originally Posted by JonathanFeitosa
Посмотреть сообщение
Duas perguntas. O que seria -1 no segundo SetTimerEx?
e... vocк nгo estб a utilizar o SetTimer do AFK no OnPlayerConnect, nй?
Й o seguinte amigo, antes eu havia feito um tуpico aqui no fуrum com praticamente a mesma dъvida. Meus timers estavam correndo mais rбpido que o normal, a mesma coisa que estб acontecendo agora. A soluзгo proposta foi que eu baixasse um plugin que supostamente corrigia este bug. Veja: https://sampforum.blast.hk/showthread.php?tid=580356

Eu baixei o plugin e adaptei meu GM por ele. As nativas deste plugin recebem em um dos parвmetros o -1, que й o equivalente ao valor true no parвmetro de repetiзгo do SetTimer original.
Quando crei este tуpico, eu copiei do meu GM os timer, e os modifiquei para que se tornassem os originais do SAMP. Com isso, o -1 nгo seria nada.
Corrigindo:
Код:
*UpTimer[playerid] = SetTimerEx("TimerUp", 1000, true, "i", playerid);
Segunda questгo, nгo. O Timer do AFK estб no OnGameModeInit
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)