I have a tycoon game and a gamepass that spawns in a dropper when you buy it. But for some reason, it doesn't work. When you step on a button, the dropper spawns. Well when you already have the gamepass and you join in, it doesn't spawn the dropper in. I think it there's an error with scanning each tycoon to recognize which tycoon to give the dropper to, but I don't know how to fix it.
Here's my script:
local function getTycoonFromPlayer(player)
for i,v in pairs(workspace.Tycoons:GetChildren()) do
if v:IsA("Model") then
if v.Owner.Value == player then
return v
end
end
end
return nil
end
local marketplace = game:GetService("MarketplaceService")
game.Players.PlayerAdded:Connect(function(player)
if marketplace:UserOwnsGamePassAsync(player.UserId, 6559657) then
script.OwnsGamepass.Value = true
local tycoon = getTycoonFromPlayer(player)
if tycoon then
local dropper = tycoon.Purchases:FindFirstChild("StarterDropper")
if dropper then
if tycoon.Owner.Value == nil then
repeat wait() until tycoon.Owner.Value == player return
else
dropper.Parent = tycoon.PurchasedItems
end
end
end
end
end)
Any help is appreciated

1 comment
Screen shot output when running the script