public LoseHealth(playerid)
{
new Float: health;
hbHealth[playerid] -= 5;
SetPlayerHealth(playerid, hbHealth[playerid]);
if(GetPlayerHealth(playerid, health) == 0) KillTimer(healthUpdater[playerid]);
return 1;
}
public OnPlayerSpawn(playerid)
{
//=====[PlayerSettings]
SetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
SetPlayerArmour(playerid, PlayerInfo[playerid][pArmour]);
SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
SetTimerEx("ucitavanjeobjekatatd", 50, false, "i", playerid);
Hunger[playerid] = 100, hbHealth[playerid] = 100;
HungerBar[playerid] = CreatePlayerProgressBar(playerid, 547.5, 58.0, 59.0, 5, 0x52875AFF, 100.0);
ShowPlayerProgressBar(playerid, HungerBar[playerid]);
SetPlayerProgressBarValue(playerid, HungerBar[playerid], 100);
UpdatePlayerProgressBar(playerid, HungerBar[playerid]);
progressUpdater[playerid] = SetTimer("HungerProgressBar", 1000, true); // 1000 = 1 second, change this to whatever time you want
return 1;
}
new PlayerBar:HungerBar[MAX_PLAYERS];
new progressUpdater[MAX_PLAYERS];
new healthUpdater[MAX_PLAYERS];
new Hunger[MAX_PLAYERS];
new hbHealth[MAX_PLAYERS];
error 017: undefined symbol "UpdatePlayerProgressBar"
UpdateProgressBar(barid, playerid=INVALID_PLAYER_ID) Everytime you change a progress bar value or color, you need to update it. I didn't include this function directly in SetProgressBarValue/SetProgressBarColor, because it's not efficient in this way. You can simply not use the playerid parameter, and the progress bar will update for everyone. |
UpdatePlayerProgressBar(playerid, HungerBar[playerid]);