Lurk X
Key Required

Lurk X

Arm Battles💪LURK0LURK0 8.2K views 808 executesUpdated Sep 1, 2025
5.0/ 5(3 votes)
30100% Positive
Lua Script•318 lines (11139 chars)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AutoFarmGui"
screenGui.Parent = playerGui
screenGui.ResetOnSpawn = false

local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 180, 0, 190)
mainFrame.Position = UDim2.new(0, 10, 0, 10)
mainFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
mainFrame.BorderSizePixel = 0
mainFrame.ClipsDescendants = true
mainFrame.Parent = screenGui

local frameStroke = Instance.new("UIStroke")
frameStroke.Thickness = 2
frameStroke.Color = Color3.fromRGB(0, 0, 0)
frameStroke.Parent = mainFrame

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 25)
title.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
title.Text = "Lurk Hack"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.Arcade
title.TextSize = 16
title.TextStrokeTransparency = 0
title.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
title.Parent = mainFrame

local hitToggle = Instance.new("TextButton")
hitToggle.Size = UDim2.new(0.9, 0, 0, 25)
hitToggle.Position = UDim2.new(0.05, 0, 0.18, 0)
hitToggle.BackgroundColor3 = Color3.fromHex("#ba2222")
hitToggle.Text = "Auto Hit: OFF"
hitToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
hitToggle.Font = Enum.Font.Arcade
hitToggle.TextSize = 12
hitToggle.TextStrokeTransparency = 0
hitToggle.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
hitToggle.Parent = mainFrame

local hitStroke = Instance.new("UIStroke")
hitStroke.Thickness = 2
hitStroke.Color = Color3.fromRGB(0, 0, 0)
hitStroke.Parent = hitToggle

local liftToggle = Instance.new("TextButton")
liftToggle.Size = UDim2.new(0.9, 0, 0, 25)
liftToggle.Position = UDim2.new(0.05, 0, 0.33, 0)
liftToggle.BackgroundColor3 = Color3.fromHex("#ba2222")
liftToggle.Text = "Auto Lift: OFF"
liftToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
liftToggle.Font = Enum.Font.Arcade
liftToggle.TextSize = 12
liftToggle.TextStrokeTransparency = 0
liftToggle.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
liftToggle.Parent = mainFrame

local liftStroke = Instance.new("UIStroke")
liftStroke.Thickness = 2
liftStroke.Color = Color3.fromRGB(0, 0, 0)
liftStroke.Parent = liftToggle

local touchToggle = Instance.new("TextButton")
touchToggle.Size = UDim2.new(0.9, 0, 0, 25)
touchToggle.Position = UDim2.new(0.05, 0, 0.48, 0)
touchToggle.BackgroundColor3 = Color3.fromHex("#ba2222")
touchToggle.Text = "Auto Win: OFF"
touchToggle.TextColor3 = Color3.fromRGB(255, 255, 255)
touchToggle.Font = Enum.Font.Arcade
touchToggle.TextSize = 12
touchToggle.TextStrokeTransparency = 0
touchToggle.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
touchToggle.Parent = mainFrame

local touchStroke = Instance.new("UIStroke")
touchStroke.Thickness = 2
touchStroke.Color = Color3.fromRGB(0, 0, 0)
touchStroke.Parent = touchToggle

local delayFrame = Instance.new("Frame")
delayFrame.Size = UDim2.new(0.9, 0, 0, 50)
delayFrame.Position = UDim2.new(0.05, 0, 0.65, 0)
delayFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
delayFrame.BorderSizePixel = 0
delayFrame.Parent = mainFrame

local delayStroke = Instance.new("UIStroke")
delayStroke.Thickness = 2
delayStroke.Color = Color3.fromRGB(0, 0, 0)
delayStroke.Parent = delayFrame

