É um velocímetro básico, criado a partir de uma GameTextForPlayer. Em public OnPlayerStateChange, vamos verificar se o novo estado do jogador é de Motorista. Irá ser criado um tempo que seguira atualizando.
Primeiramente crie a variável global Timer_Velo de preferencia.
Primeiramente crie a variável global Timer_Velo de preferencia.
pawn Code:
new Timer_Velo;
pawn Code:
public OnPlayerStateChange(playerid, newstate, oldstate) { if( newstate == PLAYER_STATE_DRIVER) { Timer_Velo = SetTimer("KMH", 10, true); }
pawn Code:
forward KMH(playerid); // Atualizado by DartakousLien :p public KMH(playerid) { new Str[80]; format(Str, sizeof(Str), "~w~KM/H:~g~ %d", GetPlayerSpeed(playerid)); GameTextForPlayer(playerid, Str, false, 6); }
Agora declaração da função extra, que obterá a velocidade de determinado jogador, ocorrendo um processo de verificação.
Creditos da função desconhecido.
pawn Code:
stock GetPlayerSpeed(playerid) { new Float:ST[4]; if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]); else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]); ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3; return floatround(ST[3]); }
pawn Code:
public OnPlayerStateChange(playerid, newstate, oldstate) { if( oldstate == PLAYER_STATE_DRIVER) { KillTimer(Timer_Velo ); }
A public OnPlayerStateChange deve ficar no final das contas assim :
pawn Code:
public OnPlayerStateChange(playerid, newstate, oldstate) { if( newstate == PLAYER_STATE_DRIVER) { Timer = SetTimer("KMH", 10, true); } if( oldstate == PLAYER_STATE_DRIVER) { KillTimer(Timer_Velo); } return 1; }
Minhas intenções foram ajudar, estou aqui em casa deu certo, ficou como eu esperava.
Imagens:

--

--

Creditos: rCr
0 comentários:
Postar um comentário