local player = minetest.get_player_by_name(name)
for _, player_area in pairs(areas:getAreasAtPos(player:get_pos())) do
for _, marked_area in pairs(elidragon.savedata.areas) do
- if player_area.name == marked_area.name and marked_area.tag == tag and elidragon.get_rank(player_area.owner).name == "admin" then
+ if player_area.name == marked_area.name and marked_area.tag == tag and minetest.check_player_privs(player_area.owner, {server = true}) then
return marked_area
end
end
function elidragon.limit_tick()
for _, player in pairs(minetest.get_connected_players()) do
local name = player:get_player_name()
- local rank = elidragon.get_rank(name).name
+ local rank = elidragon.get_rank(player).name
local privs = minetest.get_player_privs(name)
- local has_fly = elidragon.get_rank(name) == "vip" or elidragon.get_rank(name) == "builder"
+ local has_fly = rank ~= "player"
if rank ~= "admin" then
privs.tp_tpc = nil
end
if teleport_area then
elidragon.teleport(name, teleport_area.param)
end
- if elidragon.get_area_with_tag(name, "movement") and rank ~= "admin" and rank ~= "moderator" and rank ~= "helper" then
+ if elidragon.get_area_with_tag(name, "movement") and rank ~= "admin" and rank ~= "moderator" and rank ~= "dev" and rank ~= "helper" then
privs.fly = nil
privs.fast = nil
privs.home = nil
return true
end
end)
-minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch, tool_capabilities, dir, damage)
- if elidragon.get_area_with_tag(player:get_player_name(), "pvp") then
- if player:get_hp() - damage < 0 and player:get_hp() <= 0 then
- minetest.chat_send_all(minetest.colorize("#D3FF2A", hitter:get_player_name() .. " has killed " .. player:get_player_name() .. " in the PvP area!"))
- end
- end
-end)
minetest.register_on_player_hpchange(function(player, hp_change)
local name = player:get_player_name()
if elidragon.get_area_with_tag(name, "no_damage") and hp_change < 0 then