13.06.2012, 15:15
I'm not sure what I'm doing wrong here, but it's probably something stupid that I'm missing. Any hints/tips/suggestions would be greatly appreciated. Thank you.
OnGameModeInit:
OnPlayerConnect:
Function:
OnPlayerStateChange:
pawn Код:
new Text:Speedometer[MAX_PLAYERS];
forward Speedo(playerid);
pawn Код:
SetTimer("Speedo", 500, 1);
pawn Код:
Speedometer[playerid] = TextDrawCreate(555, 420, " ");
pawn Код:
public Speedo(playerid) {
new vehicleid,
Float:speed_x,
Float:speed_y,
Float:speed_z,
Float:final_speed,
speed_string[256],
final_speed_int,
odo_string[256];
vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid != 0) {
GetVehicleVelocity(vehicleid, speed_x, speed_y, speed_z);
final_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*125;
final_speed_int = floatround(final_speed,floatround_round);
format(speed_string,256,"%i MPH",final_speed_int);
TextDrawSetString(Speedometer[playerid], speed_string);
} else {
TextDrawSetString(Speedometer[playerid], " ");
}
return 1;
}
pawn Код:
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) {
TextDrawUseBox(Speedometer[playerid], 1);
TextDrawBoxColor(Speedometer[playerid],0x00000066);
TextDrawShowForPlayer(playerid, Speedometer[playerid]);
}
if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT) {
TextDrawHideForPlayer(playerid, Speedometer[playerid]);
}