Script works just keeps duplicating tool when player dies and respawns

local MarketPlaceService = game:GetService(“MarketplaceService”)

local GamepassId = 44749199
local Tool = script.SubspaceTripmine

game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Connect(function(character)
if MarketPlaceService:UserOwnsGamePassAsync(player.UserId, GamepassId) then
local ToolClone = Tool:Clone()
ToolClone.Parent = player.Backpack

	end
end)

end)

Hm.

Try this:

local MarketPlaceService = game:GetService(“MarketplaceService”)

local GamepassId = 44749199
local Tool = script.SubspaceTripmine

game.Players.PlayerAdded:Connect(function(player)
player.CharacterAdded:Wait()
if MarketPlaceService:UserOwnsGamePassAsync(player.UserId, GamepassId) then
local ToolClone = Tool:Clone()
ToolClone.Parent = player.Backpack

	end
end)

Had no luck. Wasnt giving the player the item

Does it give them the item EVER? It should give it to them the first time their character loads

Doesn’t give it ever unfortunately

Can you please add a print() statement after the CharacterAdded:Wait() thing and see if it ever fires?

Yeah one moment. Let me try to see

It worked. MarketplaceService was MarketPlace. Thank you