local hitDelayLabel = Instance.new("TextLabel")
hitDelayLabel.Size = UDim2.new(0.4, 0, 0, 20)
hitDelayLabel.Position = UDim2.new(0, 5, 0, 5)
hitDelayLabel.BackgroundTransparency = 1
hitDelayLabel.Text = "Hit Delay:"
hitDelayLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
hitDelayLabel.Font = Enum.Font.Arcade
hitDelayLabel.TextSize = 10
hitDelayLabel.TextStrokeTransparency = 0
hitDelayLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
hitDelayLabel.Parent = delayFrame

local hitDelayInput = Instance.new("TextBox")
hitDelayInput.Size = UDim2.new(0.5, 0, 0, 20)
hitDelayInput.Position = UDim2.new(0.45, 0, 0, 5)
hitDelayInput.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
hitDelayInput.Text = tostring(getgenv().HitDelay)
hitDelayInput.TextColor3 = Color3.fromRGB(255, 255, 255)
hitDelayInput.Font = Enum.Font.Arcade
hitDelayInput.TextSize = 10
hitDelayInput.TextStrokeTransparency = 0
hitDelayInput.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
hitDelayInput.Parent = delayFrame

local liftDelayLabel = Instance.new("TextLabel")
liftDelayLabel.Size = UDim2.new(0.4, 0, 0, 20)
liftDelayLabel.Position = UDim2.new(0, 5, 0, 25)
liftDelayLabel.BackgroundTransparency = 1
liftDelayLabel.Text = "Lift Delay:"
liftDelayLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
liftDelayLabel.Font = Enum.Font.Arcade
liftDelayLabel.TextSize = 10
liftDelayLabel.TextStrokeTransparency = 0
liftDelayLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
liftDelayLabel.Parent = delayFrame

local liftDelayInput = Instance.new("TextBox")
liftDelayInput.Size = UDim2.new(0.5, 0, 0, 20)
liftDelayInput.Position = UDim2.new(0.45, 0, 0, 25)
liftDelayInput.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
liftDelayInput.Text = tostring(getgenv().LiftDelay)
liftDelayInput.TextColor3 = Color3.fromRGB(255, 255, 255)
liftDelayInput.Font = Enum.Font.Arcade
liftDelayInput.TextSize = 10
liftDelayInput.TextStrokeTransparency = 0
liftDelayInput.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
liftDelayInput.Parent = delayFrame

getgenv().AutoHit = false
getgenv().HitDelay = 0.1
getgenv().AutoLift = false
getgenv().LiftDelay = 0.8
getgenv().AutoTouch = false

local function autoHitFunc()
    while getgenv().AutoHit do
        game:GetService("ReplicatedStorage").Remotes.Hit:FireServer()
        task.wait(getgenv().HitDelay)
    end
end

local function autoLiftFunc()
    while getgenv().AutoLift do
        local char = player.Character
        local bp = player.Backpack
        if char and bp then
            for _, tool in pairs(bp:GetChildren()) do
                if tool:IsA("Tool") then
                    tool.Parent = char
                    break
                end
            end
            for _, tool in pairs(char:GetChildren()) do
                if tool:IsA("Tool") then
                    tool:Activate()
                end
            end
        end
        task.wait(getgenv().LiftDelay)
    end
end

local function autoTouchFunc()
    while getgenv().AutoTouch do
        local winPart = workspace:FindFirstChild("Obby") and workspace.Obby:FindFirstChild("Win")
        local character = player.Character
        local rootPart = character and character:FindFirstChild("HumanoidRootPart")
        if winPart and rootPart and winPart:IsA("BasePart") then
            firetouchinterest(rootPart, winPart, 0)
            task.wait(0.05)
            firetouchinterest(rootPart, winPart, 1)
        end
        task.wait(0.5)
    end
end

local function tweenButton(button, color)
    local tweenInfo = TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
    local tween = TweenService:Create(button, tweenInfo, {BackgroundColor3 = color})
    tween:Play()
end

