Hello Fellow Developers! I am currently in need of support. I am trying to add an “Infinite Lives” Gamepass to one of my games. The problem? Well it doesn’t seem to be working. I am not getting any errors in the output. I have tried many things although none have worked. Before adding the MarketplaceService, it worked fine. Here is my script:
local MarketplaceService = game:GetService("MarketplaceService")
local diedEvent = game.ReplicatedStorage.DiedEvent
local reviveEvent = game.ReplicatedStorage.reviveEvent
local passid = 58747879
local function onPlayerAdded(player)
if MarketplaceService:UserOwnsGamePassAsync(player.UserId, passid) == true then
local function loadDiedFunction(player)
player.Character.Humanoid.Died:connect(function()
wait(1)
diedEvent:FireClient(player)
end)
end
game.Players.PlayerAdded:Connect(function(player)
player:LoadCharacter()
loadDiedFunction(player)
end)
reviveEvent.OnServerEvent:Connect(function(player)
player:LoadCharacter()
loadDiedFunction(player)
end)
end
end
(This script is not mine)
I appreciate all of the help!
I fixed that earlier. Here is the current version of my script (With the changes you suggested)
local MarketplaceService = game:GetService("MarketplaceService")
local diedEvent = game.ReplicatedStorage.DiedEvent
local reviveEvent = game.ReplicatedStorage.reviveEvent
local passid = 58747879
local Players = game:GetService("Players")
local function onPlayerAdded(player)
if MarketplaceService:UserOwnsGamePassAsync(player.UserId, passid) == true then
local function loadDiedFunction(player)
player.Character.Humanoid.Died:connect(function()
wait(1)
diedEvent:FireClient(player)
end)
end
game.Players.PlayerAdded:Connect(function(player)
local character = player.Character or player.CharacterAdded:Wait()
player:LoadCharacter()
loadDiedFunction(player)
end)
reviveEvent.OnServerEvent:Connect(function(player)
player:LoadCharacter()
loadDiedFunction(player)
end)
end
end
Players.PlayerAdded:Connect(onPlayerAdded)