Product Faker V3
Key RequiredUniversal

Product Faker V3

Universal ScriptCasualdeveloperCasualdeveloper 3.3K views 3.2K executesUpdated Apr 21, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•568 lines (20938 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 DARK_BG = Color3.fromRGB(30, 30, 30)
local DARK_BG_LIGHTER = Color3.fromRGB(45, 45, 45)
local ACCENT = Color3.fromRGB(200, 50, 50)
local ACCENT_HOVER = Color3.fromRGB(220, 70, 70)
local TEXT_COLOR = Color3.fromRGB(240, 240, 240)
local TEXT_SECONDARY = Color3.fromRGB(180, 180, 180)
local BUTTON_BG = Color3.fromRGB(60, 60, 60)
local BUTTON_HOVER = Color3.fromRGB(80, 80, 80)
local SUCCESS_COLOR = Color3.fromRGB(50, 150, 50)

local function Finished(productInfo)
	local productId = productInfo.ProductId
	local success, err = pcall(function()
		MarketplaceService:SignalPromptProductPurchaseFinished(localPlayer.UserId, productId, true)
	end)
	if not success then
		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 = "Total 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 = DARK_BG
tooltipFrame.BackgroundTransparency = 0.15
tooltipFrame.BorderSizePixel = 0
tooltipFrame.Size = UDim2.new(0, 220, 0, 50)
tooltipFrame.Visible = false
tooltipFrame.ZIndex = 10
tooltipFrame.Parent = mainGui
Instance.new("UICorner", tooltipFrame).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", tooltipFrame).Color = Color3.fromRGB(80, 80, 80)
local tooltipPadding = Instance.new("UIPadding", tooltipFrame)
tooltipPadding.PaddingTop = UDim.new(0, 6)
tooltipPadding.PaddingBottom = UDim.new(0, 6)
tooltipPadding.PaddingLeft = UDim.new(0, 8)
tooltipPadding.PaddingRight = UDim.new(0, 8)
local tooltipLabel = Instance.new("TextLabel", tooltipFrame)
tooltipLabel.Name = "TooltipLabel"
tooltipLabel.Font = Enum.Font.Gotham
tooltipLabel.Text = ""
tooltipLabel.TextColor3 = TEXT_COLOR
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 mainFrame = Instance.new("TextButton")
mainFrame.Font = Enum.Font.GothamBold
mainFrame.Text = "Product Faker V3.0               "
mainFrame.TextColor3 = TEXT_COLOR
mainFrame.TextSize = 16
mainFrame.AutoButtonColor = false
mainFrame.BackgroundColor3 = DARK_BG
mainFrame.BackgroundTransparency = 0.15
mainFrame.BorderSizePixel = 0
mainFrame.Position = UDim2.new(0.35, 0, 0.3, 0)
mainFrame.Size = UDim2.new(0, 300, 0, 36)
mainFrame.Parent = mainGui
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 8)
Instance.new("UIStroke", mainFrame).Color = Color3.fromRGB(80, 80, 80)

local closeButton = Instance.new("TextButton")
closeButton.Font = Enum.Font.GothamBold
closeButton.Text = "X"
closeButton.TextColor3 = TEXT_COLOR
closeButton.TextSize = 18
closeButton.BackgroundColor3 = ACCENT
closeButton.BackgroundTransparency = 0.2
closeButton.BorderSizePixel = 0
closeButton.Position = UDim2.new(1, -34, 0, 4)
closeButton.Size = UDim2.new(0, 28, 0, 28)
closeButton.Parent = mainFrame
Instance.new("UICorner", closeButton).CornerRadius = UDim.new(0, 6)

local minimizeButton = Instance.new("TextButton")
minimizeButton.Font = Enum.Font.GothamBold
minimizeButton.Text = "−"
minimizeButton.TextColor3 = TEXT_COLOR
minimizeButton.TextSize = 18
minimizeButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
minimizeButton.BackgroundTransparency = 0.2
minimizeButton.BorderSizePixel = 0
minimizeButton.Position = UDim2.new(1, -66, 0, 4)
minimizeButton.Size = UDim2.new(0, 28, 0, 28)
minimizeButton.Parent = mainFrame
Instance.new("UICorner", minimizeButton).CornerRadius = UDim.new(0, 6)

