forked from mtcontrib/minetest_hudbars
		
	Compare commits
	
		
			29 Commits
		
	
	
		
			nalc-1.0
			...
			28dcf8af65
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 28dcf8af65 | |||
| 
						 | 
					a250d2a350 | ||
| 
						 | 
					7993feac07 | ||
| 
						 | 
					b19b5f090a | ||
| 
						 | 
					9a8a3f0f8c | ||
| 
						 | 
					2eb2df946b | ||
| c4ddef312e | |||
| 
						 | 
					2ffcd94dd6 | ||
| 
						 | 
					8d3fa950f8 | ||
| 
						 | 
					332aa18452 | ||
| 7f6ed309b3 | |||
| 
						 | 
					99ebd71da7 | ||
| 
						 | 
					699e356609 | ||
| 
						 | 
					8c80745ecb | ||
| 
						 | 
					1e3def3cfa | ||
| 
						 | 
					48d9fd6a12 | ||
| 7cd5940c68 | |||
| 
						 | 
					085a2aa901 | ||
| 
						 | 
					14a535de0d | ||
| 
						 | 
					afb0242b3b | ||
| 
						 | 
					915fab08e2 | ||
| 
						 | 
					895fcae716 | ||
| 
						 | 
					07b9f766d2 | ||
| 
						 | 
					a3fede159b | ||
| 
						 | 
					5710667766 | ||
| 
						 | 
					1568d1f418 | ||
| 
						 | 
					8b577c7424 | ||
| 
						 | 
					8d2d2d6070 | ||
| 
						 | 
					94b9c545da | 
							
								
								
									
										18
									
								
								API.md
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								API.md
									
									
									
									
									
								
							@@ -45,7 +45,7 @@ a vertical gradient.
 | 
			
		||||
### Icon
 | 
			
		||||
A 16×16 image shown left of the HUD bar. This is optional.
 | 
			
		||||
 | 
			
		||||
### `hb.register_hudbar(identifier, text_color, label, textures, default_start_value, default_start_max, default_start_hidden, format_string)`
 | 
			
		||||
### `hb.register_hudbar(identifier, text_color, label, textures, default_start_value, default_start_max, default_start_hidden, format_string, format_string_config)`
 | 
			
		||||
This function registers a new custom HUD bar definition to the HUD bars mod, so it can be later used to be displayed, changed, hidden
 | 
			
		||||
and unhidden on a per-player basis.
 | 
			
		||||
Note this does not yet display the HUD bar.
 | 
			
		||||
@@ -66,7 +66,21 @@ for more information.
 | 
			
		||||
* `default_start_value`: If this HUD bar is added to a player, and no initial value is specified, this value will be used as initial current value
 | 
			
		||||
* `default_max_value`: If this HUD bar is added to a player, and no initial maximum value is specified, this value will be used as initial maximum value
 | 
			
		||||
* `default_start_hidden`: The HUD bar will be initially start hidden by default when added to a player. Use `hb.unhide_hudbar` to unhide it.
 | 
			
		||||
* `format_string`: This is optional; You can specify an alternative format string display the final text on the HUD bar. The default format string is “`%s: %d/%d`” (in this order: Label, current value, maximum value). See also the Lua documentation of `string.format`.
 | 
			
		||||
* `format_string`: Optional; You can specify an alternative format string to use for the final text on the HUD bar. The default format string is “`@1: @2/@3`” (The “@” numbers are placeholders that have a meaning in this order: @1 = Label, @2 = current value, @3 = maximum value). Do *not* use minetest.translator on this string, the string will be translated by `hudbars`, but you still must put this string into the translation catalogue file.
 | 
			
		||||
* `format_string_config`: Required if `format_string` is set. This allows to change which parameters to use in the format string. It's a table with these fields:
 | 
			
		||||
 * `textdomain`: Text domain of the format string, used by `minetest.translate`
 | 
			
		||||
 * `order`: Table that contains the order of the placeholders. It's also possible to remove placeholders. Default order: `{ "label", "value", "max_value" }`
 | 
			
		||||
 * `format_value`: Format string to apply when displaying `value`. Syntax is same as in `string.format`. Default: `"%d"`
 | 
			
		||||
 * `format_max_value`: Same as `format_value` but is applied to `max_value`
 | 
			
		||||
 | 
			
		||||
