SA-MP Forums Archive
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!