[Ajuda] Tutorial sу aparece para id 0
#1

Peзo ajuda, estou quebrando a cabeзa em tentar descobrir porque o tutorial sу aparece para o id 0, e quando outro player loga, o id 0 volta para o inicio do tutorial...

Cуdigo em que chamo o tutorial:
http://pastebin.com/mrZ9Fxdn
Reply
#2

Por que vocк nгo usa o SetTimerEx padrгo do samp? Posta o cуdigo do IniciarTuto...
Reply
#3

O SetTimerEx padrao do samp estava me acarretando um problema de ser executado mais rбpido que o tempo normal...
PHP код:
forward IniciarTuto(playerid);
public 
IniciarTuto(playerid)
{
    
Tuto[playerid] = 1;
    
ProxTuto[playerid] = 1;
    
SetPlayerCameraPos(playerid, -2535.52811302.938278.0744);
    
SetPlayerCameraLookAt(playerid, -2536.05711303.784177.8044);
    for(new 
i=0;i<11;++iPlayerTextDrawShow(playeridTutorialTD[i]);
    
SetTimerEx_("PularTuto"20000200001"d"playerid);
    return 
1;

Reply
#4

Print o playerid e veja que numero ele printa
Reply
#5

Opa, pera ae, vou testar aqui

@Edit
O id 0 funciona normal, coloquei pra mostrar o id e o nick no printf, jб os outros ids chamam esse settimerex porйm nem chegam a fazer o que estб dentro dele...
PHP код:
SetTimerEx("IniciarTuto"1000false"d"playerid); 
Reply
#6

Cara nгo entendi nada, no seu cуdigo vocк usa as funзхes da R5/R6 e ao mesmo tempo usa funзгo R33+? O problema tб nas suas queries.

mysql_query + mysql_store_result, funзхes da R5 que nгo usam cachк:
Quote:

mysql_query(Conexao, query);
mysql_store_result();

Cachкs, funзгo da R33+
Quote:

PlayerInfo[playerid][Level] = cache_get_field_content_int(0, "level");

Reply
#7

Essas funзхes mysql funcionam, o plugin й R33, que eu tinha visto essas funзхes e esse plugin em um tуpico...
Reply
#8

Quote:
Originally Posted by garotin
Посмотреть сообщение
Essas funзхes mysql funcionam, o plugin й R33, que eu tinha visto essas funзхes e esse plugin em um tуpico...
Tem que usar cachк em cada query, nгo й necessбrio store result na R33, й sу criar um cachк, usar e destruir.

Exemplo:

PHP код:
new money;
new 
Cache:result mysql_query(Connectionhandler"SELECT * FROM users WHERE name = 'n0minal';"true);
new 
rows cache_num_rows();
if(
rows)  money cache_get_field_content_int(0"money");
cache_delete(result);
GivePlayerMoney(playeridmoney); 
PS: Se eu fosse vocк usaria threaded queries pois sгo mais rбpidas, seguras e eficazes, o mйtodo mysql_query pode causar conflitos entre cachкs caso nгo o use corretamente.
Reply
#9

Estou tentando refazer os cуdigos e testar para ver onde estб o erro...

Quanto а "threaded queries" ainda nгo cheguei a ver o que seja isso... tem algum link sobre tutorial ou algo que posso estudar?
Reply
#10

@Resolvido
IpsLeon fiz aquilo que me falou por MP, de tirar esses "SetTimerEx_" e tambйm coloquei todos os settimer false, se se precisar repetir eles estou chamando novamente dentro da public, afinal esses SetTimeEx_ estavam me atrapalhando e os SetTimer true tem mais chance de dar erro na contagem do que encerrar e chamar eles de novo...

REP+
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)