This script allows you to keep your inventory even after you die, so if you pick up a weapon, you will have it when you respawn, however if you have a situation where you pick up a better weapon, and drop the previous, when you next respawn you will still have both swords in your inventory, which can lead to duping and other sorts, how can I alter this to make it not give you items that you do not have in your inventory when you die?
local wm = Instance.new("Model")
wm.Name = "Weaps"
function give(weap, player)
for _, w in ipairs(player.Weaps:GetChildren()) do
if w.Name == weap.Name then return end
end
for _, w in ipairs(game.StarterPack:GetChildren()) do
if w.Name == weap.Name then return end
end
weap:clone().Parent = player.Weaps
end
game.Players.ChildAdded:connect(function(p)
wm:clone().Parent = p
wait()
p.Character.ChildAdded:connect(function(wep)
if wep.className == "Tool" then
give(wep, p)
end
end)
p.Changed:connect(function(pr)
if pr == "Character" then
for _, w in ipairs(p.Weaps:GetChildren()) do
w:clone().Parent = p.Backpack
end
p.Character.ChildAdded:connect(function(wep)
if wep.className == "Tool" then
give(wep, p)
end
end)
end
end)
p.Backpack.ChildAdded:connect(function(h)
if h.className == "HopperBin" then
give(h, p)
end
end)
end)
(I did not make this script)