local function setupHoverEffect(button)
    button.MouseEnter:Connect(function()
        local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
        local tween = TweenService:Create(button, tweenInfo, {BackgroundColor3 = button.BackgroundColor3:lerp(Color3.fromRGB(255, 255, 255), 0.2)})
        tween:Play()
    end)
    button.MouseLeave:Connect(function()
        local targetColor = button.Text == "Auto Hit: ON" or button.Text == "Auto Lift: ON" or button.Text == "Auto Win: ON" and Color3.fromHex("#22ba38") or Color3.fromHex("#ba2222")
        local tweenInfo = TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
        local tween = TweenService:Create(button, tweenInfo, {BackgroundColor3 = targetColor})
        tween:Play()
    end)
end

setupHoverEffect(hitToggle)
setupHoverEffect(liftToggle)
setupHoverEffect(touchToggle)

hitToggle.MouseButton1Click:Connect(function()
    getgenv().AutoHit = not getgenv().AutoHit
    if getgenv().AutoHit then
        tweenButton(hitToggle, Color3.fromHex("#22ba38"))
        hitToggle.Text = "Auto Hit: ON"
        spawn(autoHitFunc)
    else
        tweenButton(hitToggle, Color3.fromHex("#ba2222"))
        hitToggle.Text = "Auto Hit: OFF"
    end
end)

liftToggle.MouseButton1Click:Connect(function()
    getgenv().AutoLift = not getgenv().AutoLift
    if getgenv().AutoLift then
        tweenButton(liftToggle, Color3.fromHex("#22ba38"))
        liftToggle.Text = "Auto Lift: ON"
        spawn(autoLiftFunc)
    else
        tweenButton(liftToggle, Color3.fromHex("#ba2222"))
        liftToggle.Text = "Auto Lift: OFF"
    end
end)

touchToggle.MouseButton1Click:Connect(function()
    getgenv().AutoTouch = not getgenv().AutoTouch
    if getgenv().AutoTouch then
        tweenButton(touchToggle, Color3.fromHex("#22ba38"))
        touchToggle.Text = "Auto Win: ON"
        spawn(autoTouchFunc)
    else
        tweenButton(touchToggle, Color3.fromHex("#ba2222"))
        touchToggle.Text = "Auto Win: OFF"
    end
end)

hitDelayInput.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        local value = tonumber(hitDelayInput.Text)
        if value then
            getgenv().HitDelay = math.clamp(value, 0.05, 1)
            hitDelayInput.Text = tostring(getgenv().HitDelay)
        else
            hitDelayInput.Text = tostring(getgenv().HitDelay)
        end
    end
end)

liftDelayInput.FocusLost:Connect(function(enterPressed)
    if enterPressed then
        local value = tonumber(liftDelayInput.Text)
        if value then
            getgenv().LiftDelay = math.clamp(value, 0.5, 2)
            liftDelayInput.Text = tostring(getgenv().LiftDelay)
        else
            liftDelayInput.Text = tostring(getgenv().LiftDelay)
        end
    end
end)

local dragging = false
local dragStart = nil
local startPos = nil

local function update(input)
    if dragging and dragStart and startPos then
        local delta = input.Position - dragStart
        local screenSize = playerGui:WaitForChild("ScreenGui").AbsoluteSize
        local newPos = UDim2.new(
            startPos.X.Scale + (delta.X / screenSize.X),
            startPos.X.Offset,
            startPos.Y.Scale + (delta.Y / screenSize.Y),
            startPos.Y.Offset
        )
        mainFrame.Position = newPos
    end
end

mainFrame.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = mainFrame.Position
    end
end)

mainFrame.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = false
        dragStart = nil
        startPos = nil
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
        pcall(update, input)
    end
end)

Features & Information

Auto Lift Auto Hit Auto Win

Community Comments (1)

adamkmetadamkmetSep 14, 2025

fix auto train but good script

More Scripts for Arm Battles💪