1
0
mirror of https://github.com/sys4-fr/server-nalc.git synced 2024-12-25 18:20:36 +01:00

Drop contents of bags

Drop contents of bags when a player die (but not the bags)
This commit is contained in:
Ombridride 2014-10-28 22:26:44 +01:00
parent bccb1d2c5b
commit b4b484ad95

View File

@ -40,4 +40,78 @@ minetest.register_on_dieplayer(function(player)
player_inv:set_stack("craft", i, nil) player_inv:set_stack("craft", i, nil)
end end
-- Drop unified_inventory bags and their contents
if minetest.get_modpath("unified_inventory") then
local bag_id = {"bag1"}
local contents_id = ""
local n = 0
for n = 1, 4 do
if player_inv:get_size(bag_id[n]) == 1 then
contents_id = bag_id[n].."contents"
-- Drop the contents of the bag (but keep the bag itself)
for i = 1, player_inv:get_size(contents_id) do
-- Drop a clone of this item's stack and remove the one from the inventory
drop(pos, player_inv:get_stack(contents_id, i))
player_inv:set_stack(contents_id, i, nil)
end
end
end
end
if minetest.get_modpath("unified_inventory") then
local bag_id = {"bag2"}
local contents_id = ""
local n = 0
for n = 1, 4 do
if player_inv:get_size(bag_id[n]) == 1 then
contents_id = bag_id[n].."contents"
-- Drop the contents of the bag (but keep the bag itself)
for i = 1, player_inv:get_size(contents_id) do
-- Drop a clone of this item's stack and remove the one from the inventory
drop(pos, player_inv:get_stack(contents_id, i))
player_inv:set_stack(contents_id, i, nil)
end
end
end
end
if minetest.get_modpath("unified_inventory") then
local bag_id = {"bag3"}
local contents_id = ""
local n = 0
for n = 1, 4 do
if player_inv:get_size(bag_id[n]) == 1 then
contents_id = bag_id[n].."contents"
-- Drop the contents of the bag (but keep the bag itself)
for i = 1, player_inv:get_size(contents_id) do
-- Drop a clone of this item's stack and remove the one from the inventory
drop(pos, player_inv:get_stack(contents_id, i))
player_inv:set_stack(contents_id, i, nil)
end
end
end
end
if minetest.get_modpath("unified_inventory") then
local bag_id = {"bag4"}
local contents_id = ""
local n = 0
for n = 1, 4 do
if player_inv:get_size(bag_id[n]) == 1 then
contents_id = bag_id[n].."contents"
-- Drop the contents of the bag (but keep the bag itself)
for i = 1, player_inv:get_size(contents_id) do
-- Drop a clone of this item's stack and remove the one from the inventory
drop(pos, player_inv:get_stack(contents_id, i))
player_inv:set_stack(contents_id, i, nil)
end
end
end
end
end) end)