So pretty much I want the player to get the gamepass weapon after they died and respawn they recieve it again. Here is the code I have so far. So under StarterGUI and then under ScreenGUI I added image button then a Local Script as follows:
script.Parent.MouseButton1Click:Connect(function()
game:GetService("MarketplaceService"):PromptGamePassPurchase(game.Players.LocalPlayer,17070852)
end)
The code above is supposed to make a image button and then if the player clicks on it they get a prompt to buy the gamepass weapon. So then in order for them to recieve the gamepass item. I added some other stuff. Under StarterGUI I added a Local Script that says:
local player = game.Players.LocalPlayer
local ownsGamepass = game:GetService("MarketplaceService"):UserOwnsGamePassAsync(player.UserId,17070852)
if ownsGamepass then
local Launcher = game:GetService("ReplicatedStorage"):WaitForChild("Launcher"):Clone()
Launcher.Parent = player.Backpack
end
So this is supposed to give the player the gamepass weapon but the thing is every time they die and respawn they lose the weapon. I want to make it so every time they respawn they receive the gamepass weapon again... Can someone make a script or edit this script for me? Or at least help me do so?
Very much appreciated!

3 comments
The player on the 2nd line is error. player.CharacterAdded:Connect that part. Only player is error... Please tell me why?
Oh nevermind that was my error. I copied it wrong! Thank you! Your answer is amazing! Let me try now!
It worked!!! :D