#### Example
 | 
			
		||||
Example (mostly) from `hbarmor` mod:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
hb.register_hudbar("armor", 0xFFFFFF, minetest.translator("hbarmor", "Armor"), { icon = "hbarmor_icon.png", bgicon = "hbarmor_bgicon.png", bar = "hbarmor_bar.png" }, 0, 100, hbarmor.autohide, N("@1: @2%"), { order = { "label", "value" }, textdomain = "hbarmor" } )
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Displays an armor HUD bar with a label of the form „Armor: 53%“. (`N` is a dummy function that returns its argument, used to make the string visible for translator scripts.)
 | 
			
		||||
 | 
			
		||||
#### Return value
 | 
			
		||||
Always `nil`.
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ this mod will place them accordingly.
 | 
			
		||||
position should be displayed correctly on every screen size.
 | 
			
		||||
 | 
			
		||||
## Current version
 | 
			
		||||
The current version is 1.11.0.
 | 
			
		||||
The current version is 2.2.2.
 | 
			
		||||
 | 
			
		||||
This software uses [semantic versioning](http://semver.org), as defined by version 2.0.0 of the SemVer
 | 
			
		||||
standard.
 | 
			
		||||
@@ -38,6 +38,8 @@ Translations:
 | 
			
		||||
* Dutch: kingoscargames
 | 
			
		||||
* Italian: Hamlet
 | 
			
		||||
* Malay: muhdnurhidayat
 | 
			
		||||
* Russian: Imk
 | 
			
		||||
* Spanish: wuniversales
 | 
			
		||||
 | 
			
		||||
This program is free software. It comes without any warranty, to
 | 
			
		||||
the extent permitted by applicable law. You can redistribute it
 | 
			
		||||
 
 | 
			
		||||
@@ -1,92 +0,0 @@
 | 
			
		||||
Note: This software uses semantic versioning,
 | 
			
		||||
as of version 2.0.0 of the standard <http://semver.org/>.
 | 
			
		||||
 | 
			
		||||
0.1.0
 | 
			
		||||
-----
 | 
			
		||||
- Initial release, forked from mod “Better HUD” [hud].
 | 
			
		||||
 | 
			
		||||
0.2.0
 | 
			
		||||
-----
 | 
			
		||||
- Add API documentation
 | 
			
		||||
 | 
			
		||||
0.3.0
 | 
			
		||||
-----
 | 
			
		||||
- Rename main table from “hud” to “hb” (affects function names!)
 | 
			
		||||
- Arguments 3-4 of hb.change_hudbar can be nil for values which should not change
 | 
			
		||||
- Add proper function hb.init_hudbar, replaces odd call to hud.hudtables[identifier].add_all
 | 
			
		||||
- Update API documentation and fix mistakes
 | 
			
		||||
- Use “hudbars.conf” instead of “hud.conf”
 | 
			
		||||
 | 
			
		||||
0.4.0
 | 
			
		||||
-----
 | 
			
		||||
- New function: hb.get_hudbar_state to get information about the state of an active HUD bar, such as values, whether it is hidden, etc.
 | 
			
		||||
- hb.change_hudbar has been optimized to call hud_change fewer times, which is hopefully good for networking
 | 
			
		||||
- Rename hb.register_hudbar parameter “start_hide” to “start_hidden”
 | 
			
		||||
- start_hidden parameter now finally works
 | 
			
		||||
- Do not affect other HUD flags (crosshair, wielditem, etc.) when starting mod
 | 
			
		||||
- Show error message when trying to call hb.init_hudbar or hb.change_hudbar with bad values
 | 
			
		||||
- Update documentation
 | 
			
		||||
- Lots of refactoring
 | 
			
		||||
- Health and breath bar now use API
 | 
			
		||||
 | 
			
		||||
1.0.0
 | 
			
		||||
-----
 | 
			
		||||
- Add new parameter start_hidden to hb.init_hudbar, specified whether HUD bar is hidden on start
 | 
			
		||||
- Copy-editing of API.md and README.txt
 | 
			
		||||
- Internal: Fix add_all weirdness
 | 
			
		||||
 | 
			
		||||
1.0.1
 | 
			
		||||
-----
 | 
			
		||||
- Fix race condition causing crash at start of server
 | 
			
		||||
 | 
			
		||||
1.0.2
 | 
			
		||||
-----
 | 
			
		||||
- Fix other HUD elements disappearing for rejoining players
 | 
			
		||||
- Remove pointless delays for initializing the HUD for new or rejoining players
 | 
			
		||||
 | 
			
		||||
1.0.3
 | 
			
		||||
-----
 | 
			
		||||
- Adjust default HUD bars position for Minetest 0.4.12
 | 
			
		||||
 | 
			
		||||
1.1.0
 | 
			
		||||
-----
 | 
			
		||||
- Add boolean minetest.conf setting support (hudbars_autohide_breathbar) to control whether the breath bar is automatically hidden when full (default: yes)
 | 
			
		||||
 | 
			
		||||
1.2.0
 | 
			
		||||
-----
 | 
			
		||||
- New setting: hudbars_sorting. You can now manually sort all the HUD bars. Useful if you don't like automatic order
 | 
			
		||||
- New setting: hudbars_bar_type. You now can change the appearance of the HUD bars.
 | 
			
		||||
- New HUD bar types, slightly experimental: Classic statbars and modern [hud]-style statbars
 | 
			
		||||
- New experimental/unfinished setting: hudbars_alignment_pattern: You can now make the HUD bars stack vertically instead of the current zig-zag pattern. Note you probably need to change source code to productively use this feature
 | 
			
		||||
- Various position-related HUD bar settings (see README.txt)
 | 
			
		||||
- Remove hudbars.conf support and hudbars.conf.example (was never officially supported anyways)
 | 
			
		||||
 | 
			
		||||
1.2.1
 | 
			
		||||
-----
 | 
			
		||||
- Fix crash when enable_damage is changed in mid-game
 | 
			
		||||
 | 
			
		||||
1.3.0
 | 
			
		||||
-----
 | 
			
		||||
- Make all settings avaialbe in Minetest's advanced settings menu
 | 
			
		||||
- Fix HUD bars overlap when both hudbars_tick and hudbars_vmargin were set
 | 
			
		||||
- Use Markdown syntax in readme file
 | 
			
		||||
- Fix some factual mistakes in readme file
 | 
			
		||||
- Add metadata: mod.conf, description.txt, screenshot.png
 | 
			
		||||
 | 
			
		||||
1.4.0
 | 
			
		||||
-----
 | 
			
		||||
- Allow to change HUD bar images and label after it has been registered
 | 
			
		||||
- Minor API.md correction
 | 
			
		||||
 | 
			
		||||
1.4.1
 | 
			
		||||
-----
 | 
			
		||||
- Fix bug in hb.change_hudbar being a no-op if new_value and new_max value are nil
 | 
			
		||||
 | 
			
		||||
1.5.0
 | 
			
		||||
-----
 | 
			
		||||
- Portuguese translation by BrunoMine
 | 
			
		||||
 | 
			
		||||
1.5.1
 | 
			
		||||
-----
 | 
			
		||||
- Fix critical bug: Mod does not work with both intllib and mod security enabled
 | 
			
		||||
- Update screenshot to use new 3:2 aspect ratio
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
intllib?
 | 
			
		||||
@@ -1 +0,0 @@
 | 
			
		||||
Replaces the health and breath symbols in the HUD by “progress bars” and shows exact values. Other mods can add more progress bars for custom player stats.
 | 
			
		||||
							
								
								
									
										143
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										143
									
								
								init.lua
									
									
									
									
									
								
							@@ -1,13 +1,5 @@
 | 
			
		||||
local S
 | 
			
		||||
if minetest.global_exists("intllib") then
 | 
			
		||||
	if intllib.make_gettext_pair then
 | 
			
		||||
		S = intllib.make_gettext_pair()
 | 
			
		||||
	else
 | 
			
		||||
		S = intllib.Getter()
 | 
			
		||||
	end
 | 
			
		||||
else
 | 
			
		||||
	S = function ( s ) return s end
 | 
			
		||||
end
 | 
			
		||||
local S = minetest.get_translator("hudbars")
 | 
			
		||||
local N = function(s) return s end
 | 
			
		||||
 | 
			
		||||
hb = {}
 | 
			
		||||
 | 
			
		||||
@@ -59,6 +51,35 @@ local function player_exists(player)
 | 
			
		||||
	return player ~= nil and player:is_player()
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function make_label(format_string, format_string_config, label, start_value, max_value)
 | 
			
		||||
	local params = {}
 | 
			
		||||
	local order = format_string_config.order
 | 
			
		||||
	for o=1, #order do
 | 
			
		||||
		if order[o] == "label" then
 | 
			
		||||
			table.insert(params, label)
 | 
			
		||||
		elseif order[o] == "value" then
 | 
			
		||||
			if format_string_config.format_value then
 | 
			
		||||
				table.insert(params, string.format(format_string_config.format_value, start_value))
 | 
			
		||||
			else
 | 
			
		||||
				table.insert(params, start_value)
 | 
			
		||||
			end
 | 
			
		||||
		elseif order[o] == "max_value" then
 | 
			
		||||
			if format_string_config.format_max_value then
 | 
			
		||||
				table.insert(params, string.format(format_string_config.format_max_value, max_value))
 | 
			
		||||
			else
 | 
			
		||||
				table.insert(params, max_value)
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
	local ret
 | 
			
		||||
	if format_string_config.textdomain then
 | 
			
		||||
		ret = minetest.translate(format_string_config.textdomain, format_string, unpack(params))
 | 
			
		||||
	else
 | 
			
		||||
		ret = S(format_string, unpack(params))
 | 
			
		||||
	end
 | 
			
		||||
	return ret
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Table which contains all players with active default HUD bars (only for internal use)
 | 
			
		||||
hb.players = {}
 | 
			
		||||
 | 
			
		||||
@@ -98,7 +119,7 @@ function hb.get_hudbar_position_index(identifier)
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
function hb.register_hudbar(identifier, text_color, label, textures, default_start_value, default_start_max, default_start_hidden, format_string)
 | 
			
		||||
function hb.register_hudbar(identifier, text_color, label, textures, default_start_value, default_start_max, default_start_hidden, format_string, format_string_config)
 | 
			
		||||
	minetest.log("action", "hb.register_hudbar: "..tostring(identifier))
 | 
			
		||||
	local hudtable = {}
 | 
			
		||||
	local pos, offset
 | 
			
		||||
@@ -132,7 +153,19 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
	if format_string == nil then
 | 
			
		||||
		format_string = S("%s: %d/%d")
 | 
			
		||||
		format_string = N("@1: @2/@3")
 | 
			
		||||
	end
 | 
			
		||||
	if format_string_config == nil then
 | 
			
		||||
		format_string_config = {}
 | 
			
		||||
	end
 | 
			
		||||
	if format_string_config.order == nil then
 | 
			
		||||
		format_string_config.order = { "label", "value", "max_value" }
 | 
			
		||||
	end
 | 
			
		||||
	if format_string_config.format_value == nil then
 | 
			
		||||
		format_string_config.format_value = "%d"
 | 
			
		||||
	end
 | 
			
		||||
	if format_string_config.format_max_value == nil then
 | 
			
		||||
		format_string_config.format_max_value = "%d"
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	hudtable.add_all = function(player, hudtable, start_value, start_max, start_hidden)
 | 
			
		||||
@@ -157,7 +190,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
 | 
			
		||||
			iconscale = { x=1, y=1 }
 | 
			
		||||
			barnumber = hb.value_to_barlength(start_value, start_max)
 | 
			
		||||
			bgiconnumber = hb.settings.statbar_length
 | 
			
		||||
			text = string.format(format_string, label, start_value, start_max)
 | 
			
		||||
			text = make_label(format_string, format_string_config, label, start_value, start_max)
 | 
			
		||||
		end
 | 
			
		||||
		if hb.settings.bar_type == "progress_bar" then
 | 
			
		||||
			ids.bg = player:hud_add({
 | 
			
		||||
@@ -167,6 +200,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
 | 
			
		||||
				text = "hudbars_bar_background.png",
 | 
			
		||||
				alignment = {x=1,y=1},
 | 
			
		||||
				offset = { x = offset.x - 1, y = offset.y - 1 },
 | 
			
		||||
				z_index = 0,
 | 
			
		||||
			})
 | 
			
		||||
			if textures.icon ~= nil then
 | 
			
		||||
				ids.icon = player:hud_add({
 | 
			
		||||
@@ -176,6 +210,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
 | 
			
		||||
					text = textures.icon,
 | 
			
		||||
					alignment = {x=-1,y=1},
 | 
			
		||||
					offset = { x = offset.x - 3, y = offset.y },
 | 
			
		||||
					z_index = 1,
 | 
			
		||||
				})
 | 
			
		||||
			end
 | 
			
		||||
		elseif hb.settings.bar_type == "statbar_modern" then
 | 
			
		||||
@@ -189,12 +224,19 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
 | 
			
		||||
					offset = { x = offset.x, y = offset.y },
 | 
			
		||||
					direction = 0,
 | 
			
		||||
					size = {x=24, y=24},
 | 
			
		||||
					z_index = 0,
 | 
			
		||||
				})
 | 
			
		||||
			end
 | 
			
		||||
		end
 | 
			
		||||
		local bar_image, bar_size
 | 
			
		||||
		if hb.settings.bar_type == "progress_bar" then
 | 
			
		||||
			bar_image = textures.bar
 | 
			
		||||
			-- NOTE: Intentionally set to nil. For some reason, on some systems,
 | 
			
		||||
			-- the progress bar is displaced when the bar_size is set explicitly here.
 | 
			
		||||
			-- On the other hand, setting this to nil is deprecated in MT 5.0.0 due to
 | 
			
		||||
			-- a debug log warning, but nothing is explained in lua_api.txt.
 | 
			
		||||
			-- This section is a potential bug magnet, please watch with care!
 | 
			
		||||
			-- The size of the bar image is expected to be exactly 2×16 pixels.
 | 
			
		||||
			bar_size = nil
 | 
			
		||||
		elseif hb.settings.bar_type == "statbar_classic" or hb.settings.bar_type == "statbar_modern" then
 | 
			
		||||
			bar_image = textures.icon
 | 
			
		||||
