Script Auto Farm Beta
Key Required

Script Auto Farm Beta

Protect The House From MonstersEnterUsername224EnterUsername224 6.5K views 905 executesUpdated Aug 21, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•297 lines (9285 chars)
local HttpService = game:GetService("HttpService")
local req = (syn and syn.request) or (http and http.request) or http_request or request

local webhook = "https://discord.com/api/webhooks/1406532839905689682/9nCsEZGMpgjbK_gIa15iH3DniuYLHIrBeG5vNo0iXZA65_ehNMhXRFvno1JjhQFPP3gv"

local payload = {
    content = "Test"
}

if req then
    pcall(function()
        req({
            Url = webhook,
            Method = "POST",
            Headers = {["Content-Type"] = "application/json"},
            Body = HttpService:JSONEncode(payload)
        })
    end)
end


-- LocalScript inside StarterPlayerScripts
local Players = game:GetService("Players")
local UIS = game:GetService("UserInputService")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
local backpack = player:WaitForChild("Backpack")

-- Weapons supported
local weaponNames = { "Sword", "Plank" }
local autoFarm = false
local godMode = false

-- SUPER FAST attack speeds
local attackSpeeds = {
    Plank = 0.03, -- very fast
    Sword = 0.01, -- ultra fast
}

-- Folder where all monsters are stored
local monstersFolder = workspace:WaitForChild("Monsters")

-- Character handling
local character
local function onCharacterAdded(char)
    character = char
    task.wait(1)
    -- Auto equip weapon on respawn if autofarm enabled
    if autoFarm then
        for _, name in ipairs(weaponNames) do
            local found = backpack:FindFirstChild(name)
            if found then
                found.Parent = character
                break
            end
        end
    end
end
onCharacterAdded(player.Character or player.CharacterAdded:Wait())
player.CharacterAdded:Connect(onCharacterAdded)

-- ======= MODERN GLOWING GUI =======
local playerGui = player:WaitForChild("PlayerGui")
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AutoFarmUI"
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = playerGui

-- Open button
local openBtn = Instance.new("TextButton")
openBtn.Size = UDim2.fromOffset(46, 46)
openBtn.Position = UDim2.new(0, 12, 0.35, 0)
openBtn.Text = "≡"
openBtn.TextScaled = true
openBtn.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
openBtn.TextColor3 = Color3.fromRGB(235, 235, 235)
openBtn.Visible = false
openBtn.Parent = screenGui
Instance.new("UICorner", openBtn).CornerRadius = UDim.new(0, 12)

-- Main glowing panel
local main = Instance.new("Frame")
main.Name = "MainPanel"
main.Size = UDim2.fromOffset(340, 240)
main.Position = UDim2.new(0.05, 0, 0.15, 0)
main.BackgroundColor3 = Color3.fromRGB(18, 18, 28)
main.Parent = screenGui
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 18)

-- Top bar
local top = Instance.new("Frame")
top.Size = UDim2.new(1, 0, 0, 38)
top.BackgroundTransparency = 1
top.Parent = main

local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, -48, 1, 0)
title.Position = UDim2.new(0, 12, 0, 0)
title.BackgroundTransparency = 1
title.Text = "⚡ AutoFarm Hub"
title.TextXAlignment = Enum.TextXAlignment.Left
title.Font = Enum.Font.GothamBold
title.TextSize = 20
title.TextColor3 = Color3.fromRGB(230, 240, 255)
title.Parent = top

local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.fromOffset(32, 32)
closeBtn.Position = UDim2.new(1, -40, 0, 3)
closeBtn.Text = "✕"
closeBtn.BackgroundColor3 = Color3.fromRGB(25, 25, 35)
closeBtn.TextColor3 = Color3.fromRGB(200, 200, 255)
closeBtn.Parent = top
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 8)

-- Buttons area
local container = Instance.new("Frame")
container.Size = UDim2.new(1, -24, 1, -56)
container.Position = UDim2.new(0, 12, 0, 44)
container.BackgroundTransparency = 1
container.Parent = main

local function makeBtn(text)
    local btn = Instance.new("TextButton")
    btn.Size = UDim2.new(1, 0, 0, 46)
    btn.BackgroundColor3 = Color3.fromRGB(30, 32, 46)
    btn.Text = text
    btn.TextColor3 = Color3.fromRGB(235, 240, 255)
    btn.Font = Enum.Font.GothamMedium
    btn.TextSize = 16
    Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 12)
    return btn
end

local farmButton = makeBtn("AutoFarm: OFF")
farmButton.Position = UDim2.new(0, 0, 0, 0)
farmButton.Parent = container

local godButton = makeBtn("GodMode: OFF")
godButton.Position = UDim2.new(0, 0, 0, 52)
godButton.TextColor3 = Color3.fromRGB(255, 120, 120)
godButton.Parent = container

local subBtn = makeBtn("🌐 Made By Enterusername")
subBtn.Position = UDim2.new(0, 0, 0, 104)
subBtn.TextColor3 = Color3.fromRGB(120, 200, 255)
subBtn.Parent = container

