Vehicle Health Bar Not Working
#1

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.
Reply
#2

You miss new Float:Health; in your script
Reply
#3

Quote:
Originally Posted by _Saif_
You miss new Float:Health; in your script
No I didn't.
Reply
#4

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 !
Reply
#5

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;
}
Reply
#6

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!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)