[Ajuda] Velocнmetro nгo funciona
#1

PHP код:
public ActualizarCarro(playerid)
{
    new 
vehicleFloat:speed_xFloat:speed_yFloat:speed_zspeedstring[256];
    
GetPlayerVehicleID(vehicle);
    
GetVehicleVelocity(vehiclespeed_xspeed_yspeed_z);
     
Velocidade[playerid] = floatmul(floatsqroot(floatadd(floatpower(speed_x2), floatadd(floatpower(speed_y2), floatpower(speed_z2)))), 185);
    
format(speedstringsizeof(speedstring), "%0.0f"Velocidade[playerid]);
    
TextDrawSetString(Textdraw10[playerid], speedstring);
    
    return 
1;

Tenho este velocнmetro noutro GameMode, e funciona bem lб. Passei-o para outro GM, e nгo sei porquк, a velocidade fica sempre 0. O que serб?
Reply
#2

Nгo falta TextDrawShowForPlayer?
Reply
#3

faz o que o vini disse, mas para isso nao ea melhor uma playertextdraw em vez de uma global? o estou a dizer que era melhor uma playertextdraw.
Reply
#4

A textdraw й mostrada quando o player entra num carro,nгo й esse o problema. O problema й que a velocidade й sempre 0.
Reply
#5

Exatamente aн pode estar o problema.

Se TextDraw sу й mostrada quando o jogador entra no carro, ele nгo vai ser mostrado durante as atualizaзхes.

Adicione a funзгo acima e diga o resultado.
Reply
#6

Pense comigo.

* Jogador entra no carro
- Textdraw й mostrado
- Comeзa o timer para chamar aquela callback
- A string й actualizada cada vez que o timer acaba

No outro GM estб exactamente igual e funciona muito bem.
Reply
#7

Vocк tem que usar TextDrawShowForPlayer apуs TextDrawSetString.

No mesmo bloco de cуdigo ou nгo, mas isso tem que ser feito.

Verifique isso.

Pelo que parece, vocк sу estб usando TextDrawShowForPlayer uma vez, quando o jogador entra no veнculo.
Reply
#8

Quote:
Originally Posted by bruxo00
Посмотреть сообщение
Pense comigo.

* Jogador entra no carro
- Textdraw й mostrado
- Comeзa o timer para chamar aquela callback
- A string й actualizada cada vez que o timer acaba

No outro GM estб exactamente igual e funciona muito bem.
Bruxo tens de dar show da textdraw cada vez que mudas a string ou quando a alters de alguma maneira.
no outro gm tenho certeza que noutro lado talvez onplayerupdate tem o show dessa textdraw
Reply
#9

Tens a certeza que tens o timer a chamar a callback apos entrares no carro?

talvez seja por isso.
Reply
#10

Sim, tenho.

PHP код:
new TimerActualizarCarro[MAX_PLAYERS]; 
PHP код:
    if(newstate == PLAYER_STATE_DRIVER)
    {
        
TextDrawShowForPlayer(playeridTextdraw0);
        
TextDrawShowForPlayer(playeridTextdraw1);
        
TextDrawShowForPlayer(playeridTextdraw2);
        
TextDrawShowForPlayer(playeridTextdraw3);
        
TextDrawShowForPlayer(playeridTextdraw4);
        
TextDrawShowForPlayer(playeridTextdraw5);
        
TextDrawShowForPlayer(playeridTextdraw6);
        
TextDrawShowForPlayer(playeridTextdraw7);
        
TextDrawShowForPlayer(playeridTextdraw8);
          
TextDrawShowForPlayer(playeridTextdraw9[playerid]);
        
TextDrawShowForPlayer(playeridTextdraw10[playerid]);
        
TextDrawShowForPlayer(playeridTextdraw11[playerid]);
        
TextDrawShowForPlayer(playeridTextdraw12[playerid]);
        
TextDrawShowForPlayer(playeridTextdraw13[playerid]);
        
TextDrawShowForPlayer(playeridTextdraw14[playerid]);
        
TimerActualizarCarro[playerid] = SetTimerEx("ActualizarCarro"300true"i"playerid);
    } 
Fiz um debug, e o no GetPlayerVelocity, todos os valores estгo a returnar 0... nгo sei o que se passa :/

Edit: acho que descubri o bug. O GetPlayerVehicleID estб a pegar o ID do carro mal. O carro em que estou й o ID 1 e ele pega o ID 0.

Todos cegos aqui xD

GetPlayerVehicleID(vehicle);

era

GetPlayerVehicleID(playerid);
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)