Product Faker 2 point 5
Key RequiredUniversal

Product Faker 2 point 5

Universal ScriptsillyPPsillyPP 1.4K views 484 executesUpdated Dec 10, 2025
5.0/ 5(4 votes)
40100% Positive
Lua Script•782 lines (32132 chars)
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)

Features & Information

SCRIPT ARE NOT MINE! "I" JUST ADDED SOME FEATURES NOT Offical Product Faker 2.5!!!11 this script will probally work on Towers with Troll Menu. (or not lol) uhhh here is what "i" added : Fake Purchase's Methods - Prompt , Signal shitty black theme (sorry) AutoBuy Interval - from 5 sec to 0.1
#Universal#PF#AiSlop

Community Comments (1)

RobinsonFRobinsonFDec 10, 2025

I dig it!!!:)

More Scripts for Universal Scripts