local refreshButton = Instance.new("TextButton")
refreshButton.Font = Enum.Font.GothamBold
refreshButton.Text = "R"
refreshButton.TextColor3 = TEXT_COLOR
refreshButton.TextSize = 18
refreshButton.BackgroundColor3 = Color3.fromRGB(70, 130, 200)
refreshButton.BackgroundTransparency = 0.2
refreshButton.BorderSizePixel = 0
refreshButton.Position = UDim2.new(1, -98, 0, 4)
refreshButton.Size = UDim2.new(0, 28, 0, 28)
refreshButton.Parent = mainFrame
Instance.new("UICorner", refreshButton).CornerRadius = UDim.new(0, 6)

local searchBox = Instance.new("TextBox")
searchBox.Name = "SearchBox"
searchBox.Font = Enum.Font.Gotham
searchBox.Text = ""
searchBox.PlaceholderText = "🔍 Search by name..."
searchBox.PlaceholderColor3 = Color3.fromRGB(160, 160, 160)
searchBox.TextColor3 = TEXT_COLOR
searchBox.TextSize = 14
searchBox.BackgroundColor3 = DARK_BG_LIGHTER
searchBox.BackgroundTransparency = 0.15
searchBox.Position = UDim2.new(0, 0, 1, 4)
searchBox.Size = UDim2.new(1, 0, 0, 32)
searchBox.Parent = mainFrame
Instance.new("UICorner", searchBox).CornerRadius = UDim.new(0, 6)
Instance.new("UIStroke", searchBox).Color = Color3.fromRGB(80, 80, 80)

local contentContainer = Instance.new("Frame")
contentContainer.BackgroundColor3 = DARK_BG
contentContainer.BackgroundTransparency = 0.15
contentContainer.BorderSizePixel = 0
contentContainer.Position = UDim2.new(0, 0, 1, 40)
contentContainer.Size = UDim2.new(0, 300, 0, 476)
contentContainer.Parent = mainFrame
Instance.new("UICorner", contentContainer).CornerRadius = UDim.new(0, 8)
Instance.new("UIStroke", contentContainer).Color = Color3.fromRGB(80, 80, 80)

local productsScrolling = Instance.new("ScrollingFrame")
productsScrolling.Name = "ProductsScrolling"
productsScrolling.AutomaticCanvasSize = Enum.AutomaticSize.Y
productsScrolling.ScrollBarThickness = 5
productsScrolling.ScrollBarImageColor3 = Color3.fromRGB(100, 100, 100)
productsScrolling.Active = true
productsScrolling.BackgroundTransparency = 1
productsScrolling.BorderSizePixel = 0
productsScrolling.Size = UDim2.new(1, 0, 1, 0)
productsScrolling.Parent = contentContainer
Instance.new("UIListLayout", productsScrolling).SortOrder = Enum.SortOrder.LayoutOrder

local exampleProductFrame = Instance.new("Frame")
exampleProductFrame.BackgroundTransparency = 1
exampleProductFrame.BorderSizePixel = 0
exampleProductFrame.Size = UDim2.new(1, 0, 0, 120)
exampleProductFrame.Visible = false
exampleProductFrame.Name = "ExampleFrame"
exampleProductFrame.Parent = productsScrolling

