Make ctf_flag.collect_claimed() return a value, fix a bug
This commit is contained in:
parent
2328870dae
commit
cb7f00cd11
@ -117,9 +117,6 @@ minetest.register_chatcommand("ctf_clean", {
|
|||||||
func = function(name, param)
|
func = function(name, param)
|
||||||
ctf.log("chat", "Cleaning CTF...")
|
ctf.log("chat", "Cleaning CTF...")
|
||||||
ctf.clean_player_lists()
|
ctf.clean_player_lists()
|
||||||
if ctf_flag and ctf_flag.collect_claimed then
|
|
||||||
ctf_flag.collect_claimed()
|
|
||||||
end
|
|
||||||
if ctf_flag and ctf_flag.assert_flags then
|
if ctf_flag and ctf_flag.assert_flags then
|
||||||
ctf_flag.assert_flags()
|
ctf_flag.assert_flags()
|
||||||
end
|
end
|
||||||
|
@ -66,7 +66,6 @@ local function do_capture(attname, flag, returned)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
ctf_flag.collect_claimed()
|
|
||||||
ctf.needs_save = true
|
ctf.needs_save = true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -155,10 +154,11 @@ ctf_flag = {
|
|||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
_flagret = function(name)
|
_flagret = function(name)
|
||||||
for i = 1, #ctf_flag.claimed do
|
local claimed = ctf_flag.collect_claimed()
|
||||||
if ctf_flag.claimed[i].claimed.player == name then
|
for i = 1, #claimed do
|
||||||
do_capture(name, ctf_flag.claimed[i], true)
|
local flag = claimed[i]
|
||||||
ctf_flag.collect_claimed()
|
if flag.claimed.player == name then
|
||||||
|
do_capture(name, flag, true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
|
@ -71,27 +71,28 @@ function ctf_flag.register_on_pick_up(func)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function ctf_flag.collect_claimed()
|
function ctf_flag.collect_claimed()
|
||||||
ctf.log("utils", "Collecting claimed locations")
|
ctf.log("flag", "Collecting claimed locations")
|
||||||
ctf_flag.claimed = {}
|
local claimed = {}
|
||||||
for _, team in pairs(ctf.teams) do
|
for _, team in pairs(ctf.teams) do
|
||||||
for i = 1, #team.flags do
|
for i = 1, #team.flags do
|
||||||
if team.flags[i].claimed then
|
if team.flags[i].claimed then
|
||||||
table.insert(ctf_flag.claimed, team.flags[i])
|
table.insert(claimed, team.flags[i])
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
return claimed
|
||||||
end
|
end
|
||||||
ctf_flag.collect_claimed()
|
|
||||||
|
|
||||||
function ctf_flag.player_drop_flag(name)
|
function ctf_flag.player_drop_flag(name)
|
||||||
if not name then
|
if not name then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
for i = 1, #ctf_flag.claimed do
|
|
||||||
local flag = ctf_flag.claimed[i]
|
local claimed = ctf_flag.collect_claimed()
|
||||||
|
for i = 1, #claimed do
|
||||||
|
local flag = claimed[i]
|
||||||
if flag.claimed.player == name then
|
if flag.claimed.player == name then
|
||||||
flag.claimed = nil
|
flag.claimed = nil
|
||||||
ctf_flag.collect_claimed()
|
|
||||||
|
|
||||||
local flag_name = ""
|
local flag_name = ""
|
||||||
if flag.name then
|
if flag.name then
|
||||||
|
@ -10,11 +10,10 @@ local function safe_place(pos, node)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
ctf_flag.collect_claimed()
|
local claimed = ctf_flag.collect_claimed()
|
||||||
for i, flag in pairs(ctf_flag.claimed) do
|
for i, flag in pairs(claimed) do
|
||||||
flag.claimed = nil
|
flag.claimed = nil
|
||||||
end
|
end
|
||||||
ctf_flag.collect_claimed()
|
|
||||||
|
|
||||||
minetest.register_on_joinplayer(function(player)
|
minetest.register_on_joinplayer(function(player)
|
||||||
if ctf.team(ctf.player(player:get_player_name()).team) then
|
if ctf.team(ctf.player(player:get_player_name()).team) then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user