Needs to be defined earlier.

This commit is contained in:
Auke Kok 2019-04-03 10:24:02 -07:00
parent 024424ee8b
commit 6e2b9a0a51
4 changed files with 18 additions and 13 deletions

View File

@ -3,13 +3,17 @@ allow_defined_top = true
read_globals = {
"DIR_DELIM",
"minetest", "core",
"core",
"dump",
"vector", "nodeupdate",
"VoxelManip", "VoxelArea",
"PseudoRandom", "ItemStack",
"AreaStore",
"intllib",
"default",
table = { fields = { "copy", "getn" } }
}
globals = {
"minetest"
}

View File

@ -60,7 +60,7 @@ minetest.register_chatcommand("set_owner", {
local id = areas:add(ownerName, areaName, pos1, pos2, nil)
areas:save()
minetest.chat_send_player(ownerName,
"You have been granted control over area #"..
id..". Type /list_areas to show your areas.")
@ -383,10 +383,10 @@ minetest.register_chatcommand("area_info", {
table.insert(lines, ("%s spanning up to %dx%dx%d.")
:format(str, size.x, size.y, size.z))
end
local function priv_limit_info(priv, max_count, max_size)
local function priv_limit_info(lpriv, lmax_count, lmax_size)
size_info(("Players with the %q privilege"..
" can protect up to %d areas"):format(
priv, max_count), max_size)
lpriv, lmax_count), lmax_size)
end
if self_prot then
if privs.areas then

View File

@ -10,7 +10,7 @@ minetest.register_chatcommand("legacy_load_areas", {
minetest.chat_send_player(name, "Converting areas...")
local version = tonumber(param)
if version == 0 then
err = areas:node_ownership_load()
local err = areas:node_ownership_load()
if err then
minetest.chat_send_player(name, "Error loading legacy file: "..err)
return
@ -48,6 +48,7 @@ minetest.register_chatcommand("legacy_load_areas", {
function areas:node_ownership_load()
local filename = minetest.get_worldpath().."/owners.tbl"
local tables, err
tables, err = loadfile(filename)
if err then
return err

16
pos.lua
View File

@ -11,6 +11,14 @@ areas.set_pos = {}
areas.pos1 = {}
areas.pos2 = {}
local function posLimit(pos)
return {
x = math.max(math.min(pos.x, 31000), -31000),
y = math.max(math.min(pos.y, 31000), -31000),
z = math.max(math.min(pos.z, 31000), -31000)
}
end
minetest.register_chatcommand("select_area", {
params = "<ID>",
description = "Select a area by id.",
@ -129,14 +137,6 @@ function areas:getPos(playerName)
return areas:sortPos(pos1, pos2)
end
local function posLimit(pos)
return {
x = math.max(math.min(pos.x, 31000), -31000),
y = math.max(math.min(pos.y, 31000), -31000),
z = math.max(math.min(pos.z, 31000), -31000)
}
end
function areas:setPos1(playerName, pos)
areas.pos1[playerName] = posLimit(pos)
areas.markPos1(playerName)