local hoverBg = Instance.new("Frame", exampleProductFrame)
hoverBg.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
hoverBg.BackgroundTransparency = 1
hoverBg.BorderSizePixel = 0
hoverBg.Size = UDim2.new(1, 0, 1, 0)
hoverBg.Name = "HoverBg"
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 = TEXT_COLOR
nameLabel.TextSize = 14
nameLabel.TextXAlignment = Enum.TextXAlignment.Left
nameLabel.BackgroundTransparency = 1
nameLabel.Position = UDim2.new(0.05, 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 = TEXT_COLOR
idLabel.TextSize = 14
idLabel.TextXAlignment = Enum.TextXAlignment.Left
idLabel.BackgroundTransparency = 1
idLabel.Position = UDim2.new(0.05, 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 = "Product Price:"
priceLabel.TextColor3 = TEXT_COLOR
priceLabel.TextSize = 14
priceLabel.TextXAlignment = Enum.TextXAlignment.Left
priceLabel.BackgroundTransparency = 1
priceLabel.Position = UDim2.new(0.05, 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 = "Total Purchases: 0"
purchaseCountLabel.TextColor3 = TEXT_SECONDARY
purchaseCountLabel.TextSize = 13
purchaseCountLabel.TextXAlignment = Enum.TextXAlignment.Left
purchaseCountLabel.BackgroundTransparency = 1
purchaseCountLabel.Position = UDim2.new(0.05, 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(80, 80, 80)
divider.BorderSizePixel = 0
divider.Position = UDim2.new(0, 0, 1, 0)
divider.Size = UDim2.new(1, 0, 0, 1)

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 = TEXT_COLOR
autoBuyButton.TextSize = 12
autoBuyButton.BackgroundColor3 = BUTTON_BG
autoBuyButton.BackgroundTransparency = 0.15
autoBuyButton.Position = UDim2.new(0.67, 0, 0.05, 0)
autoBuyButton.Size = UDim2.new(0, 80, 0, 22)
Instance.new("UICorner", autoBuyButton).CornerRadius = UDim.new(0, 4)

local copyButton = Instance.new("TextButton", exampleProductFrame)
copyButton.Name = "CopyButton"
copyButton.Font = Enum.Font.GothamBold
copyButton.Text = "Copy ID"
copyButton.TextColor3 = TEXT_COLOR
copyButton.TextSize = 12
copyButton.BackgroundColor3 = BUTTON_BG
copyButton.BackgroundTransparency = 0.15
copyButton.Position = UDim2.new(0.67, 0, 0.27, 0)
copyButton.Size = UDim2.new(0, 80, 0, 22)
Instance.new("UICorner", copyButton).CornerRadius = UDim.new(0, 4)

local copyScriptButton = Instance.new("TextButton", exampleProductFrame)
copyScriptButton.Name = "CopyScriptButton"
copyScriptButton.Font = Enum.Font.GothamBold
copyScriptButton.Text = "Copy Script"
copyScriptButton.TextColor3 = TEXT_COLOR
copyScriptButton.TextSize = 12
copyScriptButton.BackgroundColor3 = BUTTON_BG
copyScriptButton.BackgroundTransparency = 0.15
copyScriptButton.Position = UDim2.new(0.67, 0, 0.49, 0)
copyScriptButton.Size = UDim2.new(0, 80, 0, 22)
Instance.new("UICorner", copyScriptButton).CornerRadius = UDim.new(0, 4)

local buyButton = Instance.new("TextButton", exampleProductFrame)
buyButton.Name = "BuyButton"
buyButton.Font = Enum.Font.GothamBold
buyButton.Text = "Buy Product"
buyButton.TextColor3 = TEXT_COLOR
buyButton.TextSize = 12
buyButton.BackgroundColor3 = ACCENT
buyButton.BackgroundTransparency = 0.2
buyButton.Position = UDim2.new(0.67, 0, 0.71, 0)
buyButton.Size = UDim2.new(0, 80, 0, 22)
Instance.new("UICorner", buyButton).CornerRadius = UDim.new(0, 4)

local function createHoverEffect(button, hoverColor)
	local originalColor = button.BackgroundColor3
	button.MouseEnter:Connect(function()
		TweenService:Create(button, TweenInfo.new(0.15), { BackgroundColor3 = hoverColor }):Play()
	end)
	button.MouseLeave:Connect(function()
		TweenService:Create(button, TweenInfo.new(0.15), { BackgroundColor3 = originalColor }):Play()
	end)
end

local function stopAllAutoBuys()
	for frame, isActive in pairs(autoBuyLoops) do
		if isActive and frame and frame.Parent then
			autoBuyLoops[frame] = false
			local btn = frame:FindFirstChild("AutoBuyButton")
			if btn then
				btn.Text = "Auto Buy"
				btn.BackgroundColor3 = BUTTON_BG
			end
		end
	end
	table.clear(autoBuyLoops)
end

local function updateScrollbarVisibility()
	local visibleCount = 0
	for _, child in ipairs(productsScrolling:GetChildren()) do
		if child:IsA("Frame") and child.Visible and child.Name ~= "UIListLayout" then
			visibleCount = visibleCount + 1
		end
	end
	productsScrolling.ScrollingEnabled = (visibleCount > 3)
	productsScrolling.ScrollBarThickness = (visibleCount > 3) and 5 or 0
end

local allProductFrames = {}
local function loadProducts()
	for _, frame in ipairs(allProductFrames) do
		frame:Destroy()
	end
	table.clear(allProductFrames)
	
	local success, products = pcall(function()
		return MarketplaceService:GetDeveloperProductsAsync()
	end)
	if not success then return end
	
	local allProductsInfo = products:GetCurrentPage()
	
	for _, productInfo in pairs(allProductsInfo) do
		local productFrame = exampleProductFrame:Clone()
		productFrame:SetAttribute("ProductName", productInfo.Name)
		productFrame.Visible = true
		productFrame.Parent = productsScrolling
		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) .. " R$"

		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
		end)
		productFrame.Click.MouseLeave:Connect(function()
			tooltipFrame.Visible = false
		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 hoverBg = productFrame.HoverBg
		productFrame.Click.MouseEnter:Connect(function()
			TweenService:Create(hoverBg, TweenInfo.new(0.2), { BackgroundTransparency = 0.6 }):Play()
		end)
		productFrame.Click.MouseLeave:Connect(function()
			TweenService:Create(hoverBg, TweenInfo.new(0.2), { BackgroundTransparency = 1 }):Play()
		end)

		local autoBtn = productFrame.AutoBuyButton
		local autoOriginalColor = BUTTON_BG
		autoBtn.MouseEnter:Connect(function()
			if autoBuyLoops[productFrame] then
				TweenService:Create(autoBtn, TweenInfo.new(0.15), { BackgroundColor3 = ACCENT_HOVER }):Play()
			else
				TweenService:Create(autoBtn, TweenInfo.new(0.15), { BackgroundColor3 = BUTTON_HOVER }):Play()
			end
		end)
		autoBtn.MouseLeave:Connect(function()
			if autoBuyLoops[productFrame] then
				TweenService:Create(autoBtn, TweenInfo.new(0.15), { BackgroundColor3 = ACCENT }):Play()
			else
				TweenService:Create(autoBtn, TweenInfo.new(0.15), { BackgroundColor3 = autoOriginalColor }):Play()
			end
		end)
		autoBtn.MouseButton1Click:Connect(function()
			autoBuyLoops[productFrame] = not autoBuyLoops[productFrame]
			if autoBuyLoops[productFrame] then
				autoBtn.Text = "Stop Auto Buy"
				autoBtn.BackgroundColor3 = ACCENT
				task.spawn(function()
					while autoBuyLoops[productFrame] do
						Finished(productInfo)
						task.wait(0.1)
					end
				end)
			else
				autoBtn.Text = "Auto Buy"
				autoBtn.BackgroundColor3 = autoOriginalColor
			end
		end)

		local copyBtn = productFrame.CopyButton
		createHoverEffect(copyBtn, BUTTON_HOVER)
		copyBtn.MouseButton1Click:Connect(function()
			if setclipboard then
				setclipboard(tostring(productInfo.ProductId))
				local origText = copyBtn.Text
				local origColor = copyBtn.BackgroundColor3
				copyBtn.Text = "Copied!"
				copyBtn.BackgroundColor3 = SUCCESS_COLOR
				task.wait(1)
				copyBtn.Text = origText
				copyBtn.BackgroundColor3 = origColor
			end
		end)

		local copyScriptBtn = productFrame.CopyScriptButton
		createHoverEffect(copyScriptBtn, BUTTON_HOVER)
		copyScriptBtn.MouseButton1Click:Connect(function()
			if setclipboard then
				local scriptStr = string.format([[
local MarketplaceService = game:GetService("MarketplaceService")
local Players = game:GetService("Players")
local TargetPlayer = Players.LocalPlayer
local ProductID = %d

local function purchaseProduct()
	local success, result = 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(scriptStr)
				local origText = copyScriptBtn.Text
				local origColor = copyScriptBtn.BackgroundColor3
				copyScriptBtn.Text = "Copied!"
				copyScriptBtn.BackgroundColor3 = SUCCESS_COLOR
				task.wait(1)
				copyScriptBtn.Text = origText
				copyScriptBtn.BackgroundColor3 = origColor
			end
		end)

		local buyBtn = productFrame.BuyButton
		createHoverEffect(buyBtn, ACCENT_HOVER)
		buyBtn.MouseButton1Click:Connect(function()
			if activeButtonResets[buyBtn] then task.cancel(activeButtonResets[buyBtn]) end
			if not buyBtn:GetAttribute("OriginalText") then
				buyBtn:SetAttribute("OriginalText", buyBtn.Text)
				buyBtn:SetAttribute("OriginalColor", buyBtn.BackgroundColor3)
			end
			local origText = buyBtn:GetAttribute("OriginalText")
			local origColor = buyBtn:GetAttribute("OriginalColor")
			buyBtn.Text = "Processing..."
			buyBtn.BackgroundColor3 = Color3.fromRGB(200, 100, 0)
			Finished(productInfo)
			activeButtonResets[buyBtn] = task.spawn(function()
				task.wait(0.5)
				buyBtn.Text = "Done!"
				buyBtn.BackgroundColor3 = SUCCESS_COLOR
				task.wait(1.5)
				buyBtn.Text = origText
				buyBtn.BackgroundColor3 = origColor
				activeButtonResets[buyBtn] = nil
			end)
		end)
	end
	updateScrollbarVisibility()
end

searchBox:GetPropertyChangedSignal("Text"):Connect(function()
	local searchText = searchBox.Text:lower()
	for _, frame in ipairs(allProductFrames) do
		local productName = frame:GetAttribute("ProductName"):lower()
		frame.Visible = searchText == "" or string.find(productName, searchText, 1, true) ~= nil
	end
	updateScrollbarVisibility()
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)

refreshButton.MouseButton1Click:Connect(function()
	loadProducts()
	refreshButton.Text = "✓"
	task.wait(0.5)
	refreshButton.Text = "R"
end)

createHoverEffect(refreshButton, Color3.fromRGB(100, 160, 230))
createHoverEffect(minimizeButton, Color3.fromRGB(100, 100, 100))

closeButton.MouseButton1Click:Connect(function()
	stopAllAutoBuys()
	mainGui:Destroy()
end)

local isMinimized = false
minimizeButton.MouseButton1Click:Connect(function()
	isMinimized = not isMinimized
	if isMinimized then
		minimizeButton.Text = "+"
		minimizeButton.BackgroundColor3 = SUCCESS_COLOR
		searchBox.Visible = false
		contentContainer.Visible = false
		TweenService:Create(mainFrame, TweenInfo.new(0.3), { Size = UDim2.new(0, 300, 0, 36) }):Play()
	else
		minimizeButton.Text = "−"
		minimizeButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
		searchBox.Visible = true
		contentContainer.Visible = true
		TweenService:Create(mainFrame, TweenInfo.new(0.3), { Size = UDim2.new(0, 300, 0, 36) }):Play()
	end
end)

local isDragging, dragStart, startPosition, moveConn, upConn
mainFrame.InputBegan:Connect(function(input)
	if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
		isDragging = true
		dragStart = input.Position
		startPosition = mainFrame.Position
		moveConn = 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
				mainFrame.Position = UDim2.new(
					startPosition.X.Scale,
					startPosition.X.Offset + delta.X,
					startPosition.Y.Scale,
					startPosition.Y.Offset + delta.Y
				)
			end
		end)
		upConn = UserInputService.InputEnded:Connect(function(endInput)
			if (endInput.UserInputType == Enum.UserInputType.MouseButton1 or endInput.UserInputType == Enum.UserInputType.Touch) and isDragging then
				isDragging = false
				if moveConn then moveConn:Disconnect() end
				if upConn then upConn:Disconnect() end
			end
		end)
	end
end)

loadProducts()

Features & Information

TESTED ON XENO (should work for other executors!) (Does NOT work for all games 3.0 + UI REDO + BETTER FAKER + RELOAD BUTTON - REMOVED BUY ALL Games that this works - Slap Happy Troll Tower ✋ Will add more soon
#faker#free

Community Comments (4)

kanewright71kanewright71Apr 21, 2026

hey i can u make u script to put up and will put ur name on the menus please reply to my comment with yes or no

CasualdeveloperCasualdeveloperApr 21, 2026

@kanewright71 what game is it for?

Replying to @Casualdeveloper
kanewright71kanewright71Apr 23, 2026

@Casualdeveloper any u need

CasualdeveloperCasualdeveloperApr 23, 2026

okay do 119405710070223

More Scripts for Universal Scripts