
Key RequiredUniversal

-- Delta Auto Clicker & Gun Macro V8.2 (Auto-Independent Mode & Isolated Core Loops)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local VirtualInputManager = game:GetService("VirtualInputManager")
local CoreGui = game:GetService("CoreGui")
local HttpService = game:GetService("HttpService")
local player = Players.LocalPlayer
local CONFIG_FILE = "DeltaGunMacro_Config.json"
-- Disconnect existing event connections on re-execution
if getgenv().DeltaAutoClickerConnections then
for _, conn in ipairs(getgenv().DeltaAutoClickerConnections) do
if conn and conn.Connected then
conn:Disconnect()
end
end
end
getgenv().DeltaAutoClickerConnections = {}
local function trackConn(conn)
table.insert(getgenv().DeltaAutoClickerConnections, conn)
return conn
end
local targetGui = (gethui and gethui()) or CoreGui
if not pcall(function() local _ = targetGui.Name end) then
targetGui = player:WaitForChild("PlayerGui")
end
if targetGui:FindFirstChild("CustomAutoClicker") then
targetGui.CustomAutoClicker:Destroy()
end
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "CustomAutoClicker"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.IgnoreGuiInset = true
screenGui.Parent = targetGui
-- Settings & Variables
local clicking = false
local redirectTaps = false
local extraTarget2Enabled = false
local extraTarget3Enabled = false
local clickDelay = 0.001
local activeCores = 1
local currentMode = "Center"
local isLocked = false
local isUILocked = false
local hideCircle = false
local hideCrosshair = false
-- Independent Speed Settings
local independentSpeeds = false
local selectedSpeedCore = 1
local coreDelays = {0.001, 0.001, 0.001}
-- Independent Target Offsets
local offsetX1, offsetY1 = 0, 0
local offsetX2, offsetY2 = 0, 0
local offsetX3, offsetY3 = 0, 0
local selectedMoverTarget = 1
local crosshairSize = 16
local adjustmentsSet = false
local isRedirecting = false
-- Helper function to create crosshairs
local function createCrosshair(color)
local frame = Instance.new("Frame")
frame.Size = UDim2.fromOffset(crosshairSize, crosshairSize)
frame.AnchorPoint = Vector2.new(0.5, 0.5)
frame.BackgroundTransparency = 1
frame.Active = false
frame.Visible = false
frame.ZIndex = 99999
frame.Parent = screenGui
local h = Instance.new("Frame")
h.Size = UDim2.new(1, 0, 0, 2)
h.Position = UDim2.new(0, 0, 0.5, -1)
h.BackgroundColor3 = color
h.BorderSizePixel = 0
h.Active = false
h.Parent = frame
local v = Instance.new("Frame")
v.Size = UDim2.new(0, 2, 1, 0)
v.Position = UDim2.new(0.5, -1, 0, 0)
v.BackgroundColor3 = color
v.BorderSizePixel = 0
v.Active = false
v.Parent = frame
return frame, h, v
end
-- Crosshairs
local crosshairFrame1, hLine1, vLine1 = createCrosshair(Color3.fromRGB(255, 50, 50))
local crosshairFrame2, hLine2, vLine2 = createCrosshair(Color3.fromRGB(50, 180, 255))
local crosshairFrame3, hLine3, vLine3 = createCrosshair(Color3.fromRGB(220, 50, 255))
-- Main Draggable Header Frame
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 400, 0, 45)
mainFrame.Position = UDim2.new(0.5, -200, 0, 30)
mainFrame.BackgroundColor3 = Color3.fromRGB(28, 28, 32)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Parent = screenGui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 12)
corner.Parent = mainFrame
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(80, 80, 95)
stroke.Thickness = 1.5
stroke.Parent = mainFrame
-- Main Frame Dragging Logic
local draggingMain = false
local mainDragStart, mainStartPos
mainFrame.InputBegan:Connect(function(input)
if not isUILocked and (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then
draggingMain = true
mainDragStart = input.Position
mainStartPos = mainFrame.Position
end
end)
trackConn(UserInputService.InputChanged:Connect(function(input)
if draggingMain and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - mainDragStart
mainFrame.Position = UDim2.new(
mainStartPos.X.Scale,
mainStartPos.X.Offset + delta.X,
mainStartPos.Y.Scale,
mainStartPos.Y.Offset + delta.Y
)
end
end))
trackConn(UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
draggingMain = false
end
end))
-- Header Controls
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0, 70, 0, 31)
toggleBtn.Position = UDim2.new(0, 7, 0, 7)
toggleBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.TextSize = 12
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.Text = "OFF"
toggleBtn.BorderSizePixel = 0
toggleBtn.Parent = mainFrame
local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(0, 8)
toggleCorner.Parent = toggleBtn
local speedBox = Instance.new("TextBox")
speedBox.Size = UDim2.new(0, 55, 0, 31)
speedBox.Position = UDim2.new(0, 82, 0, 7)
speedBox.BackgroundColor3 = Color3.fromRGB(18, 18, 22)
speedBox.TextColor3 = Color3.fromRGB(255, 255, 255)
speedBox.PlaceholderColor3 = Color3.fromRGB(120, 120, 130)
speedBox.Font = Enum.Font.GothamMedium
speedBox.TextSize = 10
speedBox.PlaceholderText = "Speed"
speedBox.Text = "0.001"
speedBox.ClearTextOnFocus = false
speedBox.BorderSizePixel = 0
speedBox.Parent = mainFrame
local speedCorner = Instance.new("UICorner")
speedCorner.CornerRadius = UDim.new(0, 8)
speedCorner.Parent = speedBox
local coresBtn = Instance.new("TextButton")
coresBtn.Size = UDim2.new(0, 185, 0, 31)
coresBtn.Position = UDim2.new(0, 142, 0, 7)
coresBtn.BackgroundColor3 = Color3.fromRGB(90, 50, 130)
coresBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
coresBtn.TextSize = 11
coresBtn.Font = Enum.Font.GothamBold
coresBtn.Text = "Mode: 1 Core (Fast)"
coresBtn.BorderSizePixel = 0
coresBtn.Parent = mainFrame
local coresCorner = Instance.new("UICorner")
coresCorner.CornerRadius = UDim.new(0, 8)
coresCorner.Parent = coresBtn
local settingsBtn = Instance.new("TextButton")
settingsBtn.Size = UDim2.new(0, 35, 0, 31)
settingsBtn.Position = UDim2.new(0, 332, 0, 7)
settingsBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
settingsBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
settingsBtn.TextSize = 14
settingsBtn.Font = Enum.Font.GothamBold
settingsBtn.Text = "⚙"
settingsBtn.BorderSizePixel = 0
settingsBtn.Parent = mainFrame
local settingsCorner = Instance.new("UICorner")
settingsCorner.CornerRadius = UDim.new(0, 8)
settingsCorner.Parent = settingsBtn
-- Scrollable Settings Outer Panel
local settingsPanel = Instance.new("Frame")
settingsPanel.Size = UDim2.new(0, 400, 0, 230)
settingsPanel.Position = UDim2.new(0, 0, 0, 50)
settingsPanel.BackgroundColor3 = Color3.fromRGB(22, 22, 26)
settingsPanel.BorderSizePixel = 0
settingsPanel.Visible = false
settingsPanel.Parent = mainFrame
local panelCorner = Instance.new("UICorner")
panelCorner.CornerRadius = UDim.new(0, 10)
panelCorner.Parent = settingsPanel
local panelStroke = Instance.new("UIStroke")
panelStroke.Color = Color3.fromRGB(65, 65, 75)
panelStroke.Thickness = 1.2
panelStroke.Parent = settingsPanel
local settingsScroll = Instance.new("ScrollingFrame")
settingsScroll.Size = UDim2.new(1, -12, 1, -12)
settingsScroll.Position = UDim2.new(0, 6, 0, 6)
settingsScroll.BackgroundTransparency = 1
settingsScroll.BorderSizePixel = 0
settingsScroll.ScrollBarThickness = 6
settingsScroll.ScrollBarImageColor3 = Color3.fromRGB(90, 90, 110)
settingsScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
settingsScroll.Parent = settingsPanel
local scrollList = Instance.new("UIListLayout")
scrollList.SortOrder = Enum.SortOrder.LayoutOrder
scrollList.Padding = UDim.new(0, 5)
scrollList.Parent = settingsScroll
scrollList:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
settingsScroll.CanvasSize = UDim2.new(0, 0, 0, scrollList.AbsoluteContentSize.Y + 10)
end)
-- Helper function to create target markers
local function createTargetMarker(color, defaultPos)
local marker = Instance.new("Frame")
marker.Size = UDim2.fromOffset(40, 40)
marker.AnchorPoint = Vector2.new(0.5, 0.5)
marker.Position = defaultPos
marker.BackgroundColor3 = color
marker.BackgroundTransparency = 0.6
marker.Visible = false
marker.Active = false
marker.Parent = screenGui
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(1, 0)
c.Parent = marker
return marker
end
local customTargetMarker1 = createTargetMarker(Color3.fromRGB(255, 50, 50), UDim2.new(0.5, 0, 0.5, 0))
local customTargetMarker2 = createTargetMarker(Color3.fromRGB(50, 180, 255), UDim2.new(0.5, 80, 0.5, 0))
local customTargetMarker3 = createTargetMarker(Color3.fromRGB(220, 50, 255), UDim2.new(0.5, -80, 0.5, 0))
-- Position Resolver per Core
local function getTouchCoordinates(coreIndex)
local screenSize = screenGui.AbsoluteSize
local baseX, baseY
local offX, offY = 0, 0
if coreIndex == 2 and extraTarget2Enabled and activeCores >= 2 then
offX, offY = offsetX2, offsetY2
if currentMode == "Custom" then
baseX = customTargetMarker2.AbsolutePosition.X + (customTargetMarker2.AbsoluteSize.X / 2)
baseY = customTargetMarker2.AbsolutePosition.Y + (customTargetMarker2.AbsoluteSize.Y / 2)
else
baseX = (screenSize.X / 2) + 80
baseY = screenSize.Y / 2
end
elseif coreIndex == 3 and extraTarget3Enabled and activeCores >= 3 then
offX, offY = offsetX3, offsetY3
if currentMode == "Custom" then
baseX = customTargetMarker3.AbsolutePosition.X + (customTargetMarker3.AbsoluteSize.X / 2)
baseY = customTargetMarker3.AbsolutePosition.Y + (customTargetMarker3.AbsoluteSize.Y / 2)
else
baseX = (screenSize.X / 2) - 80
baseY = screenSize.Y / 2
end
else
offX, offY = offsetX1, offsetY1
if currentMode == "Custom" then
baseX = customTargetMarker1.AbsolutePosition.X + (customTargetMarker1.AbsoluteSize.X / 2)
baseY = customTargetMarker1.AbsolutePosition.Y + (customTargetMarker1.AbsoluteSize.Y / 2)
else
baseX = screenSize.X / 2
baseY = screenSize.Y / 2
end
end
return baseX + offX, baseY + offY
end
-- Fast Single Touch Execution
local function executeSingleFire(coreIndex)
local touchX, touchY = getTouchCoordinates(coreIndex)
local touchId = 70000 + coreIndex
VirtualInputManager:SendTouchEvent(touchId, 0, touchX, touchY)
VirtualInputManager:SendTouchEvent(touchId, 2, touchX, touchY)
end
-- Unified Fire Execution
local function executeAllFireEvents()
for i = 1, activeCores do
executeSingleFire(i)
end
end
local function updateCrosshairIndicator()
-- Primary Indicator
local touchX1, touchY1 = getTouchCoordinates(1)
crosshairFrame1.Position = UDim2.fromOffset(touchX1, touchY1)
crosshairFrame1.Size = UDim2.fromOffset(crosshairSize, crosshairSize)
crosshairFrame1.Visible = not hideCrosshair
customTargetMarker1.Visible = (currentMode == "Custom") and (not hideCircle)
local crossColor1 = adjustmentsSet and Color3.fromRGB(50, 255, 100) or Color3.fromRGB(255, 50, 50)
hLine1.BackgroundColor3 = crossColor1
vLine1.BackgroundColor3 = crossColor1
-- Secondary Indicator
if extraTarget2Enabled and activeCores >= 2 then
local touchX2, touchY2 = getTouchCoordinates(2)
crosshairFrame2.Position = UDim2.fromOffset(touchX2, touchY2)
crosshairFrame2.Size = UDim2.fromOffset(crosshairSize, crosshairSize)
crosshairFrame2.Visible = not hideCrosshair
customTargetMarker2.Visible = (currentMode == "Custom") and (not hideCircle)
local crossColor2 = adjustmentsSet and Color3.fromRGB(50, 255, 100) or Color3.fromRGB(50, 180, 255)
hLine2.BackgroundColor3 = crossColor2
vLine2.BackgroundColor3 = crossColor2
else
crosshairFrame2.Visible = false
customTargetMarker2.Visible = false
end
-- Tertiary Indicator
if extraTarget3Enabled and activeCores >= 3 then
local touchX3, touchY3 = getTouchCoordinates(3)
crosshairFrame3.Position = UDim2.fromOffset(touchX3, touchY3)
crosshairFrame3.Size = UDim2.fromOffset(crosshairSize, crosshairSize)
crosshairFrame3.Visible = not hideCrosshair
customTargetMarker3.Visible = (currentMode == "Custom") and (not hideCircle)
local crossColor3 = adjustmentsSet and Color3.fromRGB(50, 255, 100) or Color3.fromRGB(220, 50, 255)
hLine3.BackgroundColor3 = crossColor3
vLine3.BackgroundColor3 = crossColor3
else
crosshairFrame3.Visible = false
customTargetMarker3.Visible = false
end
end
-- Marker Drag Handler Creator
local function setupMarkerDrag(marker)
local dragging = false
local dragStart, startPos
marker.InputBegan:Connect(function(input)
if not isLocked and (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then
dragging = true
dragStart = input.Position
startPos = marker.Position
end
end)
trackConn(UserInputService.InputChanged:Connect(function(input)
if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
local delta = input.Position - dragStart
marker.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
updateCrosshairIndicator()
end
end))
trackConn(UserInputService.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = false
end
end))
end
setupMarkerDrag(customTargetMarker1)
setupMarkerDrag(customTargetMarker2)
setupMarkerDrag(customTargetMarker3)
-- Scrollable Menu Buttons Creator
local function createMenuBtn(text, order, bg)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, -6, 0, 24)
btn.BackgroundColor3 = bg
btn.TextColor3 = Color3.fromRGB(255, 255, 255)
btn.TextSize = 11
btn.Font = Enum.Font.GothamBold
btn.Text = text
btn.BorderSizePixel = 0
btn.LayoutOrder = order
btn.Parent = settingsScroll
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 6)
c.Parent = btn
return btn
end
local redirectBtn = createMenuBtn("Redirect Manual Taps: OFF", 1, Color3.fromRGB(45, 45, 50))
local extraTarget2Btn = createMenuBtn("Secondary Target Point (Core 2): OFF", 2, Color3.fromRGB(45, 45, 50))
local extraTarget3Btn = createMenuBtn("Tertiary Target Point (Core 3): OFF", 3, Color3.fromRGB(45, 45, 50))
local centerOptBtn = createMenuBtn("Target Mode: Center Screen [ACTIVE]", 4, Color3.fromRGB(40, 100, 140))
local customOptBtn = createMenuBtn("Target Mode: Custom / Draggable", 5, Color3.fromRGB(45, 45, 50))
local lockOptBtn = createMenuBtn("Lock Custom Target Location: OFF", 6, Color3.fromRGB(45, 45, 50))
local lockUIBtn = createMenuBtn("Lock Header UI Position: OFF", 7, Color3.fromRGB(45, 45, 50))
local hideCircleBtn = createMenuBtn("Hide Target Circle: OFF", 8, Color3.fromRGB(45, 45, 50))
local hideCrosshairBtn = createMenuBtn("Hide Crosshair Indicator: OFF", 9, Color3.fromRGB(45, 45, 50))
-- Dynamic Core Visibility Update
local function updateTargetTogglesVisibility()
extraTarget2Btn.Visible = (activeCores >= 2)
extraTarget3Btn.Visible = (activeCores >= 3)
end
updateTargetTogglesVisibility()
-- Size Controls Container
local sizeFrame = Instance.new("Frame")
sizeFrame.Size = UDim2.new(1, -6, 0, 24)
sizeFrame.BackgroundTransparency = 1
sizeFrame.LayoutOrder = 10
sizeFrame.Parent = settingsScroll
local sizeLabel = Instance.new("TextLabel")
sizeLabel.Size = UDim2.new(0, 120, 1, 0)
sizeLabel.BackgroundTransparency = 1
sizeLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
sizeLabel.TextSize = 11
sizeLabel.Font = Enum.Font.GothamBold
sizeLabel.Text = "Crosshair Size: 16px"
sizeLabel.Parent = sizeFrame
local function createMiniBtn(text, posX, parent)
local b = Instance.new("TextButton")
b.Size = UDim2.new(0, 55, 1, 0)
b.Position = UDim2.new(0, posX, 0, 0)
b.BackgroundColor3 = Color3.fromRGB(55, 55, 60)
b.TextColor3 = Color3.fromRGB(255, 255, 255)
b.Text = text
b.Font = Enum.Font.GothamBold
b.TextSize = 10
b.Parent = parent
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, 4)
c.Parent = b
return b
end
createMiniBtn("-5", 130, sizeFrame).MouseButton1Click:Connect(function() crosshairSize = math.max(6, crosshairSize - 5) sizeLabel.Text = "Crosshair Size: "..crosshairSize.."px" updateCrosshairIndicator() end)
createMiniBtn("-1", 190, sizeFrame).MouseButton1Click:Connect(function() crosshairSize = math.max(6, crosshairSize - 1) sizeLabel.Text = "Crosshair Size: "..crosshairSize.."px" updateCrosshairIndicator() end)
createMiniBtn("+1", 250, sizeFrame).MouseButton1Click:Connect(function() crosshairSize = math.min(60, crosshairSize + 1) sizeLabel.Text = "Crosshair Size: "..crosshairSize.."px" updateCrosshairIndicator() end)
createMiniBtn("+5", 310, sizeFrame).MouseButton1Click:Connect(function() crosshairSize = math.min(60, crosshairSize + 5) sizeLabel.Text = "Crosshair Size: "..crosshairSize.."px" updateCrosshairIndicator() end)
-- Dedicated Target Mover Section
local moverTargetBtn = createMenuBtn("🎯 Mover Adjusting: Target 1 (Red)", 11, Color3.fromRGB(60, 60, 80))
local function getSelectedOffset()
if selectedMoverTarget == 2 then return offsetX2, offsetY2
elseif selectedMoverTarget == 3 then return offsetX3, offsetY3
else return offsetX1, offsetY1 end
end
local function setSelectedOffset(x, y)
if selectedMoverTarget == 2 then offsetX2, offsetY2 = x, y
elseif selectedMoverTarget == 3 then offsetX3, offsetY3 = x, y
else offsetX1, offsetY1 = x, y end
end
local function createOffsetRow(labelText, order)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, -6, 0, 24)
frame.BackgroundTransparency = 1
frame.LayoutOrder = order
frame.Parent = settingsScroll
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0, 120, 1, 0)
label.BackgroundTransparency = 1
label.TextColor3 = Color3.fromRGB(255, 255, 255)
label.TextSize = 11
label.Font = Enum.Font.GothamBold
label.Text = labelText
label.Parent = frame
local isX = labelText:find("X") ~= nil
local function updateVal(delta)
local curX, curY = getSelectedOffset()
if isX then curX = curX + delta else curY = curY + delta end
setSelectedOffset(curX, curY)
label.Text = (isX and "Offset X: " or "Offset Y: ") .. (isX and curX or curY)
adjustmentsSet = false
updateCrosshairIndicator()
end
createMiniBtn("-10", 130, frame).MouseButton1Click:Connect(function() updateVal(-10) end)
createMiniBtn("-1", 190, frame).MouseButton1Click:Connect(function() updateVal(-1) end)
createMiniBtn("+1", 250, frame).MouseButton1Click:Connect(function() updateVal(1) end)
createMiniBtn("+10", 310, frame).MouseButton1Click:Connect(function() updateVal(10) end)
return label
end
local xLabel = createOffsetRow("Offset X: 0", 12)
local yLabel = createOffsetRow("Offset Y: 0", 13)
local function refreshMoverLabels()
local names = {"Target 1 (Red)", "Target 2 (Cyan)", "Target 3 (Purple)"}
moverTargetBtn.Text = "🎯 Mover Adjusting: " .. names[selectedMoverTarget]
local curX, curY = getSelectedOffset()
xLabel.Text = "Offset X: " .. curX
yLabel.Text = "Offset Y: " .. curY
end
moverTargetBtn.MouseButton1Click:Connect(function()
selectedMoverTarget = selectedMoverTarget + 1
if selectedMoverTarget > activeCores then selectedMoverTarget = 1 end
refreshMoverLabels()
end)
-- Dedicated Per-Core Speed Control Section
local indSpeedToggleBtn = createMenuBtn("Independent Core Speeds: OFF (Equal Speeds)", 14, Color3.fromRGB(45, 45, 50))
local speedCoreSelectBtn = createMenuBtn("⏱ Speed Adjusting: Core 1 (Red)", 15, Color3.fromRGB(70, 50, 90))
local coreSpeedFrame = Instance.new("Frame")
coreSpeedFrame.Size = UDim2.new(1, -6, 0, 24)
coreSpeedFrame.BackgroundTransparency = 1
coreSpeedFrame.LayoutOrder = 16
coreSpeedFrame.Parent = settingsScroll
local coreSpeedLabel = Instance.new("TextLabel")
coreSpeedLabel.Size = UDim2.new(0, 180, 1, 0)
coreSpeedLabel.BackgroundTransparency = 1
coreSpeedLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
coreSpeedLabel.TextSize = 11
coreSpeedLabel.Font = Enum.Font.GothamBold
coreSpeedLabel.Text = "Core 1 Speed: 0.001s"
coreSpeedLabel.TextXAlignment = Enum.TextXAlignment.Left
coreSpeedLabel.Parent = coreSpeedFrame
local confirmSpeedBtn = Instance.new("TextButton")
confirmSpeedBtn.Size = UDim2.new(0, 180, 1, 0)
confirmSpeedBtn.Position = UDim2.new(0, 185, 0, 0)
confirmSpeedBtn.BackgroundColor3 = Color3.fromRGB(40, 120, 70)
confirmSpeedBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
confirmSpeedBtn.TextSize = 10
confirmSpeedBtn.Font = Enum.Font.GothamBold
confirmSpeedBtn.Text = "🔒 LOCK SPEED TO CORE"
confirmSpeedBtn.Parent = coreSpeedFrame
local confirmCorner = Instance.new("UICorner")
confirmCorner.CornerRadius = UDim.new(0, 6)
confirmCorner.Parent = confirmSpeedBtn
local function refreshSpeedControls()
local names = {"Core 1 (Red)", "Core 2 (Cyan)", "Core 3 (Purple)"}
speedCoreSelectBtn.Text = "⏱ Speed Adjusting: " .. names[selectedSpeedCore]
coreSpeedLabel.Text = "Core " .. selectedSpeedCore .. " Speed: " .. string.format("%.4f", coreDelays[selectedSpeedCore] or 0.001) .. "s"
end
confirmSpeedBtn.MouseButton1Click:Connect(function()
local val = tonumber(speedBox.Text)
if val then
clickDelay = math.max(0, val)
end
-- Lock selected core delay
coreDelays[selectedSpeedCore] = clickDelay
coreSpeedLabel.Text = "Core " .. selectedSpeedCore .. " Speed: " .. string.format("%.4f", clickDelay) .. "s"
-- Auto-Enable Independent Speeds mode so individual speeds take effect immediately
independentSpeeds = true
indSpeedToggleBtn.Text = "Independent Core Speeds: ON (Custom Per Core)"
indSpeedToggleBtn.BackgroundColor3 = Color3.fromRGB(40, 140, 80)
confirmSpeedBtn.Text = "✔ LOCKED (" .. clickDelay .. "s)"
confirmSpeedBtn.BackgroundColor3 = Color3.fromRGB(50, 180, 90)
task.delay(1, function()
confirmSpeedBtn.Text = "🔒 LOCK SPEED TO CORE"
confirmSpeedBtn.BackgroundColor3 = Color3.fromRGB(40, 120, 70)
end)
end)
indSpeedToggleBtn.MouseButton1Click:Connect(function()
independentSpeeds = not independentSpeeds
indSpeedToggleBtn.Text = "Independent Core Speeds: " .. (independentSpeeds and "ON (Custom Per Core)" or "OFF (Equal Speeds)")
indSpeedToggleBtn.BackgroundColor3 = independentSpeeds and Color3.fromRGB(40, 140, 80) or Color3.fromRGB(45, 45, 50)
end)
speedCoreSelectBtn.MouseButton1Click:Connect(function()
selectedSpeedCore = selectedSpeedCore + 1
if selectedSpeedCore > activeCores then selectedSpeedCore = 1 end
refreshSpeedControls()
end)
-- Lock & Save Buttons
local setAdjBtn = createMenuBtn("✔ LOCK CROSSHAIR ALIGNMENT", 17, Color3.fromRGB(40, 140, 60))
local saveBtn = createMenuBtn("💾 SAVE CONFIGURATION", 18, Color3.fromRGB(180, 100, 30))
setAdjBtn.MouseButton1Click:Connect(function()
adjustmentsSet = not adjustmentsSet
setAdjBtn.BackgroundColor3 = adjustmentsSet and Color3.fromRGB(40, 180, 80) or Color3.fromRGB(40, 140, 60)
setAdjBtn.Text = adjustmentsSet and "✔ CROSSHAIR LOCKED (GREEN)" or "✔ LOCK CROSSHAIR ALIGNMENT"
updateCrosshairIndicator()
end)
-- Mode Toggles Connections
redirectBtn.MouseButton1Click:Connect(function()
redirectTaps = not redirectTaps
redirectBtn.Text = "Redirect Manual Taps: " .. (redirectTaps and "ON" or "OFF")
redirectBtn.BackgroundColor3 = redirectTaps and Color3.fromRGB(40, 140, 80) or Color3.fromRGB(45, 45, 50)
end)
extraTarget2Btn.MouseButton1Click:Connect(function()
extraTarget2Enabled = not extraTarget2Enabled
extraTarget2Btn.Text = "Secondary Target Point (Core 2): " .. (extraTarget2Enabled and "ON" or "OFF")
extraTarget2Btn.BackgroundColor3 = extraTarget2Enabled and Color3.fromRGB(40, 140, 80) or Color3.fromRGB(45, 45, 50)
updateCrosshairIndicator()
end)
extraTarget3Btn.MouseButton1Click:Connect(function()
extraTarget3Enabled = not extraTarget3Enabled
extraTarget3Btn.Text = "Tertiary Target Point (Core 3): " .. (extraTarget3Enabled and "ON" or "OFF")
extraTarget3Btn.BackgroundColor3 = extraTarget3Enabled and Color3.fromRGB(40, 140, 80) or Color3.fromRGB(45, 45, 50)
updateCrosshairIndicator()
end)
centerOptBtn.MouseButton1Click:Connect(function()
currentMode = "Center"
centerOptBtn.BackgroundColor3 = Color3.fromRGB(40, 100, 140)
centerOptBtn.Text = "Target Mode: Center Screen [ACTIVE]"
customOptBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
customOptBtn.Text = "Target Mode: Custom / Draggable"
updateCrosshairIndicator()
end)
customOptBtn.MouseButton1Click:Connect(function()
currentMode = "Custom"
customOptBtn.BackgroundColor3 = Color3.fromRGB(40, 100, 140)
customOptBtn.Text = "Target Mode: Custom / Draggable [ACTIVE]"
centerOptBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
centerOptBtn.Text = "Target Mode: Center Screen"
updateCrosshairIndicator()
end)
lockOptBtn.MouseButton1Click:Connect(function()
isLocked = not isLocked
lockOptBtn.Text = "Lock Custom Target Location: " .. (isLocked and "ON" or "OFF")
lockOptBtn.BackgroundColor3 = isLocked and Color3.fromRGB(140, 60, 60) or Color3.fromRGB(45, 45, 50)
customTargetMarker1.Active = not isLocked
customTargetMarker2.Active = not isLocked
customTargetMarker3.Active = not isLocked
end)
lockUIBtn.MouseButton1Click:Connect(function()
isUILocked = not isUILocked
lockUIBtn.Text = "Lock Header UI Position: " .. (isUILocked and "ON" or "OFF")
lockUIBtn.BackgroundColor3 = isUILocked and Color3.fromRGB(140, 60, 60) or Color3.fromRGB(45, 45, 50)
end)
hideCircleBtn.MouseButton1Click:Connect(function()
hideCircle = not hideCircle
hideCircleBtn.Text = "Hide Target Circle: " .. (hideCircle and "ON" or "OFF")
hideCircleBtn.BackgroundColor3 = hideCircle and Color3.fromRGB(140, 60, 60) or Color3.fromRGB(45, 45, 50)
updateCrosshairIndicator()
end)
hideCrosshairBtn.MouseButton1Click:Connect(function()
hideCrosshair = not hideCrosshair
hideCrosshairBtn.Text = "Hide Crosshair Indicator: " .. (hideCrosshair and "ON" or "OFF")
hideCrosshairBtn.BackgroundColor3 = hideCrosshair and Color3.fromRGB(140, 60, 60) or Color3.fromRGB(45, 45, 50)
updateCrosshairIndicator()
end)
-- Core Toggle Button
coresBtn.MouseButton1Click:Connect(function()
activeCores = activeCores + 1
if activeCores > 3 then activeCores = 1 end
coresBtn.Text = "Mode: " .. activeCores .. " Core" .. (activeCores > 1 and "s (Insane)" or " (Fast)")
if selectedMoverTarget > activeCores then selectedMoverTarget = 1 end
if selectedSpeedCore > activeCores then selectedSpeedCore = 1 end
updateTargetTogglesVisibility()
refreshMoverLabels()
refreshSpeedControls()
updateCrosshairIndicator()
end)
-- Visual Cursors
local cursors = {}
for i = 1, 3 do
local c = Instance.new("ImageLabel")
c.Name = "Cursor_"..i
c.Size = UDim2.fromOffset(24, 24)
c.AnchorPoint = Vector2.new(0.5, 0.5)
c.Image = "rbxassetid://103393660678915"
c.BackgroundTransparency = 1
c.Visible = false
c.Active = false
c.ZIndex = 9999 + i
c.Parent = screenGui
cursors[i] = c
end
-- Manual Tap Interceptor
trackConn(UserInputService.InputBegan:Connect(function(input, gameProcessed)
if not redirectTaps or isRedirecting then return end
if gameProcessed then return end
if input.UserInputType == Enum.UserInputType.Touch then
local touches = UserInputService:GetTouches()
if #touches > 1 then return end
isRedirecting = true
local touchX, touchY = getTouchCoordinates(1)
pcall(function()
VirtualInputManager:SendTouchEvent(88888, 0, touchX, touchY)
VirtualInputManager:SendTouchEvent(88888, 2, touchX, touchY)
end)
task.delay(0.04, function()
isRedirecting = false
end)
end
end))
-- High-Speed Loop Firing Engine
local function startClickLoop()
if independentSpeeds then
-- Multi-threaded Independent Loops per Core with explicitly isolated arguments
for i = 1, activeCores do
task.spawn(function(coreIndex)
while clicking do
local touchX, touchY = getTouchCoordinates(coreIndex)
cursors[coreIndex].Position = UDim2.fromOffset(touchX, touchY)
cursors[coreIndex].Visible = true
executeSingleFire(coreIndex)
local delayVal = coreDelays[coreIndex] or 0.001
if delayVal > 0 then
task.wait(delayVal)
else
task.wait()
end
end
cursors[coreIndex].Visible = false
end, i)
end
else
-- Unified Speed Firing Loop
task.spawn(function()
while clicking do
for i = 1, activeCores do
local touchX, touchY = getTouchCoordinates(i)
cursors[i].Position = UDim2.fromOffset(touchX, touchY)
cursors[i].Visible = true
end
executeAllFireEvents()
if clickDelay > 0 then
task.wait(clickDelay)
else
task.wait()
end
end
for i = 1, 3 do cursors[i].Visible = false end
end)
end
end
-- Save & Load Config System
local function loadConfig()
if isfile and isfile(CONFIG_FILE) and readfile then
local success, data = pcall(function()
return HttpService:JSONDecode(readfile(CONFIG_FILE))
end)
if success and type(data) == "table" then
clickDelay = tonumber(data.clickDelay) or clickDelay
activeCores = tonumber(data.activeCores) or activeCores
extraTarget2Enabled = data.extraTarget2Enabled == true
extraTarget3Enabled = data.extraTarget3Enabled == true
currentMode = tostring(data.currentMode) or currentMode
independentSpeeds = data.independentSpeeds == true
if data.coreDelays and type(data.coreDelays) == "table" then
coreDelays[1] = tonumber(data.coreDelays[1]) or coreDelays[1]
coreDelays[2] = tonumber(data.coreDelays[2]) or coreDelays[2]
coreDelays[3] = tonumber(data.coreDelays[3]) or coreDelays[3]
end
offsetX1 = tonumber(data.offsetX1) or offsetX1
offsetY1 = tonumber(data.offsetY1) or offsetY1
offsetX2 = tonumber(data.offsetX2) or offsetX2
offsetY2 = tonumber(data.offsetY2) or offsetY2
offsetX3 = tonumber(data.offsetX3) or offsetX3
offsetY3 = tonumber(data.offsetY3) or offsetY3
crosshairSize = tonumber(data.crosshairSize) or crosshairSize
hideCircle = data.hideCircle == true
hideCrosshair = data.hideCrosshair == true
isLocked = data.isLocked == true
isUILocked = data.isUILocked == true
redirectTaps = data.redirectTaps == true
speedBox.Text = tostring(clickDelay)
coresBtn.Text = "Mode: " .. activeCores .. " Core" .. (activeCores > 1 and "s (Insane)" or " (Fast)")
updateTargetTogglesVisibility()
indSpeedToggleBtn.Text = "Independent Core Speeds: " .. (independentSpeeds and "ON (Custom Per Core)" or "OFF (Equal Speeds)")
indSpeedToggleBtn.BackgroundColor3 = independentSpeeds and Color3.fromRGB(40, 140, 80) or Color3.fromRGB(45, 45, 50)
extraTarget2Btn.Text = "Secondary Target Point (Core 2): " .. (extraTarget2Enabled and "ON" or "OFF")
extraTarget2Btn.BackgroundColor3 = extraTarget2Enabled and Color3.fromRGB(40, 140, 80) or Color3.fromRGB(45, 45, 50)
extraTarget3Btn.Text = "Tertiary Target Point (Core 3): " .. (extraTarget3Enabled and "ON" or "OFF")
extraTarget3Btn.BackgroundColor3 = extraTarget3Enabled and Color3.fromRGB(40, 140, 80) or Color3.fromRGB(45, 45, 50)
redirectBtn.Text = "Redirect Manual Taps: " .. (redirectTaps and "ON" or "OFF")
redirectBtn.BackgroundColor3 = redirectTaps and Color3.fromRGB(40, 140, 80) or Color3.fromRGB(45, 45, 50)
lockOptBtn.Text = "Lock Custom Target Location: " .. (isLocked and "ON" or "OFF")
lockOptBtn.BackgroundColor3 = isLocked and Color3.fromRGB(140, 60, 60) or Color3.fromRGB(45, 45, 50)
lockUIBtn.Text = "Lock Header UI Position: " .. (isUILocked and "ON" or "OFF")
lockUIBtn.BackgroundColor3 = isUILocked and Color3.fromRGB(140, 60, 60) or Color3.fromRGB(45, 45, 50)
hideCircleBtn.Text = "Hide Target Circle: " .. (hideCircle and "ON" or "OFF")
hideCircleBtn.BackgroundColor3 = hideCircle and Color3.fromRGB(140, 60, 60) or Color3.fromRGB(45, 45, 50)
hideCrosshairBtn.Text = "Hide Crosshair Indicator: " .. (hideCrosshair and "ON" or "OFF")
hideCrosshairBtn.BackgroundColor3 = hideCrosshair and Color3.fromRGB(140, 60, 60) or Color3.fromRGB(45, 45, 50)
if currentMode == "Custom" then
customOptBtn.BackgroundColor3 = Color3.fromRGB(40, 100, 140)
customOptBtn.Text = "Target Mode: Custom / Draggable [ACTIVE]"
centerOptBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
centerOptBtn.Text = "Target Mode: Center Screen"
end
sizeLabel.Text = "Crosshair Size: " .. crosshairSize .. "px"
refreshMoverLabels()
refreshSpeedControls()
end
end
end
saveBtn.MouseButton1Click:Connect(function()
local data = {
clickDelay = clickDelay,
activeCores = activeCores,
extraTarget2Enabled = extraTarget2Enabled,
extraTarget3Enabled = extraTarget3Enabled,
currentMode = currentMode,
independentSpeeds = independentSpeeds,
coreDelays = coreDelays,
offsetX1 = offsetX1,
offsetY1 = offsetY1,
offsetX2 = offsetX2,
offsetY2 = offsetY2,
offsetX3 = offsetX3,
offsetY3 = offsetY3,
crosshairSize = crosshairSize,
hideCircle = hideCircle,
hideCrosshair = hideCrosshair,
isLocked = isLocked,
isUILocked = isUILocked,
redirectTaps = redirectTaps
}
if writefile then
writefile(CONFIG_FILE, HttpService:JSONDecode(data))
saveBtn.Text = "💾 CONFIG SAVED!"
task.delay(1.5, function() saveBtn.Text = "💾 SAVE CONFIGURATION" end)
end
end)
speedBox.FocusLost:Connect(function()
local val = tonumber(speedBox.Text)
if val then
clickDelay = math.max(0, val)
else
speedBox.Text = tostring(clickDelay)
end
end)
toggleBtn.MouseButton1Click:Connect(function()
clicking = not clicking
if clicking then
TweenService:Create(toggleBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(180, 100, 40)}):Play()
toggleBtn.Text = "ON"
startClickLoop()
else
TweenService:Create(toggleBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(45, 45, 50)}):Play()
toggleBtn.Text = "OFF"
for i = 1, 3 do cursors[i].Visible = false end
end
end)
settingsBtn.MouseButton1Click:Connect(function()
settingsPanel.Visible = not settingsPanel.Visible
updateCrosshairIndicator()
end)
loadConfig()
updateCrosshairIndicator()No comments yet for this script.