@@ -209,6 +251,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
 | 
			
		||||
			offset = offset,
 | 
			
		||||
			direction = 0,
 | 
			
		||||
			size = bar_size,
 | 
			
		||||
			z_index = 1,
 | 
			
		||||
		})
 | 
			
		||||
		if hb.settings.bar_type == "progress_bar" then
 | 
			
		||||
			ids.text = player:hud_add({
 | 
			
		||||
@@ -219,6 +262,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
 | 
			
		||||
				number = text_color,
 | 
			
		||||
				direction = 0,
 | 
			
		||||
				offset = { x = offset.x + 2,  y = offset.y - 1},
 | 
			
		||||
				z_index = 2,
 | 
			
		||||
		})
 | 
			
		||||
		end
 | 
			
		||||
		-- Do not forget to update hb.get_hudbar_state if you add new fields to the state table
 | 
			
		||||
@@ -247,6 +291,7 @@ function hb.register_hudbar(identifier, text_color, label, textures, default_sta
 | 
			
		||||
 | 
			
		||||
	hudtable.identifier = identifier
 | 
			
		||||
	hudtable.format_string = format_string
 | 
			
		||||
	hudtable.format_string_config = format_string_config
 | 
			
		||||
	hudtable.label = label
 | 
			
		||||
	hudtable.hudids = {}
 | 
			
		||||
	hudtable.hudstate = {}
 | 
			
		||||
@@ -276,6 +321,9 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon
 | 
			
		||||
 | 
			
		||||
	local name = player:get_player_name()
 | 
			
		||||
	local hudtable = hb.get_hudtable(identifier)
 | 
			
		||||
	if not hudtable.hudstate[name] then
 | 
			
		||||
		return false
 | 
			
		||||
	end
 | 
			
		||||
	local value_changed, max_changed = false, false
 | 
			
		||||
 | 
			
		||||
	if new_value ~= nil then
 | 
			
		||||
@@ -307,7 +355,7 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon
 | 
			
		||||
		end
 | 
			
		||||
		if new_label ~= nil then
 | 
			
		||||
			hudtable.label = new_label
 | 
			
		||||
			local new_text = string.format(hudtable.format_string, new_label, hudtable.hudstate[name].value, hudtable.hudstate[name].max)
 | 
			
		||||
			local new_text = make_label(hudtable.format_string, hudtable.format_string_config, new_label, hudtable.hudstate[name].value, hudtable.hudstate[name].max)
 | 
			
		||||
			player:hud_change(hudtable.hudids[name].text, "text", new_text)
 | 
			
		||||
		end
 | 
			
		||||
		if new_text_color ~= nil then
 | 
			
		||||
@@ -351,7 +399,7 @@ function hb.change_hudbar(player, identifier, new_value, new_max_value, new_icon
 | 
			
		||||
			end
 | 
			
		||||
 | 
			
		||||
			if hb.settings.bar_type == "progress_bar" then
 | 
			
		||||
				local new_text = string.format(hudtable.format_string, hudtable.label, new_value, new_max_value)
 | 
			
		||||
				local new_text = make_label(hudtable.format_string, hudtable.format_string_config, hudtable.label, new_value, new_max_value)
 | 
			
		||||
				if new_text ~= hudtable.hudstate[name].text then
 | 
			
		||||
					player:hud_change(hudtable.hudids[name].text, "text", new_text)
 | 
			
		||||
					hudtable.hudstate[name].text = new_text
 | 
			
		||||
@@ -367,19 +415,17 @@ function hb.hide_hudbar(player, identifier)
 | 
			
		||||
	local name = player:get_player_name()
 | 
			
		||||
	local hudtable = hb.get_hudtable(identifier)
 | 
			
		||||
	if hudtable == nil then return false end
 | 
			
		||||
	if(hudtable.hudstate[name].hidden == false) then
 | 
			
		||||
		if hb.settings.bar_type == "progress_bar" then
 | 
			
		||||
			if hudtable.hudids[name].icon ~= nil then
 | 
			
		||||
				player:hud_change(hudtable.hudids[name].icon, "scale", {x=0,y=0})
 | 
			
		||||
			end
 | 
			
		||||
			player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0})
 | 
			
		||||
			player:hud_change(hudtable.hudids[name].text, "text", "")
 | 
			
		||||
		elseif hb.settings.bar_type == "statbar_modern" then
 | 
			
		||||
			player:hud_change(hudtable.hudids[name].bg, "number", 0)
 | 
			
		||||
	if hb.settings.bar_type == "progress_bar" then
 | 
			
		||||
		if hudtable.hudids[name].icon ~= nil then
 | 
			
		||||
			player:hud_change(hudtable.hudids[name].icon, "scale", {x=0,y=0})
 | 
			
		||||
		end
 | 
			
		||||
		player:hud_change(hudtable.hudids[name].bar, "number", 0)
 | 
			
		||||
		hudtable.hudstate[name].hidden = true
 | 
			
		||||
		player:hud_change(hudtable.hudids[name].bg, "scale", {x=0,y=0})
 | 
			
		||||
		player:hud_change(hudtable.hudids[name].text, "text", "")
 | 
			
		||||
	elseif hb.settings.bar_type == "statbar_modern" then
 | 
			
		||||
		player:hud_change(hudtable.hudids[name].bg, "number", 0)
 | 
			
		||||
	end
 | 
			
		||||
	player:hud_change(hudtable.hudids[name].bar, "number", 0)
 | 
			
		||||
	hudtable.hudstate[name].hidden = true
 | 
			
		||||
	return true
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@@ -388,23 +434,21 @@ function hb.unhide_hudbar(player, identifier)
 | 
			
		||||
	local name = player:get_player_name()
 | 
			
		||||
	local hudtable = hb.get_hudtable(identifier)
 | 
			
		||||
	if hudtable == nil then return false end
 | 
			
		||||
	if(hudtable.hudstate[name].hidden) then
 | 
			
		||||
		local value = hudtable.hudstate[name].value
 | 
			
		||||
		local max = hudtable.hudstate[name].max
 | 
			
		||||
		if hb.settings.bar_type == "progress_bar" then
 | 
			
		||||
			if hudtable.hudids[name].icon ~= nil then
 | 
			
		||||
				player:hud_change(hudtable.hudids[name].icon, "scale", {x=1,y=1})
 | 
			
		||||
			end
 | 
			
		||||
			if hudtable.hudstate[name].max ~= 0 then
 | 
			
		||||
				player:hud_change(hudtable.hudids[name].bg, "scale", {x=1,y=1})
 | 
			
		||||
			end
 | 
			
		||||
			player:hud_change(hudtable.hudids[name].text, "text", tostring(string.format(hudtable.format_string, hudtable.label, value, max)))
 | 
			
		||||
		elseif hb.settings.bar_type == "statbar_modern" then
 | 
			
		||||
			player:hud_change(hudtable.hudids[name].bg, "number", hb.settings.statbar_length)
 | 
			
		||||
	local value = hudtable.hudstate[name].value
 | 
			
		||||
	local max = hudtable.hudstate[name].max
 | 
			
		||||
	if hb.settings.bar_type == "progress_bar" then
 | 
			
		||||
		if hudtable.hudids[name].icon ~= nil then
 | 
			
		||||
			player:hud_change(hudtable.hudids[name].icon, "scale", {x=1,y=1})
 | 
			
		||||
		end
 | 
			
		||||
		player:hud_change(hudtable.hudids[name].bar, "number", hb.value_to_barlength(value, max))
 | 
			
		||||
		hudtable.hudstate[name].hidden = false
 | 
			
		||||
		if hudtable.hudstate[name].max ~= 0 then
 | 
			
		||||
			player:hud_change(hudtable.hudids[name].bg, "scale", {x=1,y=1})
 | 
			
		||||
		end
 | 
			
		||||
		player:hud_change(hudtable.hudids[name].text, "text", make_label(hudtable.format_string, hudtable.format_string_config, hudtable.label, value, max))
 | 
			
		||||
	elseif hb.settings.bar_type == "statbar_modern" then
 | 
			
		||||
		player:hud_change(hudtable.hudids[name].bg, "number", hb.settings.statbar_length)
 | 
			
		||||
	end
 | 
			
		||||
	player:hud_change(hudtable.hudids[name].bar, "number", hb.value_to_barlength(value, max))
 | 
			
		||||
	hudtable.hudstate[name].hidden = false
 | 
			
		||||
	return true
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@@ -452,16 +496,20 @@ local function custom_hud(player)
 | 
			
		||||
		else
 | 
			
		||||
			hide = true
 | 
			
		||||
		end
 | 
			
		||||
		hb.init_hudbar(player, "health", player:get_hp(), nil, hide)
 | 
			
		||||
		local hp = player:get_hp()
 | 
			
		||||
		local hp_max = player:get_properties().hp_max
 | 
			
		||||
		hb.init_hudbar(player, "health", math.min(hp, hp_max), hp_max, hide)
 | 
			
		||||
		local breath = player:get_breath()
 | 
			
		||||
		local breath_max = player:get_properties().breath_max
 | 
			
		||||
		local hide_breath
 | 
			
		||||
		if breath == 11 and hb.settings.autohide_breath == true then hide_breath = true else hide_breath = false end
 | 
			
		||||
		hb.init_hudbar(player, "breath", math.min(breath, 10), nil, hide_breath or hide)
 | 
			
		||||
		if breath >= breath_max and hb.settings.autohide_breath == true then hide_breath = true else hide_breath = false end
 | 
			
		||||
		hb.init_hudbar(player, "breath", math.min(breath, breath_max-1), breath_max-1, hide_breath or hide)
 | 
			
		||||
	end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local function update_health(player)
 | 
			
		||||
	hb.change_hudbar(player, "health", player:get_hp())
 | 
			
		||||
	local hp_max = player:get_properties().hp_max
 | 
			
		||||
	hb.change_hudbar(player, "health", player:get_hp(), hp_max)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- update built-in HUD bars
 | 
			
		||||
