From da66780a569712c23ae4f2996cfb4608a9f9d69d Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 1 Apr 2016 20:02:19 -0400 Subject: copy all standard Dreambuilder mods in from the old subgame (exactly as last supplied there, updates to these mods will follow later) --- areas/hud.lua | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 areas/hud.lua (limited to 'areas/hud.lua') diff --git a/areas/hud.lua b/areas/hud.lua new file mode 100644 index 0000000..4908b92 --- /dev/null +++ b/areas/hud.lua @@ -0,0 +1,46 @@ +-- This is inspired by the landrush mod by Bremaweb + +areas.hud = {} + +minetest.register_globalstep(function(dtime) + for _, player in pairs(minetest.get_connected_players()) do + local name = player:get_player_name() + local pos = vector.round(player:getpos()) + local areaStrings = {} + for id, area in pairs(areas:getAreasAtPos(pos)) do + table.insert(areaStrings, ("%s [%u] (%s%s)") + :format(area.name, id, area.owner, + area.open and ":open" or "")) + end + local areaString = "Areas:" + if #areaStrings > 0 then + areaString = areaString.."\n".. + table.concat(areaStrings, "\n") + end + local hud = areas.hud[name] + if not hud then + hud = {} + areas.hud[name] = hud + hud.areasId = player:hud_add({ + hud_elem_type = "text", + name = "Areas", + number = 0xFFFFFF, + position = {x=0, y=1}, + offset = {x=8, y=-8}, + text = areaString, + scale = {x=200, y=60}, + alignment = {x=1, y=-1}, + }) + hud.oldAreas = areaString + return + elseif hud.oldAreas ~= areaString then + player:hud_change(hud.areasId, "text", areaString) + hud.oldAreas = areaString + end + end +end) + +minetest.register_on_leaveplayer(function(player) + areas.hud[player:get_player_name()] = nil +end) + -- cgit v1.2.3