Erros depois de um tempo. -
ReturnZero - 05.06.2020
Olб pessoal, meu servidor assim que iniciado, tudo funciona, passado algumas horas, alguns sistemas que funcionavam perfeitamente, dгo erros, killtimer, que funcionava antes, para de funcioar, alguйm jб viu algo parecido? Tenho um timer, na tela de carregamento, depois de umas horas com o servidor ligado, ele para de funcionar...
Cod: expecifico...
No topo
Code:
new TimerLogin[MAX_PLAYERS];
OnplayerRequestClass
Code:
TimerLogin[playerid] = SetTimerEx("mostrarTelaLogin", 50, true, "d", playerid);
Callback mostrarTelaLogin (parte do killtimer, e pucha a tela de login normal.)
Code:
if(CarregandoTelaLogin[playerid] >= 101)
{
KillTimer(TimerLogin[playerid]);
for( new text; text != 15; text++) TextDrawHideForPlayer(playerid, loadtela[text]);
ShowLogin(playerid);
return 1;
}
Re: Erros depois de um tempo. -
Khivory - 05.06.2020
Diminua o intervalo dele, nгo hб necessidade de 50ms para isso, com 500ms ou 1000ms estб bom, este й um tempo em que mal percebemos passar.
Tambйm deixe o com a repetiзгo desativada, jб ouvi falar de alguns casos em que o timer bugava quando estava com ela ligada.
PHP Code:
SetTimerEx("mostrarTelaLogin", 1000, false, "d", playerid);Â
PHP Code:
if(CarregandoTelaLogin[playerid]Â >=Â 101)
{
    for( new text; text != 15; text++) TextDrawHideForPlayer(playerid, loadtela[text]);   Â
    ShowLogin(playerid);
    return 1;
}
SetTimerEx("mostrarTelaLogin", 1000, false, "d", playerid);Â
Fazendo isso vocк nгo irб de precisar de um identificador para o timer, o prуprio return da condiзгo irб quebrб-lo pois impedira a chamada do mesmo.
Se vocк precisa matб-lo em outro lugar entгo pode deixar o identificador.
Re: Erros depois de um tempo. -
caiolelis1 - 05.06.2020
Tenho um problema semelhante.
Re: Erros depois de um tempo. -
Khivory - 05.06.2020
Quote:
Originally Posted by caiolelis1
Eu preciso que ele repita, para aumentar o valor da variavel CarregandoTelaLogin, fazendo com que ela chegue a 101
Eu preciso que ele se repita eu mudei o intervalo, pra 1000
|
Ele ira repetir, preste atenзгo no cуdigo.
O timer й chamado novamente dentro da prуpria callback
* Conta errada nй? kkk
Re: Erros depois de um tempo. -
ReturnZero - 05.06.2020
Quote:
Originally Posted by Khivory
Ele ira repetir, preste atenзгo no cуdigo.
O timer й chamado novamente dentro da prуpria callback
* Conta errada nй? kkk
|
SIm kk'
Re: Erros depois de um tempo. -
ReturnZero - 05.06.2020
Quote:
Originally Posted by Khivory
Ele ira repetir, preste atenзгo no cуdigo.
O timer й chamado novamente dentro da prуpria callback
|
Mais o timer, nгo estб sendo chamado novamente dentro da callback
Re: Erros depois de um tempo. -
Khivory - 05.06.2020
Quote:
Originally Posted by ReturnZero
Mais o timer, nгo estб sendo chamado novamente dentro da callback
|
Amigo, eu te passei o cуdigo com tudo certo.
PHP Code:
SetTimerEx("mostrarTelaLogin", 1000, false, "d", playerid); // Timer й chamado pela primeira vezÂ
Funзхes dentro do timer:
PHP Code:
if(CarregandoTelaLogin[playerid]Â >=Â 101)
{
    for( new text; text != 15; text++) TextDrawHideForPlayer(playerid, loadtela[text]);   Â
    ShowLogin(playerid);
    return 1;
}
SetTimerEx("mostrarTelaLogin", 1000, false, "d", playerid); // Timer serб chamado novamente, criando um "loop"Â
Re: Erros depois de um tempo. -
ipsLuan - 05.06.2020
Vocк estб usando o CarregandoTelaLogin[playerid]++?
Faзa tambйm uma verificaзгo pra definir um valor mбximo.
pawn Code:
if(CarregandoTelaLogin[playerid] > 101) CarregandoTelaLogin[playerid] = 101;
Re: Erros depois de um tempo. -
ReturnZero - 05.06.2020
Quote:
Originally Posted by ipsLuan
Vocк estб usando o CarregandoTelaLogin[playerid]++?
Faзa tambйm uma verificaзгo pra definir um valor mбximo.
pawn Code:
if(CarregandoTelaLogin[playerid] > 101) CarregandoTelaLogin[playerid] = 101;
|
Sim, entendi, eu estava moscando, o negуcio obvio... Obrigado pessoal.