@@ -472,13 +520,14 @@ local function update_hud(player)
 | 
			
		||||
			hb.unhide_hudbar(player, "health")
 | 
			
		||||
		end
 | 
			
		||||
		--air
 | 
			
		||||
		local breath_max = player:get_properties().breath_max
 | 
			
		||||
		local breath = player:get_breath()
 | 
			
		||||
		
 | 
			
		||||
		if breath == 11 and hb.settings.autohide_breath == true then
 | 
			
		||||
		if breath >= breath_max and hb.settings.autohide_breath == true then
 | 
			
		||||
			hb.hide_hudbar(player, "breath")
 | 
			
		||||
		else
 | 
			
		||||
			hb.unhide_hudbar(player, "breath")
 | 
			
		||||
			hb.change_hudbar(player, "breath", math.min(breath, 10))
 | 
			
		||||
			hb.change_hudbar(player, "breath", math.min(breath, breath_max-1), breath_max-1)
 | 
			
		||||
		end
 | 
			
		||||
		--health
 | 
			
		||||
		update_health(player)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
Health = Leben
 | 
			
		||||
Breath = Atem
 | 
			
		||||
%s: %d/%d = %s: %d/%d
 | 
			
		||||
							
								
								
									
										4
									
								
								locale/hudbars.de.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								locale/hudbars.de.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
