--[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] -- made by sillyPP and ai -- with love 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 autoBuyLoops = {} local purchaseCounts = {} local productFramesMap = {} local activeButtonResets = setmetatable({}, { __mode = "k" }) local currentMethod = "Signal" local autoBuyInterval = 0.5 local function Finished(productInfo) local productId = productInfo.ProductId if currentMethod == "Signal" then local success = pcall(function() MarketplaceService:SignalPromptProductPurchaseFinished(localPlayer.UserId, productId, true) end) if not success then pcall(function() MarketplaceService:PromptProductPurchaseFinished(localPlayer, productId) end) end else pcall(function() MarketplaceService:PromptProductPurchaseFinished(localPlayer, productId) end) end purchaseCounts[productId] = (purchaseCounts[productId] or 0) + 1 local frame = productFramesMap[productId] if frame and frame.Parent then local countLabel = frame:FindFirstChild("PurchaseCountLabel") if countLabel then countLabel.Text = "Purchases: " .. purchaseCounts[productId] end end end local mainGui = Instance.new("ScreenGui") mainGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling mainGui.Parent = CoreGui local tooltipFrame = Instance.new("Frame") tooltipFrame.Name = "DescriptionTooltip" tooltipFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 10) tooltipFrame.BackgroundTransparency = 0.1 tooltipFrame.BorderSizePixel = 0 tooltipFrame.Size = UDim2.new(0, 200, 0, 50) tooltipFrame.Visible = false tooltipFrame.ZIndex = 10 tooltipFrame.Parent = mainGui local tooltipCorner = Instance.new("UICorner", tooltipFrame) tooltipCorner.CornerRadius = UDim.new(0, 4) local tooltipStroke = Instance.new("UIStroke", tooltipFrame) tooltipStroke.Color = Color3.fromRGB(80, 80, 80) tooltipStroke.Thickness = 2 local tooltipPadding = Instance.new("UIPadding", tooltipFrame) tooltipPadding.PaddingTop = UDim.new(0, 5) tooltipPadding.PaddingBottom = UDim.new(0, 5) tooltipPadding.PaddingLeft = UDim.new(0, 5) tooltipPadding.PaddingRight = UDim.new(0, 5) local tooltipLabel = Instance.new("TextLabel", tooltipFrame) tooltipLabel.Name = "TooltipLabel" tooltipLabel.Font = Enum.Font.Gotham tooltipLabel.Text = "" tooltipLabel.TextColor3 = Color3.fromRGB(230, 230, 230) tooltipLabel.TextSize = 14 tooltipLabel.TextWrapped = true tooltipLabel.TextXAlignment = Enum.TextXAlignment.Left tooltipLabel.TextYAlignment = Enum.TextYAlignment.Top tooltipLabel.BackgroundTransparency = 1 tooltipLabel.AutomaticSize = Enum.AutomaticSize.Y tooltipLabel.Size = UDim2.new(1, 0, 0, 0) local developerProductsFrame = Instance.new("TextButton") developerProductsFrame.Font = Enum.Font.GothamBold developerProductsFrame.Text = "Product Faker" developerProductsFrame.TextColor3 = Color3.fromRGB(240, 240, 240) developerProductsFrame.TextSize = 16 developerProductsFrame.AutoButtonColor = false developerProductsFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) developerProductsFrame.BorderSizePixel = 0 developerProductsFrame.Position = UDim2.new(0.35, 0, 0.3, 0) developerProductsFrame.Size = UDim2.new(0, 252, 0, 40) developerProductsFrame.Parent = mainGui local mainCorner = Instance.new("UICorner", developerProductsFrame) mainCorner.CornerRadius = UDim.new(0, 8) local mainStroke = Instance.new("UIStroke", developerProductsFrame) mainStroke.Color = Color3.fromRGB(60, 60, 60) mainStroke.Thickness = 2 local closeButton = Instance.new("TextButton") closeButton.Font = Enum.Font.GothamBold closeButton.Text = "X" closeButton.TextColor3 = Color3.fromRGB(240, 240, 240) closeButton.TextSize = 18 closeButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) closeButton.BorderSizePixel = 0 closeButton.Position = UDim2.new(1, -32, 0, 2.5) closeButton.Size = UDim2.new(0, 30, 0, 30) closeButton.Parent = developerProductsFrame local closeCorner = Instance.new("UICorner", closeButton) closeCorner.CornerRadius = UDim.new(0, 6) local closeStroke = Instance.new("UIStroke", closeButton) closeStroke.Color = Color3.fromRGB(80, 80, 80) closeStroke.Thickness = 1 local methodButton = Instance.new("TextButton") methodButton.Name = "MethodButton" methodButton.Font = Enum.Font.Gotham methodButton.Text = "Method: Signal" methodButton.TextColor3 = Color3.fromRGB(240, 240, 240) methodButton.TextSize = 12 methodButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) methodButton.BorderSizePixel = 0 methodButton.Position = UDim2.new(0, 5, 1, 2) methodButton.Size = UDim2.new(0.5, -7, 0, 25) methodButton.Parent = developerProductsFrame local methodCorner = Instance.new("UICorner", methodButton) methodCorner.CornerRadius = UDim.new(0, 4) local methodStroke = Instance.new("UIStroke", methodButton) methodStroke.Color = Color3.fromRGB(80, 80, 80) methodStroke.Thickness = 1 local searchBox = Instance.new("TextBox") searchBox.Name = "SearchBox" searchBox.Font = Enum.Font.Gotham searchBox.Text = "" searchBox.PlaceholderText = "Search..." searchBox.PlaceholderColor3 = Color3.fromRGB(150, 150, 150) searchBox.TextColor3 = Color3.fromRGB(240, 240, 240) searchBox.TextSize = 14 searchBox.BackgroundColor3 = Color3.fromRGB(30, 30, 30) searchBox.BorderSizePixel = 0 searchBox.Position = UDim2.new(0, 5, 1, 29) searchBox.Size = UDim2.new(1, -10, 0, 30) searchBox.Parent = developerProductsFrame local searchCorner = Instance.new("UICorner", searchBox) searchCorner.CornerRadius = UDim.new(0, 6) local searchStroke = Instance.new("UIStroke", searchBox) searchStroke.Color = Color3.fromRGB(80, 80, 80) searchStroke.Thickness = 1 task.delay(0.3, function() local buyAllProductsButton = Instance.new("TextButton") buyAllProductsButton.Name = "BuyAllProductsButton" buyAllProductsButton.Font = Enum.Font.GothamBold buyAllProductsButton.Text = "Buy All" buyAllProductsButton.TextColor3 = Color3.fromRGB(240, 240, 240) buyAllProductsButton.TextSize = 14 buyAllProductsButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) buyAllProductsButton.BorderSizePixel = 0 buyAllProductsButton.Position = UDim2.new(0, 5, 1, 61) buyAllProductsButton.Size = UDim2.new(1, -10, 0, 30) buyAllProductsButton.Parent = developerProductsFrame local buyAllCorner = Instance.new("UICorner", buyAllProductsButton) buyAllCorner.CornerRadius = UDim.new(0, 6) local buyAllStroke = Instance.new("UIStroke", buyAllProductsButton) buyAllStroke.Color = Color3.fromRGB(80, 80, 80) buyAllStroke.Thickness = 1 end) local intervalFrame = Instance.new("Frame") intervalFrame.Name = "IntervalFrame" intervalFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) intervalFrame.BorderSizePixel = 0 intervalFrame.Position = UDim2.new(0, 5, 1, 93) intervalFrame.Size = UDim2.new(1, -10, 0, 40) intervalFrame.Parent = developerProductsFrame local intervalCorner = Instance.new("UICorner", intervalFrame) intervalCorner.CornerRadius = UDim.new(0, 6) local intervalStroke = Instance.new("UIStroke", intervalFrame) intervalStroke.Color = Color3.fromRGB(60, 60, 60) intervalStroke.Thickness = 2 local intervalLabel = Instance.new("TextLabel") intervalLabel.Name = "IntervalLabel" intervalLabel.Font = Enum.Font.Gotham intervalLabel.Text = "Auto-Buy Interval:" intervalLabel.TextColor3 = Color3.fromRGB(200, 200, 200) intervalLabel.TextSize = 12 intervalLabel.TextXAlignment = Enum.TextXAlignment.Left intervalLabel.BackgroundTransparency = 1 intervalLabel.Position = UDim2.new(0, 8, 0, 0) intervalLabel.Size = UDim2.new(0.5, -8, 0.5, 0) intervalLabel.Parent = intervalFrame local intervalValue = Instance.new("TextLabel") intervalValue.Name = "IntervalValue" intervalValue.Font = Enum.Font.GothamBold intervalValue.Text = "0.5s" intervalValue.TextColor3 = Color3.fromRGB(240, 240, 240) intervalValue.TextSize = 12 intervalValue.TextXAlignment = Enum.TextXAlignment.Right intervalValue.BackgroundTransparency = 1 intervalValue.Position = UDim2.new(0.5, 0, 0, 0) intervalValue.Size = UDim2.new(0.5, -8, 0.5, 0) intervalValue.Parent = intervalFrame local intervalSlider = Instance.new("Frame") intervalSlider.Name = "IntervalSlider" intervalSlider.BackgroundColor3 = Color3.fromRGB(40, 40, 40) intervalSlider.BorderSizePixel = 0 intervalSlider.Position = UDim2.new(0, 8, 0.5, 5) intervalSlider.Size = UDim2.new(1, -16, 0, 8) intervalSlider.Parent = intervalFrame local sliderCorner = Instance.new("UICorner", intervalSlider) sliderCorner.CornerRadius = UDim.new(0, 4) local sliderStroke = Instance.new("UIStroke", intervalSlider) sliderStroke.Color = Color3.fromRGB(80, 80, 80) sliderStroke.Thickness = 1 local sliderFill = Instance.new("Frame") sliderFill.Name = "SliderFill" sliderFill.BackgroundColor3 = Color3.fromRGB(100, 100, 100) sliderFill.BorderSizePixel = 0 sliderFill.Size = UDim2.new((autoBuyInterval - 0.1) / 4.9, 0, 1, 0) sliderFill.Parent = intervalSlider local fillCorner = Instance.new("UICorner", sliderFill) fillCorner.CornerRadius = UDim.new(0, 4) local sliderButton = Instance.new("TextButton") sliderButton.Name = "SliderButton" sliderButton.Text = "" sliderButton.BackgroundColor3 = Color3.fromRGB(180, 180, 180) sliderButton.BackgroundTransparency = 0 sliderButton.BorderSizePixel = 0 sliderButton.Position = UDim2.new((autoBuyInterval - 0.1) / 4.9, -4, 0.5, -8) sliderButton.Size = UDim2.new(0, 16, 0, 16) sliderButton.ZIndex = 2 sliderButton.Parent = intervalSlider local buttonCorner = Instance.new("UICorner", sliderButton) buttonCorner.CornerRadius = UDim.new(1, 0) local buttonStroke = Instance.new("UIStroke", sliderButton) buttonStroke.Color = Color3.fromRGB(220, 220, 220) buttonStroke.Thickness = 2 local containerFrame = Instance.new("Frame") containerFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20) containerFrame.BorderSizePixel = 0 containerFrame.Position = UDim2.new(0, 5, 1, 135) containerFrame.Size = UDim2.new(1, -10, 0, 441) containerFrame.Parent = developerProductsFrame local containerCorner = Instance.new("UICorner", containerFrame) containerCorner.CornerRadius = UDim.new(0, 8) local containerStroke = Instance.new("UIStroke", containerFrame) containerStroke.Color = Color3.fromRGB(60, 60, 60) containerStroke.Thickness = 2 local scrollingFrame = Instance.new("ScrollingFrame") scrollingFrame.AutomaticCanvasSize = Enum.AutomaticSize.Y scrollingFrame.ScrollBarThickness = 5 scrollingFrame.ScrollBarImageColor3 = Color3.fromRGB(80, 80, 80) scrollingFrame.Active = true scrollingFrame.BackgroundTransparency = 1 scrollingFrame.BorderSizePixel = 0 scrollingFrame.Size = UDim2.new(1, 0, 1, 0) scrollingFrame.Parent = containerFrame Instance.new("UIListLayout", scrollingFrame).SortOrder = Enum.SortOrder.LayoutOrder local exampleProductFrame = Instance.new("Frame") exampleProductFrame.BackgroundTransparency = 1 exampleProductFrame.BorderSizePixel = 0 exampleProductFrame.Size = UDim2.new(1, 0, 0, 115) exampleProductFrame.Visible = false exampleProductFrame.Name = "ExampleFrame" exampleProductFrame.Parent = scrollingFrame local hoverBg = Instance.new("Frame", exampleProductFrame) hoverBg.BackgroundColor3 = Color3.fromRGB(40, 40, 40) hoverBg.BackgroundTransparency = 1 hoverBg.BorderSizePixel = 0 hoverBg.Size = UDim2.new(1, -4, 1, -4) hoverBg.Position = UDim2.new(0, 2, 0, 2) hoverBg.Name = "HoverBg" local hoverCorner = Instance.new("UICorner", hoverBg) hoverCorner.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(240, 240, 240) 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.6, 0, 0, 18) local idLabel = Instance.new("TextLabel", exampleProductFrame) idLabel.Name = "IDLabel" idLabel.Font = Enum.Font.Gotham idLabel.Text = "Product ID:" idLabel.TextColor3 = Color3.fromRGB(240, 240, 240) idLabel.TextSize = 14 idLabel.TextXAlignment = Enum.TextXAlignment.Left idLabel.BackgroundTransparency = 1 idLabel.Position = UDim2.new(0.048, 0, 0.3, 0) idLabel.Size = UDim2.new(0.6, 0, 0, 18) local priceLabel = Instance.new("TextLabel", exampleProductFrame) priceLabel.Name = "PriceLabel" priceLabel.Font = Enum.Font.Gotham priceLabel.Text = "Price:" priceLabel.TextColor3 = Color3.fromRGB(240, 240, 240) priceLabel.TextSize = 14 priceLabel.TextXAlignment = Enum.TextXAlignment.Left priceLabel.BackgroundTransparency = 1 priceLabel.Position = UDim2.new(0.048, 0, 0.5, 0) priceLabel.Size = UDim2.new(0.6, 0, 0, 18) local purchaseCountLabel = Instance.new("TextLabel", exampleProductFrame) purchaseCountLabel.Name = "PurchaseCountLabel" purchaseCountLabel.Font = Enum.Font.Gotham purchaseCountLabel.Text = "Purchases: 0" purchaseCountLabel.TextColor3 = Color3.fromRGB(200, 200, 200) purchaseCountLabel.TextSize = 14 purchaseCountLabel.TextXAlignment = Enum.TextXAlignment.Left purchaseCountLabel.BackgroundTransparency = 1 purchaseCountLabel.Position = UDim2.new(0.048, 0, 0.7, 0) purchaseCountLabel.Size = UDim2.new(0.6, 0, 0, 18) local divider = Instance.new("Frame", exampleProductFrame) divider.Name = "Divider" divider.BackgroundColor3 = Color3.fromRGB(60, 60, 60) 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 autoBuyButton = Instance.new("TextButton", exampleProductFrame) autoBuyButton.Name = "AutoBuyButton" autoBuyButton.Font = Enum.Font.GothamBold autoBuyButton.Text = "Auto Buy" autoBuyButton.TextColor3 = Color3.fromRGB(240, 240, 240) autoBuyButton.TextSize = 12 autoBuyButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) autoBuyButton.BorderSizePixel = 0 autoBuyButton.Position = UDim2.new(0.65, 0, 0.05, 0) autoBuyButton.Size = UDim2.new(0, 80, 0, 21) local autoBuyCorner = Instance.new("UICorner", autoBuyButton) autoBuyCorner.CornerRadius = UDim.new(0, 4) local autoBuyStroke = Instance.new("UIStroke", autoBuyButton) autoBuyStroke.Color = Color3.fromRGB(80, 80, 80) autoBuyStroke.Thickness = 1 local copyButton = Instance.new("TextButton", exampleProductFrame) copyButton.Name = "CopyButton" copyButton.Font = Enum.Font.GothamBold copyButton.Text = "Copy ID" copyButton.TextColor3 = Color3.fromRGB(240, 240, 240) copyButton.TextSize = 12 copyButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) copyButton.BorderSizePixel = 0 copyButton.Position = UDim2.new(0.65, 0, 0.27, 0) copyButton.Size = UDim2.new(0, 80, 0, 21) local copyCorner = Instance.new("UICorner", copyButton) copyCorner.CornerRadius = UDim.new(0, 4) local copyStroke = Instance.new("UIStroke", copyButton) copyStroke.Color = Color3.fromRGB(80, 80, 80) copyStroke.Thickness = 1 local copyScriptButton = Instance.new("TextButton", exampleProductFrame) copyScriptButton.Name = "CopyScriptButton" copyScriptButton.Font = Enum.Font.GothamBold copyScriptButton.Text = "Copy Script" copyScriptButton.TextColor3 = Color3.fromRGB(240, 240, 240) copyScriptButton.TextSize = 12 copyScriptButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) copyScriptButton.BorderSizePixel = 0 copyScriptButton.Position = UDim2.new(0.65, 0, 0.49, 0) copyScriptButton.Size = UDim2.new(0, 80, 0, 21) local copyScriptCorner = Instance.new("UICorner", copyScriptButton) copyScriptCorner.CornerRadius = UDim.new(0, 4) local copyScriptStroke = Instance.new("UIStroke", copyScriptButton) copyScriptStroke.Color = Color3.fromRGB(80, 80, 80) copyScriptStroke.Thickness = 1 local buyButton = Instance.new("TextButton", exampleProductFrame) buyButton.Name = "BuyButton" buyButton.Font = Enum.Font.GothamBold buyButton.Text = "Buy" buyButton.TextColor3 = Color3.fromRGB(240, 240, 240) buyButton.TextSize = 12 buyButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) buyButton.BorderSizePixel = 0 buyButton.Position = UDim2.new(0.65, 0, 0.71, 0) buyButton.Size = UDim2.new(0, 80, 0, 21) local buyCorner = Instance.new("UICorner", buyButton) buyCorner.CornerRadius = UDim.new(0, 4) local buyStroke = Instance.new("UIStroke", buyButton) buyStroke.Color = Color3.fromRGB(80, 80, 80) buyStroke.Thickness = 1 local function createHoverEffect(button, hoverColor) local originalColor = button.BackgroundColor3 button.MouseEnter:Connect(function() TweenService:Create(button, TweenInfo.new(0.15), { BackgroundColor3 = hoverColor }):Play() if button.UIStroke then TweenService:Create(button.UIStroke, TweenInfo.new(0.15), { Color = Color3.fromRGB(120, 120, 120) }):Play() end end) button.MouseLeave:Connect(function() TweenService:Create(button, TweenInfo.new(0.15), { BackgroundColor3 = originalColor }):Play() if button.UIStroke then TweenService:Create(button.UIStroke, TweenInfo.new(0.15), { Color = Color3.fromRGB(80, 80, 80) }):Play() end end) end methodButton.MouseButton1Click:Connect(function() if currentMethod == "Signal" then currentMethod = "Prompt" methodButton.Text = "Method: Prompt" methodButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60) else currentMethod = "Signal" methodButton.Text = "Method: Signal" methodButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) end end) local isDraggingSlider = false local sliderConnection1, sliderConnection2 local function updateSlider(value) local normalized = (value - 0.1) / 4.9 sliderFill.Size = UDim2.new(normalized, 0, 1, 0) sliderButton.Position = UDim2.new(normalized, -4, 0.5, -8) intervalValue.Text = string.format("%.1fs", value) autoBuyInterval = value end sliderButton.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isDraggingSlider = true sliderConnection1 = UserInputService.InputChanged:Connect(function(moveInput) if isDraggingSlider and moveInput.UserInputType == Enum.UserInputType.MouseMovement then local mousePos = UserInputService:GetMouseLocation() local sliderPos = intervalSlider.AbsolutePosition local sliderSize = intervalSlider.AbsoluteSize local relativeX = math.clamp((mousePos.X - sliderPos.X) / sliderSize.X, 0, 1) local newValue = 0.1 + (relativeX * 4.9) newValue = math.floor(newValue * 10) / 10 updateSlider(newValue) end end) sliderConnection2 = UserInputService.InputEnded:Connect(function(endInput) if endInput.UserInputType == Enum.UserInputType.MouseButton1 then isDraggingSlider = false if sliderConnection1 then sliderConnection1:Disconnect() end if sliderConnection2 then sliderConnection2:Disconnect() end end end) end end) intervalSlider.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isDraggingSlider = true local mousePos = UserInputService:GetMouseLocation() local sliderPos = intervalSlider.AbsolutePosition local sliderSize = intervalSlider.AbsoluteSize local relativeX = math.clamp((mousePos.X - sliderPos.X) / sliderSize.X, 0, 1) local newValue = 0.1 + (relativeX * 4.9) newValue = math.floor(newValue * 10) / 10 updateSlider(newValue) sliderConnection1 = UserInputService.InputChanged:Connect(function(moveInput) if isDraggingSlider and moveInput.UserInputType == Enum.UserInputType.MouseMovement then local mousePos = UserInputService:GetMouseLocation() local sliderPos = intervalSlider.AbsolutePosition local sliderSize = intervalSlider.AbsoluteSize local relativeX = math.clamp((mousePos.X - sliderPos.X) / sliderSize.X, 0, 1) local newValue = 0.1 + (relativeX * 4.9) newValue = math.floor(newValue * 10) / 10 updateSlider(newValue) end end) sliderConnection2 = UserInputService.InputEnded:Connect(function(endInput) if endInput.UserInputType == Enum.UserInputType.MouseButton1 then isDraggingSlider = false if sliderConnection1 then sliderConnection1:Disconnect() end if sliderConnection2 then sliderConnection2:Disconnect() end end end) end end) task.spawn(function() local success, products = pcall(function() return MarketplaceService:GetDeveloperProductsAsync() end) if not success then return end local allProductsInfo = products:GetCurrentPage() local allProductFrames = {} local buyAllProductsButton = developerProductsFrame:WaitForChild("BuyAllProductsButton", 5) if buyAllProductsButton then createHoverEffect(buyAllProductsButton, Color3.fromRGB(60, 60, 60)) buyAllProductsButton.MouseButton1Click:Connect(function() if activeButtonResets[buyAllProductsButton] then task.cancel(activeButtonResets[buyAllProductsButton]) end if not buyAllProductsButton:GetAttribute("OriginalText") then buyAllProductsButton:SetAttribute("OriginalText", buyAllProductsButton.Text) buyAllProductsButton:SetAttribute("OriginalColor", buyAllProductsButton.BackgroundColor3) end local originalText = buyAllProductsButton:GetAttribute("OriginalText") local originalColor = buyAllProductsButton:GetAttribute("OriginalColor") buyAllProductsButton.Text = "Processing..." buyAllProductsButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80) activeButtonResets[buyAllProductsButton] = task.spawn(function() for _, productInfo in pairs(allProductsInfo) do Finished(productInfo) task.wait(0.3) end buyAllProductsButton.Text = "Done!" buyAllProductsButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60) task.wait(1.5) buyAllProductsButton.Text = originalText buyAllProductsButton.BackgroundColor3 = originalColor activeButtonResets[buyAllProductsButton] = nil end) end) end for _, productInfo in pairs(allProductsInfo) do local productFrame = exampleProductFrame:Clone() productFrame:SetAttribute("ProductName", productInfo.Name) productFrame.Visible = true productFrame.Parent = scrollingFrame table.insert(allProductFrames, productFrame) purchaseCounts[productInfo.ProductId] = 0 productFramesMap[productInfo.ProductId] = productFrame productFrame.NameLabel.Text = "Name: " .. productInfo.Name productFrame.IDLabel.Text = "ID: " .. tostring(productInfo.ProductId) productFrame.PriceLabel.Text = "Price: " .. tostring(productInfo.PriceInRobux) local buttons = { productFrame.AutoBuyButton, productFrame.CopyButton, productFrame.CopyScriptButton, productFrame.BuyButton } productFrame.Click.MouseEnter:Connect(function() if productInfo.Description and productInfo.Description:gsub("%s*", "") ~= "" then tooltipLabel.Text = productInfo.Description tooltipFrame.Visible = true end TweenService:Create(productFrame.HoverBg, TweenInfo.new(0.2), { BackgroundTransparency = 0.9 }):Play() end) productFrame.Click.MouseLeave:Connect(function() tooltipFrame.Visible = false TweenService:Create(productFrame.HoverBg, TweenInfo.new(0.2), { BackgroundTransparency = 1 }):Play() end) for _, btn in ipairs(buttons) do btn.MouseEnter:Connect(function() tooltipFrame.Visible = false end) btn.MouseLeave:Connect(function() if productInfo.Description and productInfo.Description:gsub("%s*", "") ~= "" then tooltipFrame.Visible = true end end) end local productAutoBuyButton = productFrame.AutoBuyButton createHoverEffect(productAutoBuyButton, Color3.fromRGB(60, 60, 60)) productAutoBuyButton.MouseButton1Click:Connect(function() autoBuyLoops[productFrame] = not autoBuyLoops[productFrame] if autoBuyLoops[productFrame] then productAutoBuyButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80) productAutoBuyButton.Text = "Stop Auto" task.spawn(function() while autoBuyLoops[productFrame] do Finished(productInfo) task.wait(autoBuyInterval) end end) else productAutoBuyButton.BackgroundColor3 = Color3.fromRGB(40, 40, 40) productAutoBuyButton.Text = "Auto Buy" end end) local productCopyButton = productFrame.CopyButton createHoverEffect(productCopyButton, Color3.fromRGB(60, 60, 60)) 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(60, 60, 60) task.wait(1) productCopyButton.Text = originalText productCopyButton.BackgroundColor3 = originalColor end end) local productCopyScriptButton = productFrame.CopyScriptButton createHoverEffect(productCopyScriptButton, Color3.fromRGB(60, 60, 60)) productCopyScriptButton.MouseButton1Click:Connect(function() if setclipboard then local scriptToCopy = string.format([[ local MarketplaceService = game:GetService("MarketplaceService") local Players = game:GetService("Players") local TargetPlayer = Players.LocalPlayer local ProductID = %d local function purchaseProduct() local success = pcall(function() MarketplaceService:SignalPromptProductPurchaseFinished(TargetPlayer, ProductID, true) end) if not success then pcall(function() MarketplaceService:PromptProductPurchaseFinished(TargetPlayer, ProductID) end) end end purchaseProduct() ]], productInfo.ProductId) setclipboard(scriptToCopy) local originalText = productCopyScriptButton.Text local originalColor = productCopyScriptButton.BackgroundColor3 productCopyScriptButton.Text = "Copied!" productCopyScriptButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60) task.wait(1) productCopyScriptButton.Text = originalText productCopyScriptButton.BackgroundColor3 = originalColor end end) local productBuyButton = productFrame.BuyButton createHoverEffect(productBuyButton, Color3.fromRGB(60, 60, 60)) productBuyButton.MouseButton1Click:Connect(function() if activeButtonResets[productBuyButton] then task.cancel(activeButtonResets[productBuyButton]) end if not productBuyButton:GetAttribute("OriginalText") then productBuyButton:SetAttribute("OriginalText", productBuyButton.Text) productBuyButton:SetAttribute("OriginalColor", productBuyButton.BackgroundColor3) end local originalText = productBuyButton:GetAttribute("OriginalText") local originalColor = productBuyButton:GetAttribute("OriginalColor") productBuyButton.Text = "Processing..." productBuyButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80) Finished(productInfo) activeButtonResets[productBuyButton] = task.spawn(function() task.wait(0.5) productBuyButton.Text = "Done!" productBuyButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60) task.wait(1.5) productBuyButton.Text = originalText productBuyButton.BackgroundColor3 = originalColor activeButtonResets[productBuyButton] = nil end) end) end searchBox:GetPropertyChangedSignal("Text"):Connect(function() local searchText = string.lower(searchBox.Text) for _, frame in ipairs(allProductFrames) do if searchText == "" then frame.Visible = true else local productName = string.lower(frame:GetAttribute("ProductName")) if productName and string.find(productName, searchText, 1, true) then frame.Visible = true else frame.Visible = false end end end end) end) UserInputService.InputChanged:Connect(function(input) if tooltipFrame.Visible and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local mousePos = UserInputService:GetMouseLocation() tooltipFrame.Position = UDim2.fromOffset(mousePos.X + 15, mousePos.Y + 15) end end) closeButton.MouseButton1Click:Connect(function() mainGui:Destroy() end) local isDragging = false local dragStart local startPosition local mouseMoveConnection local mouseUpConnection 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 mouseMoveConnection = UserInputService.InputChanged:Connect(function(moveInput) if (moveInput.UserInputType == Enum.UserInputType.MouseMovement or moveInput.UserInputType == Enum.UserInputType.Touch) and isDragging then local delta = moveInput.Position - dragStart developerProductsFrame.Position = UDim2.new( startPosition.X.Scale, startPosition.X.Offset + delta.X, startPosition.Y.Scale, startPosition.Y.Offset + delta.Y ) end end) mouseUpConnection = UserInputService.InputEnded:Connect(function(endInput) if (endInput.UserInputType == Enum.UserInputType.MouseButton1 or endInput.UserInputType == Enum.UserInputType.Touch) and isDragging then isDragging = false if mouseMoveConnection then mouseMoveConnection:Disconnect() end if mouseUpConnection then mouseUpConnection:Disconnect() end end end) end end)