local ReplicatedStorage = game:GetService("ReplicatedStorage") local ModulesFolder = ReplicatedStorage:WaitForChild("Modules") local GamepassIdModule = require(ModulesFolder:WaitForChild("GamepassIds")) local MarketPlaceService = game:GetService("MarketplaceService") local Players = game:GetService("Players") local player = Players.LocalPlayer local ShopFrame = script.Parent.GamepassFrame local ShopContainer = ShopFrame.ScrollingFrame local ShopButton = script.Parent.GamepassButton for _, v in pairs(GamepassIdModule) do local GamepassIdInfos = MarketPlaceService:GetProductInfo(v, Enum.InfoType.GamePass) local TemplateClone = ReplicatedStorage.Template:Clone() TemplateClone.Parent = ShopContainer TemplateClone.Visible = true TemplateClone.GamepassIcon.Image = "rbxassetid://"..GamepassIdInfos.IconImageAssetId TemplateClone.PurchaseButton.Text = GamepassIdInfos.PriceInRobux TemplateClone.RobuxIcon.Image = "rbxassetid://4625635722" if not MarketPlaceService:UserOwnsGamePassAsync(player.UserId, v) then TemplateClone.PurchaseButton.MouseButton1Click:Connect(function() MarketPlaceService:PromptGamePassPurchase(player, v) end) end MarketPlaceService.PromptGamePassPurchaseFinished:Connect(function(Player, GamepassId, Purchased) if GamepassId == v and Purchased then TemplateClone.PurchaseButton.Text = "OWNS" TemplateClone.RobuxIcon.Image = "rbxassetid://9207037475" end end) end ShopButton.MouseButton1Click:Connect(function() ShopFrame.Visible = not ShopFrame.Visible end)