02.04.2018, 15:16
I have created a speedometer and I want that TextDraw to show if a player is driving a vehicle.
Everything works fine until the second player drives another car. I see two TextDraws when the other player drives his car. I have spent hours on this and need urgent help.
Speedometer Function
OnPlayerEnterVehicle Function
Everything works fine until the second player drives another car. I see two TextDraws when the other player drives his car. I have spent hours on this and need urgent help.
Speedometer Function
PHP код:
public Speedometer(playerid)
{
new vehicleid, Float:health;
new engine, lights, alarm, doors, bonnet, boot, objective;
new fstring[32], string[512], string2[512];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i))
{
vehicleid = GetPlayerVehicleID(i);
GetVehicleHealth(vehicleid, health);
GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
format(fstring, sizeof(fstring),"Speed: %d Km/h", GetPlayerSpeed(i, true));
strcat(string, fstring, sizeof(string));
strcat(string, "~n~Fuel: ", sizeof(string));
format(string2, sizeof(string2), "%.0f%%", Fuel[vehicleid]);
if(Fuel[vehicleid] > 100)
strins(fstring, "~r~", 10, sizeof(fstring));
else if(Fuel[vehicleid] < 0.0)
strins(fstring, "~r~", 0, sizeof(fstring));
else
strins(fstring, "~r~", floatround(Fuel[vehicleid]/10.0), sizeof(fstring));
strcat(string, string2, sizeof(string));
strcat(string, "~n~Status: ", sizeof(string));
if(doors == 1)
strcat(string, "~r~Locked", sizeof(string));
else
strcat(string, "~g~Unlocked", sizeof(string));
TextDrawSetString(SpeedoText[i], string);
}
}
}
PHP код:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!ispassenger)
{
SpeedoText[playerid] = TextDrawCreate(520.0, 180.0," ");
TextDrawAlignment(SpeedoText[playerid], 1);
TextDrawFont(SpeedoText[playerid], 1);
TextDrawLetterSize(SpeedoText[playerid], 0.250, 0.900);
TextDrawSetShadow(SpeedoText[playerid], 1);
TextDrawUseBox(SpeedoText[playerid], 0);
TextDrawBoxColor(SpeedoText[playerid], 0x99);
TextDrawSetOutline(SpeedoText[playerid], 1);
TextDrawTextSize(SpeedoText[playerid], 600.000, 0.000);
TextDrawShowForPlayer(playerid, SpeedoText[playerid]);
}
return 1;
}