Vehicle Health Bar Not Working - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (
https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Vehicle Health Bar Not Working (
/showthread.php?tid=113120)
Vehicle Health Bar Not Working -
miokie - 12.12.2009
Hey, I made a Vehicle Health bar, and it is not working.
pawn Код:
public SpeedAndHealth(playerid)
{
new VehID = GetPlayerVehicleID(playerid), Float:Health;
new VehHel = GetVehicleHealth(VehID,Health);
if(IsPlayerInAnyVehicle(playerid))
{
if(VehHel == 1000){TextDrawSetString(RDHealth[playerid],"~g~----------");}
if(VehHel <= 990 && VehHel > 900){TextDrawSetString(RDHealth[playerid],"~g~---------~y~-");}
if(VehHel <= 900 && VehHel > 800){TextDrawSetString(RDHealth[playerid],"~g~--------~y~-~r~-");}
if(VehHel <= 800 && VehHel > 700){TextDrawSetString(RDHealth[playerid],"~g~-------~y~-~r~--");}
if(VehHel <= 700 && VehHel > 600){TextDrawSetString(RDHealth[playerid],"~g~------~y~-~r~---");}
if(VehHel <= 600 && VehHel > 500){TextDrawSetString(RDHealth[playerid],"~g~-----~y~-~r~----");}
if(VehHel <= 500 && VehHel > 400){TextDrawSetString(RDHealth[playerid],"~g~----~y~-~r~-----");}
if(VehHel <= 400 && VehHel > 300){TextDrawSetString(RDHealth[playerid],"~g~---~y~-~r~------");}
if(VehHel <= 300 && VehHel > 200){TextDrawSetString(RDHealth[playerid],"~g~--~y~-~r~-------");}
if(VehHel <= 200 && VehHel > 100){TextDrawSetString(RDHealth[playerid],"~g~-~y~-~r~--------");}
if(VehHel <= 100 && VehHel > 0){TextDrawSetString(RDHealth[playerid],"~y~-~r~---------");}
if(VehHel == 0){TextDrawSetString(RDHealth[playerid],"~r~----------");}
}
return 1;
}
The problem is, is that it stays at:
pawn Код:
if(VehHel <= 100 && VehHel > 0){TextDrawSetString(RDHealth[playerid],"~y~-~r~---------");}
The Timer works because I have a Speed-o-meter that works by showing Number Mph (Example: 59 Mph) added into that public that works. (Took it out of it in the post because it is unnessecary.)
The Timer looks like this: Added Onto (OnPlayerEnterVehicle)
pawn Код:
SpeedAndHealthTimer[playerid] = SetTimerEx("SpeedAndHealth",1000,1,"i",playerid);
I have no Idea what could be going wrong to be honest.
Too put it short and simple: The Bar is staying at what should be if the vehicle is at health 100 to 0. Even though the vehicle is at full health (1000).
Thanks for reading my problem.
Re: Vehicle Health Bar Not Working -
Deat_Itself - 12.12.2009
You miss new Float:Health; in your script
Re: Vehicle Health Bar Not Working -
miokie - 12.12.2009
Quote:
Originally Posted by _Saif_
You miss new Float:Health; in your script
|
No I didn't.
Re: Vehicle Health Bar Not Working -
Deat_Itself - 12.12.2009
Quote:
Originally Posted by Miokie*
Quote:
Originally Posted by _Saif_
You miss new Float:Health; in your script
|
No I didn't. 
|
sry i havent seen it .Then try to get idea from other speedo meters ? and wait for some other to reply !
Re: Vehicle Health Bar Not Working -
Nero_3D - 12.12.2009
Check the wiki page about GetVehicleHealth
pawn Код:
public SpeedAndHealth(playerid)
{
new VehID = GetPlayerVehicleID(playerid);
if(VehID != INVALID_VEHICLE_ID)
{
new Float:Health;
GetVehicleHealth(VehID, Health);
if(Health >= 1000.0) TextDrawSetString(RDHealth[playerid], "~g~----------");
else if(Health > 900.0) TextDrawSetString(RDHealth[playerid], "~g~---------~y~-");
else if(Health > 800.0) TextDrawSetString(RDHealth[playerid], "~g~--------~y~-~r~-");
else if(Health > 700.0) TextDrawSetString(RDHealth[playerid], "~g~-------~y~-~r~--");
else if(Health > 600.0) TextDrawSetString(RDHealth[playerid], "~g~------~y~-~r~---");
else if(Health > 500.0) TextDrawSetString(RDHealth[playerid], "~g~-----~y~-~r~----");
else if(Health > 400.0) TextDrawSetString(RDHealth[playerid], "~g~----~y~-~r~-----");
else if(Health > 300.0) TextDrawSetString(RDHealth[playerid], "~g~---~y~-~r~------");
else if(Health > 200.0) TextDrawSetString(RDHealth[playerid], "~g~--~y~-~r~-------");
else if(Health > 100.0) TextDrawSetString(RDHealth[playerid], "~g~-~y~-~r~--------");
else if(Health > 0.0) TextDrawSetString(RDHealth[playerid], "~y~-~r~---------");
else TextDrawSetString(RDHealth[playerid], "~r~----------");
return true;
}
return false;
}
Re: Vehicle Health Bar Not Working -
miokie - 12.12.2009
Quote:
Originally Posted by ♣ ⓐⓢⓢ
Check the wiki page about GetVehicleHealth
pawn Код:
public SpeedAndHealth(playerid) { new VehID = GetPlayerVehicleID(playerid); if(VehID != INVALID_VEHICLE_ID) { new Float:Health; GetVehicleHealth(VehID, Health); if(Health >= 1000.0) TextDrawSetString(RDHealth[playerid], "~g~----------"); else if(Health > 900.0) TextDrawSetString(RDHealth[playerid], "~g~---------~y~-"); else if(Health > 800.0) TextDrawSetString(RDHealth[playerid], "~g~--------~y~-~r~-"); else if(Health > 700.0) TextDrawSetString(RDHealth[playerid], "~g~-------~y~-~r~--"); else if(Health > 600.0) TextDrawSetString(RDHealth[playerid], "~g~------~y~-~r~---"); else if(Health > 500.0) TextDrawSetString(RDHealth[playerid], "~g~-----~y~-~r~----"); else if(Health > 400.0) TextDrawSetString(RDHealth[playerid], "~g~----~y~-~r~-----"); else if(Health > 300.0) TextDrawSetString(RDHealth[playerid], "~g~---~y~-~r~------"); else if(Health > 200.0) TextDrawSetString(RDHealth[playerid], "~g~--~y~-~r~-------"); else if(Health > 100.0) TextDrawSetString(RDHealth[playerid], "~g~-~y~-~r~--------"); else if(Health > 0.0) TextDrawSetString(RDHealth[playerid], "~y~-~r~---------"); else TextDrawSetString(RDHealth[playerid], "~r~----------"); return true; } return false; }
|
Ahh I understand now, Thank you very much!