15.09.2013, 15:09
Well i have a bit of a problem when a player enters a vehicle it should show up the textdraws but it doesnt.
Ive checked everything but i cant figure it out why this happens any help would be great.
Ive checked everything but i cant figure it out why this happens any help would be great.
Код:
public OnPlayerStateChange (playerid, newstate, oldstate) { if (oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER) { new str[64], vehid = GetPlayerVehicleID (playerid); if (VehicleType (GetVehicleModel (vehid)) == 0) return 1; if (FirstTimeInVehicle [vehid]) { GetVehiclePos (vehid, old_veh_pos [vehid][0], old_veh_pos [vehid][1], old_veh_pos [vehid][2]); FirstTimeInVehicle [vehid] = 0; rfs_VehicleFuel [vehid] = randnumb (1, rfs_VehFuelTankCapacity (vehid)); PlayerTextDrawShow (playerid, rfs_td_distance [GetPlayerVehicleID (playerid)]); PlayerTextDrawShow (playerid, rfs_td_fuel_available [GetPlayerVehicleID (playerid)]); PlayerTextDrawShow (playerid, rfs_td_fuel_consumption [GetPlayerVehicleID (playerid)]); format (str, sizeof (str), "Distance~n~ %d km", floatround (rfs_VehicleFuel [vehid] / VehicleConsumption (vehid) * 100, floatround_tozero)); PlayerTextDrawSetString(playerid, rfs_td_distance [vehid], str); format (str, sizeof (str), "Fuel available~n~%0.1f liters (%d%%)", rfs_VehicleFuel [vehid], floatround ((100 * rfs_VehicleFuel [vehid]) / rfs_VehFuelTankCapacity (vehid), floatround_tozero)); PlayerTextDrawSetString(playerid, rfs_td_fuel_available [vehid], str); format (str, sizeof (str), "Fuel consumption~n~%0.1f liters/100 km", VehicleConsumption (vehid)); PlayerTextDrawSetString(playerid, rfs_td_fuel_consumption [vehid], str); veh_display [vehid] = 1; SetTimerEx ("UpdateTime", 60000, 1, "dd", playerid, vehid); } switch (veh_display [vehid]) { case 1: { PlayerTextDrawShow (playerid, rfs_td_distance [vehid]); } case 2: { PlayerTextDrawShow (playerid, rfs_td_fuel_available [vehid]); } case 3: { PlayerTextDrawShow (playerid, rfs_td_fuel_consumption [vehid]); } case 4: { PlayerTextDrawShow (playerid, rfs_td_dist_total [vehid]); } case 5: { PlayerTextDrawShow (playerid, rfs_td_dist_start [vehid]); } case 6: { PlayerTextDrawShow (playerid, rfs_td_time_total [vehid]); } } pl_vehid [playerid] = vehid; } if (newstate == PLAYER_STATE_ONFOOT && oldstate == PLAYER_STATE_DRIVER) { HideTextDraws (playerid); } return 0; }