local MarketplaceService = game:GetService("MarketplaceService") local CoreGui = game:GetService("CoreGui") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local localPlayer = Players.LocalPlayer; local mainGui = Instance.new("ScreenGui") mainGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling; mainGui.Parent = CoreGui; local developerProductsFrame = Instance.new("TextButton") developerProductsFrame.Font = Enum.Font.GothamBold; developerProductsFrame.Text = "Developer Products" developerProductsFrame.TextColor3 = Color3.fromRGB(255, 255, 255) developerProductsFrame.TextSize = 16; developerProductsFrame.AutoButtonColor = false; developerProductsFrame.BackgroundColor3 = Color3.fromRGB(46, 46, 46) developerProductsFrame.BorderSizePixel = 0; developerProductsFrame.Position = UDim2.new(0.35, 0, 0.3, 0) developerProductsFrame.Size = UDim2.new(0, 252, 0, 35) developerProductsFrame.Parent = mainGui; local frameCorner = Instance.new("UICorner") frameCorner.CornerRadius = UDim.new(0, 6) frameCorner.Parent = developerProductsFrame; local closeButton = Instance.new("TextButton") closeButton.Font = Enum.Font.GothamBold; closeButton.Text = "X" closeButton.TextColor3 = Color3.fromRGB(255, 255, 255) closeButton.TextSize = 18; closeButton.BackgroundColor3 = Color3.fromRGB(200, 50, 50) closeButton.BorderSizePixel = 0; closeButton.Position = UDim2.new(1, -32, 0, 2.5) closeButton.Size = UDim2.new(0, 30, 0, 30) closeButton.Parent = developerProductsFrame; local closeButtonCorner = Instance.new("UICorner") closeButtonCorner.CornerRadius = UDim.new(0, 6) closeButtonCorner.Parent = closeButton; local containerFrame = Instance.new("Frame") containerFrame.BackgroundColor3 = Color3.fromRGB(46, 46, 46) containerFrame.BorderSizePixel = 0; containerFrame.Position = UDim2.new(0, 0, 1, 2) containerFrame.Size = UDim2.new(0, 252, 0, 441) containerFrame.Parent = developerProductsFrame; Instance.new("UICorner").Parent = containerFrame; local containerStroke = Instance.new("UIStroke") containerStroke.Color = Color3.fromRGB(113, 113, 113) containerStroke.Parent = containerFrame; local scrollingFrame = Instance.new("ScrollingFrame") scrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y; scrollingFrame.ScrollBarThickness = 5; scrollingFrame.Active = true; scrollingFrame.BackgroundTransparency = 1; scrollingFrame.BorderSizePixel = 0; scrollingFrame.Size = UDim2.new(1, 0, 1, 0) scrollingFrame.Parent = containerFrame; local listLayout = Instance.new("UIListLayout") listLayout.SortOrder = Enum.SortOrder.LayoutOrder; listLayout.Parent = scrollingFrame; local exampleProductFrame = Instance.new("Frame") exampleProductFrame.BackgroundTransparency = 1; exampleProductFrame.BorderSizePixel = 0; exampleProductFrame.Size = UDim2.new(1, 0, 0, 79) exampleProductFrame.Visible = false; exampleProductFrame.Name = "ExampleFrame" exampleProductFrame.Parent = scrollingFrame; local hoverBg = Instance.new("Frame") hoverBg.BackgroundColor3 = Color3.fromRGB(60, 60, 60) hoverBg.BackgroundTransparency = 1; hoverBg.BorderSizePixel = 0; hoverBg.Size = UDim2.new(1, 0, 1, 0) hoverBg.Name = "HoverBg" hoverBg.Parent = exampleProductFrame; Instance.new("UICorner", hoverBg).CornerRadius = UDim.new(0, 6) local nameLabel = Instance.new("TextLabel", exampleProductFrame) nameLabel.Name = "NameLabel" nameLabel.Font = Enum.Font.Gotham; nameLabel.Text = "Product Name:" nameLabel.TextColor3 = Color3.fromRGB(255, 255, 255) nameLabel.TextSize = 14; nameLabel.TextXAlignment = Enum.TextXAlignment.Left; nameLabel.BackgroundTransparency = 1; nameLabel.Position = UDim2.new(0.048, 0, 0.1, 0) nameLabel.Size = UDim2.new(0.8, 0, 0, 21) local idLabel = Instance.new("TextLabel", exampleProductFrame) idLabel.Name = "IDLabel" idLabel.Font = Enum.Font.Gotham; idLabel.Text = "Product ID:" idLabel.TextColor3 = Color3.fromRGB(255, 255, 255) idLabel.TextSize = 14; idLabel.TextXAlignment = Enum.TextXAlignment.Left; idLabel.BackgroundTransparency = 1; idLabel.Position = UDim2.new(0.048, 0, 0.29, 0) idLabel.Size = UDim2.new(0.5, 0, 0, 21) local descLabel = Instance.new("TextLabel", exampleProductFrame) descLabel.Name = "DescLabel" descLabel.Font = Enum.Font.Gotham; descLabel.Text = "Product Description:" descLabel.TextColor3 = Color3.fromRGB(255, 255, 255) descLabel.TextSize = 14; descLabel.TextXAlignment = Enum.TextXAlignment.Left; descLabel.BackgroundTransparency = 1; descLabel.Position = UDim2.new(0.048, 0, 0.47, 0) descLabel.Size = UDim2.new(0.8, 0, 0, 21) local priceLabel = Instance.new("TextLabel", exampleProductFrame) priceLabel.Name = "PriceLabel" priceLabel.Font = Enum.Font.Gotham; priceLabel.Text = "Product Price:" priceLabel.TextColor3 = Color3.fromRGB(255, 255, 255) priceLabel.TextSize = 14; priceLabel.TextXAlignment = Enum.TextXAlignment.Left; priceLabel.BackgroundTransparency = 1; priceLabel.Position = UDim2.new(0.048, 0, 0.645, 0) priceLabel.Size = UDim2.new(0.5, 0, 0, 21) local divider = Instance.new("Frame", exampleProductFrame) divider.Name = "Divider" divider.BackgroundColor3 = Color3.fromRGB(102, 102, 102) divider.BorderSizePixel = 0; divider.Position = UDim2.new(0, 0, 1, 0) divider.Size = UDim2.new(1, 0, 0, 2) local clickDetector = Instance.new("TextButton", exampleProductFrame) clickDetector.Name = "Click" clickDetector.Text = "" clickDetector.TextTransparency = 1; clickDetector.BackgroundTransparency = 1; clickDetector.Size = UDim2.new(1, 0, 1, 0) local copyButton = Instance.new("TextButton", exampleProductFrame) copyButton.Name = "CopyButton" copyButton.Font = Enum.Font.GothamBold; copyButton.Text = "Copy ID" copyButton.TextColor3 = Color3.fromRGB(255, 255, 255) copyButton.TextSize = 12; copyButton.BackgroundColor3 = Color3.fromRGB(70, 70, 70) copyButton.Position = UDim2.new(0.65, 0, 0.38, 0) copyButton.Size = UDim2.new(0, 80, 0, 21) Instance.new("UICorner", copyButton).CornerRadius = UDim.new(0, 4) local buyAllButton = Instance.new("TextButton", exampleProductFrame) buyAllButton.Name = "BuyAllButton" buyAllButton.Font = Enum.Font.GothamBold; buyAllButton.Text = "Do For All" buyAllButton.TextColor3 = Color3.fromRGB(255, 255, 255) buyAllButton.TextSize = 12; buyAllButton.BackgroundColor3 = Color3.fromRGB(150, 50, 50) buyAllButton.Position = UDim2.new(0.65, 0, 0.69, 0) buyAllButton.Size = UDim2.new(0, 80, 0, 21) Instance.new("UICorner", buyAllButton).CornerRadius = UDim.new(0, 4) local function createHoverEffect(button, hoverColor) local originalColor = button.BackgroundColor3; local tweenInfo = TweenInfo.new(0.15) button.MouseEnter:Connect(function() TweenService:Create(button, tweenInfo, { BackgroundColor3 = hoverColor }):Play() end) button.MouseLeave:Connect(function() TweenService:Create(button, tweenInfo, { BackgroundColor3 = originalColor }):Play() end) end; task.spawn(function() local success, products = pcall(function() return MarketplaceService:GetDeveloperProductsAsync() end) if not success then warn("Failed to fetch developer products:", products) return end; for _, productInfo in pairs(products:GetCurrentPage()) do local productFrame = exampleProductFrame:Clone() productFrame.Visible = true; productFrame.Parent = scrollingFrame; productFrame.NameLabel.Text = "Name: " .. productInfo.Name; productFrame.IDLabel.Text = "ID: " .. tostring(productInfo.ProductId) productFrame.DescLabel.Text = "Description: " .. productInfo.Description; productFrame.PriceLabel.Text = "Price: " .. tostring(productInfo.PriceInRobux) productFrame.Click.MouseButton1Click:Connect(function() pcall(function() MarketplaceService:SignalPromptProductPurchaseFinished(localPlayer.UserId, productInfo.ProductId, true) end) end) local productHoverBg = productFrame.HoverBg; productFrame.Click.MouseEnter:Connect(function() TweenService:Create(productHoverBg, TweenInfo.new(0.2), { BackgroundTransparency = 0.7 }):Play() end) productFrame.Click.MouseLeave:Connect(function() TweenService:Create(productHoverBg, TweenInfo.new(0.2), { BackgroundTransparency = 1 }):Play() end) local productCopyButton = productFrame.CopyButton; createHoverEffect(productCopyButton, Color3.fromRGB(90, 90, 90)) productCopyButton.MouseButton1Click:Connect(function() if setclipboard then setclipboard(tostring(productInfo.ProductId)) local originalText = productCopyButton.Text; local originalColor = productCopyButton.BackgroundColor3; productCopyButton.Text = "Copied!" productCopyButton.BackgroundColor3 = Color3.fromRGB(50, 150, 50) task.wait(1) productCopyButton.Text = originalText; productCopyButton.BackgroundColor3 = originalColor end end) local productBuyAllButton = productFrame.BuyAllButton; createHoverEffect(productBuyAllButton, Color3.fromRGB(180, 70, 70)) productBuyAllButton.MouseButton1Click:Connect(function() local originalText = productBuyAllButton.Text; local originalColor = productBuyAllButton.BackgroundColor3; productBuyAllButton.Text = "Processing..." productBuyAllButton.BackgroundColor3 = Color3.fromRGB(200, 100, 0) local camera = workspace.CurrentCamera; local originalSubject = camera.CameraSubject; local originalCFrame = camera.CFrame; MarketplaceService:SignalPromptProductPurchaseFinished(localPlayer.UserId, productInfo.ProductId, true) camera.CameraSubject = originalSubject; camera.CFrame = originalCFrame; task.wait(0.5) productBuyAllButton.Text = "Done!" productBuyAllButton.BackgroundColor3 = Color3.fromRGB(50, 150, 50) task.wait(1.5) productBuyAllButton.Text = originalText; productBuyAllButton.BackgroundColor3 = originalColor end) end end) closeButton.MouseButton1Click:Connect(function() mainGui:Destroy() end) local isDragging = false; local dragStart; local startPosition; developerProductsFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then isDragging = true; dragStart = input.Position; startPosition = developerProductsFrame.Position; input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then isDragging = false end end) end end) developerProductsFrame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then if isDragging then local delta = input.Position - dragStart; developerProductsFrame.Position = UDim2.new(startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y) end end end)