From 22efd5dfb766ac7ff2c33e00f434257cbdcea851 Mon Sep 17 00:00:00 2001 From: crabman77 Date: Fri, 27 Nov 2015 19:22:59 +0100 Subject: [PATCH] Fix hudbars bug value > max --- mods/hudbars/init.lua | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/mods/hudbars/init.lua b/mods/hudbars/init.lua index d2973aca..c290122f 100755 --- a/mods/hudbars/init.lua +++ b/mods/hudbars/init.lua @@ -180,14 +180,6 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value) local hudtable = hb.get_hudtable(identifier) local value_changed, max_changed = false, false - if new_value ~= nil and hudtable.hudstate[name] then - if new_value ~= hudtable.hudstate[name].value then - hudtable.hudstate[name].value = new_value - value_changed = true - end - elseif hudtable.hudstate[name] then - new_value = hudtable.hudstate[name].value - end if new_max_value ~= nil then if new_max_value ~= hudtable.hudstate[name].max then hudtable.hudstate[name].max = new_max_value @@ -197,6 +189,18 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value) new_max_value = (hudtable.hudstate[name] or {max = 0}).max end + if new_value ~= nil and hudtable.hudstate[name] then + if new_value ~= hudtable.hudstate[name].value then + if new_value > new_max_value then + new_value = new_max_value + end + hudtable.hudstate[name].value = new_value + value_changed = true + end + elseif hudtable.hudstate[name] then + new_value = hudtable.hudstate[name].value + end + local main_error_text = "[hudbars] Bad call to hb.change_hudbar, identifier: “"..tostring(identifier).."”, player name: “"..name.."”. " if new_max_value < new_value then