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)