[Ajuda] Erros depois de um tempo.
#1

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;
  	}
Reply
#2

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"1000false"d"playerid); 
PHP Code:
if(CarregandoTelaLogin[playerid] >= 101)
{
    for( new 
texttext != 15text++) TextDrawHideForPlayer(playeridloadtela[text]);    
    
ShowLogin(playerid);
    return 
1;
}
SetTimerEx("mostrarTelaLogin"1000false"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.
Reply
#3

Tenho um problema semelhante.
Reply
#4

Quote:
Originally Posted by caiolelis1
View Post
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
Reply
#5

Quote:
Originally Posted by Khivory
View Post
Ele ira repetir, preste atenзгo no cуdigo.

O timer й chamado novamente dentro da prуpria callback


* Conta errada nй? kkk
SIm kk'
Reply
#6

Quote:
Originally Posted by Khivory
View Post
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
Reply
#7

Quote:
Originally Posted by ReturnZero
View Post
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"1000false"d"playerid); // Timer й chamado pela primeira vez 
Funзхes dentro do timer:

PHP Code:
if(CarregandoTelaLogin[playerid] >= 101)
{
    for( new 
texttext != 15text++) TextDrawHideForPlayer(playeridloadtela[text]);    
    
ShowLogin(playerid);
    return 
1;
}
SetTimerEx("mostrarTelaLogin"1000false"d"playerid); // Timer serб chamado novamente, criando um "loop" 
Reply
#8

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;
Reply
#9

Quote:
Originally Posted by ipsLuan
View Post
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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)