diff options
| author | Wuzzy <almikes@aol.com> | 2015-02-09 23:13:33 +0100 | 
|---|---|---|
| committer | Wuzzy <almikes@aol.com> | 2015-02-09 23:13:33 +0100 | 
| commit | 79997659d937e83071bb37d3a4d48e52d4155117 (patch) | |
| tree | 57b3d8389abac34fe20192678caf77762bbfc94e | |
| parent | 28551721f4179ca4ec15930d49c8ddcfa05eff58 (diff) | |
Allow hud.change_hudbar to change only one or no value of both
| -rw-r--r-- | API.md | 4 | ||||
| -rw-r--r-- | init.lua | 18 | 
2 files changed, 19 insertions, 3 deletions
@@ -104,7 +104,9 @@ After a HUD bar has been added, you can change the current and maximum value on  You use the function `hud.change_hudbar` for this.  ### `hud.change_hudbar(player, identifier, new_value, new_max_value)` -Changes the values of. If +Changes the values of an initialized HUD bar for a certain player. `new_value` and `new_max_value` +can be `nil`; if one of them is `nil`, that means the value is unchanged. If both values +are `nil`, this function is a no-op.  #### Parameters  * `player`: `ObjectRef` of the player to which the HUD bar belongs to @@ -156,10 +156,24 @@ function hud.init_hudbar(player, identifier, start_value, start_max)  end  function hud.change_hudbar(player, identifier, new_value, new_max_value) +	if new_value == nil and new_max_value == nil then +		return +	end +  	local name = player:get_player_name()  	local hudtable = hud.get_hudtable(identifier) -	hudtable.hudstate[name].value = new_value -	hudtable.hudstate[name].max = new_max_value + +	if new_value ~= nil then +		hudtable.hudstate[name].value = new_value +	else +		new_value = hudtable.hudstate[name].value +	end +	if new_max_value ~= nil then +		hudtable.hudstate[name].max = new_max_value +	else +		new_max_value = hudtable.hudstate[name].max +	end +  	if hudtable.hudstate[name].hidden == false then  		if hudtable.hudstate[name].max == 0 then  			player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0})  | 
