mirror of
https://github.com/minetest-mods/areas.git
synced 2024-12-25 02:00:40 +01:00
Show area owners on the hud (inspired by landrush)
This commit is contained in:
parent
17b32663b7
commit
0c20a1b616
@ -67,9 +67,6 @@ Chat commands
|
||||
For example:
|
||||
/find_areas [Cc]astle To find castles.
|
||||
|
||||
* /list\_owners
|
||||
Lists the owners of your position.
|
||||
|
||||
* /remove\_area <ID>
|
||||
Removes a area that you own. Any sub-areas of that area are made sub-areas
|
||||
of the removed area's parent, if it exists. Otherwise they will have no
|
||||
|
@ -169,29 +169,6 @@ minetest.register_chatcommand("rename_area", {
|
||||
end})
|
||||
|
||||
|
||||
minetest.register_chatcommand("list_owners", {
|
||||
params = "",
|
||||
description = "List the owners of your position",
|
||||
privs = {},
|
||||
func = function(name, param)
|
||||
local player = minetest.get_player_by_name(name)
|
||||
if not player then
|
||||
minetest.chat_send_player(name,
|
||||
"Unable to find your position.")
|
||||
return
|
||||
end
|
||||
local pos = vector.round(player:getpos())
|
||||
local owners = areas:getNodeOwners(pos)
|
||||
if #owners > 0 then
|
||||
minetest.chat_send_player(name,
|
||||
"Owners: "..table.concat(owners, ", "))
|
||||
else
|
||||
minetest.chat_send_player(name,
|
||||
"Your position is unowned.")
|
||||
end
|
||||
end})
|
||||
|
||||
|
||||
minetest.register_chatcommand("find_areas", {
|
||||
params = "<regexp>",
|
||||
description = "Find areas using a Lua regular expression",
|
||||
|
38
hud.lua
Normal file
38
hud.lua
Normal file
@ -0,0 +1,38 @@
|
||||
-- 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 owners = areas:getNodeOwners(pos)
|
||||
local ownerString = table.concat(owners, ", ")
|
||||
if not areas.hud[name] then
|
||||
areas.hud[name] = {}
|
||||
areas.hud[name].ownersId = player:hud_add({
|
||||
hud_elem_type = "text",
|
||||
name = "AreaOwners",
|
||||
number = 0xFFFFFF,
|
||||
position = {x=0, y=1},
|
||||
offset = {x=5, y=-40},
|
||||
direction = 0,
|
||||
text = "Area owners: "..ownerString,
|
||||
scale = {x=200, y=40},
|
||||
alignment = {x=1, y=1},
|
||||
})
|
||||
areas.hud[name].oldOwners = ownerString
|
||||
return
|
||||
end
|
||||
if areas.hud[name].oldOwners ~= ownerString then
|
||||
player:hud_change(areas.hud[name].ownersId, "text",
|
||||
"Area owners: "..ownerString)
|
||||
areas.hud[name].oldOwners = ownerString
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.register_on_leaveplayer(function(player)
|
||||
areas.hud[player:get_player_name()] = nil
|
||||
end)
|
||||
|
Loading…
Reference in New Issue
Block a user