[Ajuda] Verificaзгo de modo do veiculo - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (
https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Verificaзгo de modo do veiculo (
/showthread.php?tid=658123)
Verificaзгo de modo do veiculo -
Poseidon4625 - 23.08.2018
Entгo pessoal eu estou tentando fazer com que o veiculo do player no caso Trem parasse em um certo local sу que com a velocidade bem baixa, eu coloquei uma verificaзгo pra ver em quantos Km/h o Trem estar, se o trem estiver a um Km/h maior retornaria a mensagem de erro, se estiver em um km/h menor o sistema daria continuidade no descarregamento do mesmo, o problema й que sу esta retornando a mensagem mesmo estando em baixo Km/h.
PHP код:
public OnPlayerEnterRaceCheckpoint(playerid)
{
new vid;
vid = GetPlayerVehicleID(playerid);
if(vid == trem[0] || vid == trem[1] || vid == trem[2] )
{
new Float:Velocity[3];
GetVehicleVelocity(vid, Velocity[0], Velocity[1], Velocity[2]);
if(Velocity[0] >= 10 && Velocity[1] >= 10 && Velocity[2] >= 10)
{
if(TremSF[playerid] == 1)
{
SetTimerEx("DescarregamentoTrem",8000, false, "i", playerid),TogglePlayerControllable(playerid, 0),PlayerPlaySound(playerid, 1057, 0, 0, 0),GameTextForPlayer(playerid, "~r~Descarregando", 8000, 4);
}
}
else{
SendClientMessage(playerid, Vermelho, "| ERRO | O Trem Precisa Estar Parado Para Efetuar o Descarregamento!");
}
}
return 1;
}
Se alguйm poder ajudar agradeзo.
Re: Verificaзгo de modo do veiculo -
JamesDias - 24.08.2018
> maior
< menor
Re: Verificaзгo de modo do veiculo -
WiliHacking - 24.08.2018
Quote:
Originally Posted by Poseidon4625
Entгo pessoal eu estou tentando fazer com que o veiculo do player no caso Trem parasse em um certo local sу que com a velocidade bem baixa, eu coloquei uma verificaзгo pra ver em quantos Km/h o Trem estar, se o trem estiver a um Km/h maior retornaria a mensagem de erro, se estiver em um km/h menor o sistema daria continuidade no descarregamento do mesmo, o problema й que sу esta retornando a mensagem mesmo estando em baixo Km/h.
PHP код:
public OnPlayerEnterRaceCheckpoint(playerid)
{
new vid;
vid = GetPlayerVehicleID(playerid);
if(vid == trem[0] || vid == trem[1] || vid == trem[2] )
{
new Float:Velocity[3];
GetVehicleVelocity(vid, Velocity[0], Velocity[1], Velocity[2]);
if(Velocity[0] >= 10 && Velocity[1] >= 10 && Velocity[2] >= 10)
{
if(TremSF[playerid] == 1)
{
SetTimerEx("DescarregamentoTrem",8000, false, "i", playerid),TogglePlayerControllable(playerid, 0),PlayerPlaySound(playerid, 1057, 0, 0, 0),GameTextForPlayer(playerid, "~r~Descarregando", 8000, 4);
}
}
else{
SendClientMessage(playerid, Vermelho, "| ERRO | O Trem Precisa Estar Parado Para Efetuar o Descarregamento!");
}
}
return 1;
}
Se alguйm poder ajudar agradeзo.
|
й porque GetVehicleVelocity pega os metros por segundo e 10 metro por segundo nem caminhando tu chega nisso, para pegar o Km/h use este calculo:
PHP код:
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]);
}
agora troca velocity[], por ST[3]