local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local VIM = game:GetService("VirtualInputManager") local OFFSET_X = 59 local OFFSET_Y = 37 local CPS = 10 local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") if playerGui:FindFirstChild("DraggableAutoClicker") then playerGui:FindFirstChild("DraggableAutoClicker"):Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "DraggableAutoClicker" gui.ResetOnSpawn = false gui.DisplayOrder = inf gui.IgnoreGuiInset = true gui.Parent = playerGui -- Panel local panel = Instance.new("Frame") panel.Size = UDim2.new(0, 170, 0, 180) panel.Position = UDim2.new(0.5, -85, 0.7, 0) panel.BackgroundColor3 = Color3.fromRGB(30,30,30) panel.Active = true panel.Parent = gui Instance.new("UICorner", panel) local toggle = Instance.new("TextButton") toggle.Size = UDim2.new(0.9, 0, 0, 35) toggle.Position = UDim2.new(0.05, 0, 0.05, 0) toggle.Text = "AutoClick: OFF" toggle.BackgroundColor3 = Color3.fromRGB(220,60,60) toggle.TextColor3 = Color3.new(1,1,1) toggle.Font = Enum.Font.GothamBold toggle.TextSize = 14 toggle.Parent = panel Instance.new("UICorner", toggle) local dragToggle = Instance.new("TextButton") dragToggle.Size = UDim2.new(0.9, 0, 0, 30) dragToggle.Position = UDim2.new(0.05, 0, 0.28, 0) dragToggle.Text = "Drag: LOCKED" dragToggle.BackgroundColor3 = Color3.fromRGB(80,80,80) dragToggle.TextColor3 = Color3.new(1,1,1) dragToggle.Font = Enum.Font.GothamBold dragToggle.TextSize = 12 dragToggle.Parent = panel Instance.new("UICorner", dragToggle) local speedLabel = Instance.new("TextLabel") speedLabel.Size = UDim2.new(0.9, 0, 0, 20) speedLabel.Position = UDim2.new(0.05, 0, 0.5, 0) speedLabel.BackgroundTransparency = 1 speedLabel.Text = "Speed: 10 CPS" speedLabel.TextColor3 = Color3.new(1,1,1) speedLabel.Font = Enum.Font.GothamBold speedLabel.TextSize = 13 speedLabel.Parent = panel local minus = Instance.new("TextButton") minus.Size = UDim2.new(0.28, 0, 0, 30) minus.Position = UDim2.new(0.05, 0, 0.65, 0) minus.Text = "-" minus.BackgroundColor3 = Color3.fromRGB(60,60,60) minus.TextColor3 = Color3.new(1,1,1) minus.Font = Enum.Font.GothamBold minus.TextSize = 18 minus.Parent = panel Instance.new("UICorner", minus) local cpsBox = Instance.new("TextBox") cpsBox.Size = UDim2.new(0.28, 0, 0, 30) cpsBox.Position = UDim2.new(0.36, 0, 0.65, 0) cpsBox.Text = tostring(CPS) cpsBox.BackgroundColor3 = Color3.fromRGB(50,50,50) cpsBox.TextColor3 = Color3.new(1,1,1) cpsBox.Font = Enum.Font.GothamBold cpsBox.TextSize = 14 cpsBox.Parent = panel Instance.new("UICorner", cpsBox) local plus = Instance.new("TextButton") plus.Size = UDim2.new(0.28, 0, 0, 30) plus.Position = UDim2.new(0.67, 0, 0.65, 0) plus.Text = "+" plus.BackgroundColor3 = Color3.fromRGB(60,60,60) plus.TextColor3 = Color3.new(1,1,1) plus.Font = Enum.Font.GothamBold plus.TextSize = 18 plus.Parent = panel Instance.new("UICorner", plus) -- RED CIRCLE local clickVisual = Instance.new("Frame") clickVisual.Name = "ClickPos" clickVisual.Size = UDim2.new(0, 50, 0, 50) clickVisual.Position = UDim2.new(0.5, -25, 0.5, -25) clickVisual.BackgroundColor3 = Color3.fromRGB(255,50,50) clickVisual.BackgroundTransparency = 0.3 clickVisual.Active = true clickVisual.Parent = gui Instance.new("UICorner", clickVisual).CornerRadius = UDim.new(1,0) local stroke = Instance.new("UIStroke", clickVisual) stroke.Color = Color3.new(1,1,1) stroke.Thickness = 2 local isDragEnabled = false local isOn = false -- NO LIMITER local function updateCPS(newCPS) if newCPS < 1 then newCPS = 1 end CPS = newCPS cpsBox.Text = tostring(CPS) speedLabel.Text = "Speed: "..CPS.." CPS" end plus.MouseButton1Click:Connect(function() updateCPS(CPS + 1) end) minus.MouseButton1Click:Connect(function() updateCPS(CPS - 1) end) cpsBox.FocusLost:Connect(function(enterPressed) if enterPressed then local num = tonumber(cpsBox.Text) if num then updateCPS(num) end end end) dragToggle.MouseButton1Click:Connect(function() isDragEnabled = not isDragEnabled dragToggle.Text = isDragEnabled and "Drag: FREE" or "Drag: LOCKED" dragToggle.BackgroundColor3 = isDragEnabled and Color3.fromRGB(0,170,0) or Color3.fromRGB(80,80,80) end) local function makeDraggable(frame, isPanel) local dragging, dragStart, startPos frame.InputBegan:Connect(function(input) if not isPanel and not isDragEnabled then return end if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position end end) UIS.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) UIS.InputEnded:Connect(function() dragging = false end) end makeDraggable(panel, true) makeDraggable(clickVisual, false) local isMobile = UIS.TouchEnabled and not UIS.MouseEnabled local function getPerfectCenter() local center = clickVisual.AbsolutePosition + (clickVisual.AbsoluteSize / 2) return Vector2.new(center.X + OFFSET_X, center.Y + OFFSET_Y) end local function safeClick(x, y) if isMobile then VIM:SendTouchEvent(1, 0, x, y, game) task.wait(0.01) VIM:SendTouchEvent(1, 2, x, y, game) else VIM:SendMouseButtonEvent(x, y, 0, true, game, 0) task.wait(0.01) VIM:SendMouseButtonEvent(x, y, 0, false, game, 0) end end toggle.MouseButton1Click:Connect(function() isOn = not isOn toggle.Text = isOn and "AutoClick: ON" or "AutoClick: OFF" toggle.BackgroundColor3 = isOn and Color3.fromRGB(60,220,80) or Color3.fromRGB(220,60,60) end) task.spawn(function() while task.wait(1/CPS) do if isOn then local pos = getPerfectCenter() safeClick(pos.X, pos.Y) end end end)