É 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
Espero que gostem!
0 comentários:
Postar um comentário