Fix on_killedplayer being called multiple times
This commit is contained in:
parent
f1bc56f4cd
commit
d92650158d
@ -435,12 +435,23 @@ function ctf.register_on_killedplayer(func)
|
|||||||
end
|
end
|
||||||
table.insert(ctf.registered_on_killedplayer, func)
|
table.insert(ctf.registered_on_killedplayer, func)
|
||||||
end
|
end
|
||||||
|
local dead_players = {}
|
||||||
|
minetest.register_on_respawnplayer(function(player)
|
||||||
|
dead_players[player:get_player_name()] = nil
|
||||||
|
end)
|
||||||
|
minetest.register_on_joinplayer(function(player)
|
||||||
|
dead_players[player:get_player_name()] = nil
|
||||||
|
end)
|
||||||
minetest.register_on_punchplayer(function(player, hitter,
|
minetest.register_on_punchplayer(function(player, hitter,
|
||||||
time_from_last_punch, tool_capabilities, dir, damage)
|
time_from_last_punch, tool_capabilities, dir, damage)
|
||||||
if player and hitter then
|
if player and hitter then
|
||||||
local to = ctf.player(player:get_player_name())
|
local to = ctf.player(player:get_player_name())
|
||||||
local from = ctf.player(hitter:get_player_name())
|
local from = ctf.player(hitter:get_player_name())
|
||||||
|
|
||||||
|
if dead_players[player:get_player_name()] then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if to.team == from.team and to.team ~= "" and to.team ~= nil then
|
if to.team == from.team and to.team ~= "" and to.team ~= nil then
|
||||||
minetest.chat_send_player(hitter:get_player_name(), player:get_player_name() .. " is on your team!")
|
minetest.chat_send_player(hitter:get_player_name(), player:get_player_name() .. " is on your team!")
|
||||||
if not ctf.setting("friendly_fire") then
|
if not ctf.setting("friendly_fire") then
|
||||||
@ -449,6 +460,7 @@ minetest.register_on_punchplayer(function(player, hitter,
|
|||||||
end
|
end
|
||||||
|
|
||||||
if player:get_hp() - damage <= 0 then
|
if player:get_hp() - damage <= 0 then
|
||||||
|
dead_players[player:get_player_name()] = true
|
||||||
local wielded = hitter:get_wielded_item()
|
local wielded = hitter:get_wielded_item()
|
||||||
local wname = wielded:get_name()
|
local wname = wielded:get_name()
|
||||||
print(wname)
|
print(wname)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user