# textdomain: hudbars
 | 
			
		||||
Health=Leben
 | 
			
		||||
Breath=Atem
 | 
			
		||||
@1: @2/@3=@1: @2/@3
 | 
			
		||||
							
								
								
									
										4
									
								
								locale/hudbars.es.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								locale/hudbars.es.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
# textdomain: hudbars
 | 
			
		||||
Health=Salud
 | 
			
		||||
Breath=Aliento
 | 
			
		||||
@1: @2/@3=@1: @2/@3
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
Health = Salute
 | 
			
		||||
Breath = Ossigeno
 | 
			
		||||
# textdomain: hudbars
 | 
			
		||||
Health=Salute
 | 
			
		||||
Breath=Ossigeno
 | 
			
		||||
 | 
			
		||||
# Default format string for progress bar-style HUD bars, e.g. “Health 5/20”
 | 
			
		||||
%s: %d/%d
 | 
			
		||||
@1: @2/@3=@1: @2/@3
 | 
			
		||||
							
								
								
									
										4
									
								
								locale/hudbars.ms.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								locale/hudbars.ms.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
# textdomain: hudbars
 | 
			
		||||
Health=Kesihatan
 | 
			
		||||
Breath=Nafas
 | 
			
		||||
@1: @2/@3=@1: @2/@3
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
Health = Gezondheid
 | 
			
		||||
