
Key RequiredUniversal

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)



I dig it!!!:)