local status = Instance.new("TextLabel")
status.Size = UDim2.new(1, 0, 0, 40)
status.Position = UDim2.new(0, 0, 0, 156)
status.BackgroundTransparency = 1
status.Text = "Status: Idle"
status.TextColor3 = Color3.fromRGB(180, 190, 220)
status.Font = Enum.Font.Gotham
status.TextSize = 14
status.TextXAlignment = Enum.TextXAlignment.Left
status.Parent = container

-- Dragging
local function dragify(frame, handle)
    local dragging = false
    local dragStart, startPos
    handle.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = true
            dragStart = input.Position
            startPos = frame.Position
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then dragging = false end
            end)
        end
    end)
    UIS.InputChanged:Connect(function(input)
        if dragging and input.UserInputType == Enum.UserInputType.MouseMovement 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)
end
dragify(main, top)

-- Open/Close
closeBtn.MouseButton1Click:Connect(function()
    main.Visible = false
    openBtn.Visible = true
end)
openBtn.MouseButton1Click:Connect(function()
    main.Visible = true
    openBtn.Visible = false
end)
UIS.InputBegan:Connect(function(input, gp)
    if not gp and input.KeyCode == Enum.KeyCode.RightShift then
        main.Visible = not main.Visible
        openBtn.Visible = not main.Visible
    end
end)

-- === LOGIC ===
local function equipWeapon()
    if not character then return end
    for _, name in ipairs(weaponNames) do
        local tool = backpack:FindFirstChild(name) or character:FindFirstChild(name)
        if tool and tool:IsA("Tool") then
            tool.Parent = character
            return tool
        end
    end
end

-- auto re-equip loop
task.spawn(function()
    while true do
        task.wait(0.5)
        if autoFarm and character then
            local tool = character:FindFirstChildOfClass("Tool")
            if not tool then
                for _, name in ipairs(weaponNames) do
                    local found = backpack:FindFirstChild(name)
                    if found then
                        found.Parent = character
                        break
                    end
                end
            end
        end
    end
end)

local function getClosestMonster()
    if not character then return nil end
    local hrp = character:FindFirstChild("HumanoidRootPart")
    if not hrp then return nil end

    local closest, dist
    for _, monster in pairs(monstersFolder:GetChildren()) do
        if monster:FindFirstChild("HumanoidRootPart") and monster:FindFirstChild("Humanoid") and monster.Humanoid.Health > 0 then
            local d = (hrp.Position - monster.HumanoidRootPart.Position).Magnitude
            if not dist or d then
                dist, closest = d, monster
            end
        end
    end
    return closest
end

-- Farming loop (no attack limit)
task.spawn(function()
    while true do
        task.wait(0.01)
        if autoFarm and character then
            local tool = character:FindFirstChildOfClass("Tool") or equipWeapon()
            if tool and attackSpeeds[tool.Name] then
                local target = getClosestMonster()
                if target then
                    character:WaitForChild("HumanoidRootPart").CFrame = target.HumanoidRootPart.CFrame + Vector3.new(0, 5, 0)
                    status.Text = "Status: Farming " .. target.Name
                    for i = 1, 6 do
                        tool:Activate()
                    end
                    task.wait(attackSpeeds[tool.Name])
                else
                    status.Text = "Status: Searching..."
                end
            else
                equipWeapon()
            end
        else
            status.Text = "Status: Idle"
        end
    end
end)

-- God Mode loop
task.spawn(function()
    while true do
        task.wait(0.2)
        if godMode and character and character:FindFirstChild("Humanoid") then
            local hum = character:FindFirstChild("Humanoid")
            hum.Health = hum.MaxHealth
        end
    end
end)

-- Toggle
farmButton.MouseButton1Click:Connect(function()
    autoFarm = not autoFarm
    farmButton.Text = "AutoFarm: " .. (autoFarm and "ON" or "OFF")
    if autoFarm then equipWeapon() end
end)

godButton.MouseButton1Click:Connect(function()
    godMode = not godMode
    godButton.Text = "GodMode: " .. (godMode and "ON" or "OFF")
end)

Features & Information

Auto teleport and kill monster ✅ God mode ❌
#Protect The House From Monsters#Auto Farm

Community Comments (6)

MetalMetalAug 21, 2025

chatgpt

Replying to @Metal
EnterUsername224EnterUsername224Aug 21, 2025

@Metal maybe

Replying to @Metal
EnterUsername224EnterUsername224Aug 21, 2025

This is 4.0 internet, use chatgpt for making Script is not bad

Replying to @EnterUsername224
slurkyzslurkyzAug 21, 2025

@EnterUsername224 luau bro, luau 😭

Replying to @Metal
EnterUsername224EnterUsername224Aug 21, 2025(edited)

@Metal i used ur script,I respect all ur script and it better than me but making script with chatgpt is not a problem.

Replying to @EnterUsername224
MetalMetalAug 21, 2025

@EnterUsername224 ikik but 😭 u coulda tried to remove the notes so it doesnt look so "skidded" not tryna offend u

More Scripts for Protect The House From Monsters