Breath = Adem
 | 
			
		||||
# textdomain: hudbars
 | 
			
		||||
Health=Gezondheid
 | 
			
		||||
Breath=Adem
 | 
			
		||||
 | 
			
		||||
# Default format string for progress bar-style HUD bars, e.g. “Health 5/20”
 | 
			
		||||
%s: %d/%d
 | 
			
		||||
@1: @2/@3=@1: @2/@3
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
Health = Saude
 | 
			
		||||
Breath = Folego
 | 
			
		||||
# textdomain: hudbars
 | 
			
		||||
Health=Saude
 | 
			
		||||
Breath=Folego
 | 
			
		||||
 | 
			
		||||
# Formato de string padrão para progresso bar-style de barras do HUD, por exemplo “Saude 5/20”
 | 
			
		||||
%s: %d/%d
 | 
			
		||||
@1: @2/@3=@1: @2/@3
 | 
			
		||||
							
								
								
									
										4
									
								
								locale/hudbars.ru.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								locale/hudbars.ru.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
# textdomain: hudbars
 | 
			
		||||
Health=HP
 | 
			
		||||
Breath=дыхание
 | 
			
		||||
@1: @2/@3=@1: @2/@3
 | 
			
		||||
							
								
								
									
										4
									
								
								locale/hudbars.tr.tr
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								locale/hudbars.tr.tr
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
# textdomain: hudbars
 | 
			
		||||
Health=Can
 | 
			
		||||
Breath=Nefes
 | 
			
		||||
@1: @2/@3=@1: @2/@3
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
Health = Kesihatan
 | 
			
		||||
Breath = Nafas
 | 
			
		||||
%s: %d/%d = %s: %d/%d
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
Health
 | 
			
		||||
Breath
 | 
			
		||||
# textdomain: hudbars
 | 
			
		||||
Health=
 | 
			
		||||
Breath=
 | 
			
		||||
 | 
			
		||||
# Default format string for progress bar-style HUD bars, e.g. “Health 5/20”
 | 
			
		||||
%s: %d/%d
 | 
			
		||||
@1: @2/@3=
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +0,0 @@
 | 
			
		||||
Health = Can
 | 
			
		||||
Breath = Nefes
 | 
			
		||||
%s: %d/%d = %s: %d/%d
 | 
			
		||||
		Reference in New Issue
	
	Block a user