; If you use TheNiceOne's HUD Status Bars, the following values may be useful:; BN.exhaustion; BN.hunger; BN.needs = exhaustion + hunger; BN.fatigueLossRate \; BN.magickaLossRate = per second (not including fallout); BN.healthLossRate /
Quoted from the end of BareNecessities.ini.

For pre-supplied bar definitions I'd probably use only BN.hunger and BN.exhaustion.
For setting your min and max, plus maybe some color shifting, you might as well use the threshold variables for the built-in notification system:
set BN.ExhaustionMessageLow to 4set BN.ExhaustionMessageHigh to 16set BN.ExhaustionMessageExtreme to 36set BN.HungerMessageLow to 2set BN.HungerMessageHigh to 8set BN.HungerMessageExtreme to 36
By default, hunger and fatigue are measured in GameHours. A value of zero means you're fully fed/rested. If it rises above ***High you'll get a message that you should eat or sleep, and if it rises above ***Extreme, you're told that your hunger or exhaustion is unbearable. After sleeping or eating, falling past ***Low gives a message that you're well-rested/well-fed.
There are several potential HUD configurations based on this... hmm. To avoid getting the "hungry" message before the bar's even half empty, I'd probably ignore the Extreme threshold for this purpose and do it something like: hud_max = 0, hud_min = (High * 1.5), color-change at Low and again at High. (Or just at High. There are only so many colors...)
Edit: Hey... is it possible for the min and max values to be dynamic? If so, I'd do min = High
until you reach High, then turn the bar a nasty color and switch to min = Extreme. I guess the hud_min line would be:
"((BN.HungerMessageHigh>BN.hunger)*BN.HungerMessageHigh)+((BN.HungerMessageHigh<=BN.hunger)*BN.HungerMessageExtreme)"
Moving this from your general thread - sorry for not aswering earlier, but here is a suggested HSB ini setting, based on your info above. It IS possible for min/max to be dynamic, but it is often a better alternative to split one bar into two bars that share identical positions, but where the color definition contains some test that always makes one of the bars invisible. I did this here.
The first bar is only displayed if hunger <= HungerMessageHigh. The bar is yellow, but I subtract 6 (to make it green) if you're well fed. The bar goes from full when BN.hunger is zero, to empty when it reaches HungerMessageHigh.
The second bar is only displayed if hunger is > HungerMessageHigh, with a red color. It goes from full when hunger is equal to HungerMessageHigh, and becomes empty when reaching HungerMessageExtreme. If you want the bar to go from empty to full instead, just replace "hud_min" by "hud_max" and vice versa. The red bar also has "Hungry" in red letters above the bar. If you don't want the text (or the space it takes), remove the tnoHSB.hud_name lines - or you can move the text to the left/right/below the bar by using the hud_textPos_x and hud_textPos_y settings.
The exhaustion bar(s) work identically to the hunger bar(s)
; Hungerset tnoHSB.hud_color to sv_Construct "HUDcolorYellow*(BN.hunger <= BN.HungerMessageHigh) - 6*(BN.hunger <= BN.HungerMessageLow)" set tnoHSB.hud_val to sv_Construct "BN.hunger"set tnoHSB.hud_min to sv_Construct "BN.HungerMessageHigh"set tnoHSB.hud_name to sv_Construct " " ; Just to make space for the text when hungrySetStage tnoHSB 10set tnoHSB.hud_color to sv_Construct "HUDcolorRed*(BN.hunger > BN.HungerMessageHigh)" set tnoHSB.hud_val to sv_Construct "BN.HungerMessageHigh"set tnoHSB.hud_min to sv_Construct "BN.HungerMessageExtreme"set tnoHSB.hud_max to sv_Construct "BN.HungerMessageHigh"set tnoHSB.hud_y to HUDprevBar ; Makes the second bar have the same pos as the firstset tnoHSB.hud_name to sv_Construct "Hungry" ; Makes it display "Hungry above the bar"!SetStage tnoHSB 10; Exhaustionset tnoHSB.hud_color to sv_Construct "HUDcolorYellow*(BN.exhaustion <= BN.ExhaustionMessageHigh) - 6*(BN.hunger <= BN.exhaustionMessageLow)" set tnoHSB.hud_val to sv_Construct "BN.exhaustion"set tnoHSB.hud_min to sv_Construct "BN.ExhaustionMessageHigh"set tnoHSB.hud_name to sv_Construct " " ; Just to make space for the text when exhaustedSetStage tnoHSB 10set tnoHSB.hud_color to sv_Construct "HUDcolorRed*(BN.exhaustion > BN.ExhaustionMessageHigh)" set tnoHSB.hud_val to sv_Construct "BN.ExhaustionMessageHigh"set tnoHSB.hud_min to sv_Construct "BN.ExhaustionMessageExtreme"set tnoHSB.hud_max to sv_Construct "BN.ExhaustionMessageHigh"set tnoHSB.hud_y to HUDprevBar ; Makes the second bar have the same pos as the firstset tnoHSB.hud_name to sv_Construct "Exhausted" ; Makes it display "Exhausted above the bar"!SetStage tnoHSB 10
I haven't tested this, but would very much appreciate if some user of Bare Necessities and HUD Status Bars could test it out and report back