PHP код:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_ENTER_VEHICLE_DRIVER)
{
/*Вызываю таймер*/
Speedometer_timer[playerid] = SetTimerEx("Update_speedometer",200,1,"d",playerid);
}
else if(oldstate == PLAYER_STATE_EXIT_VEHICLE)
{
/*убиваем таймер*/
KillTimer(Speedometer_timer[playerid]);
}
return 1;
}
forward Update_speedometer(playerid);
public Update_speedometer(playerid)
{
/*тут уже обновлять действия спидометра*/
}
Так?
- - - Добавлено - - -
Вопрос еще актуален по по поводу SpeedVehilce, в интернете нашел уйма вариантов.
PHP код:
stock SpeedVehicle(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]);
}
Можете обьяснить пожалуйста как идёт тут подсчёт, умножение,складывания:
PHP код:
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]);
И откуда берётся число 100.3(везде поразному 180.0)