Auto collect,Upgrade script
Key Required

Auto collect,Upgrade script

World War 31qu09x1qu09x 6K views 161 executesUpdated Jul 21, 2025
2.5/ 5(2 votes)
1150% Positive
Lua Script•154 lines (5244 chars)
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AutoFarmUI"
screenGui.ResetOnSpawn = false
screenGui.Parent = game:GetService("CoreGui")

local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 300, 0, 150)
mainFrame.Position = UDim2.new(0.5, -532, 0.5, -247)
mainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35)
mainFrame.BorderSizePixel = 0
mainFrame.Parent = screenGui
mainFrame.Active = true

local titleBar = Instance.new("TextLabel")
titleBar.Name = "TitleBar"
titleBar.Size = UDim2.new(1, 0, 0, 30)
titleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
titleBar.BorderSizePixel = 0
titleBar.Text = "Auto Farm & Upgrade"
titleBar.TextColor3 = Color3.new(1,1,1)
titleBar.TextScaled = true
titleBar.Parent = mainFrame

local autoCollectBtn = Instance.new("TextButton")
autoCollectBtn.Name = "AutoCollectBtn"
autoCollectBtn.Position = UDim2.new(0.05, 0, 0.3, 0)
autoCollectBtn.Size = UDim2.new(0.9, 0, 0, 40)
autoCollectBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
autoCollectBtn.TextColor3 = Color3.new(1,1,1)
autoCollectBtn.Text = "Auto Collect"
autoCollectBtn.TextScaled = true
autoCollectBtn.Parent = mainFrame

local upgradeAllBtn = Instance.new("TextButton")
upgradeAllBtn.Name = "UpgradeAllBtn"
upgradeAllBtn.Position = UDim2.new(0.05, 0, 0.65, 0)
upgradeAllBtn.Size = UDim2.new(0.9, 0, 0, 40)
upgradeAllBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
upgradeAllBtn.TextColor3 = Color3.new(1,1,1)
upgradeAllBtn.Text = "Upgrade All"
upgradeAllBtn.TextScaled = true
upgradeAllBtn.Parent = mainFrame

local UserInputService = game:GetService("UserInputService")

local dragging, dragInput, dragStart, startPos

local function onInputBegan(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        dragging = true
        dragStart = input.Position
        startPos = mainFrame.Position

        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                dragging = false
            end
        end)
    end
end

local function onInputChanged(input)
    if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
        dragInput = input
    end
end

titleBar.InputBegan:Connect(onInputBegan)
titleBar.InputChanged:Connect(onInputChanged)

UserInputService.InputChanged:Connect(function(input)
    if input == dragInput and dragging then
        local delta = input.Position - dragStart
        mainFrame.Position = UDim2.new(
            startPos.X.Scale,
            startPos.X.Offset + delta.X,
            startPos.Y.Scale,
            startPos.Y.Offset + delta.Y
        )
    end
end)

local firetouchinterest = firetouchinterest or (function() error("firetouchinterest not found") end)

local autoCollectRunning = false
local autoCollectCoroutine

local function startAutoCollect()
    if autoCollectRunning then return end
    autoCollectRunning = true

    autoCollectCoroutine = coroutine.create(function()
        local Players = game:GetService("Players")
        local LocalPlayer = Players.LocalPlayer
        local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
        local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")

        local MapFolder = workspace:WaitForChild("Map")

        while autoCollectRunning do
            for _, part in ipairs(MapFolder:GetDescendants()) do
                if part.Name == "Cash" and part:IsA("BasePart") and part:FindFirstChildOfClass("TouchTransmitter") then
                    firetouchinterest(HumanoidRootPart, part, 0)
                    task.wait(0.05)
                    firetouchinterest(HumanoidRootPart, part, 1)

                    if not autoCollectRunning then break end
                end
            end
            task.wait(0.5)
        end
    end)

    coroutine.resume(autoCollectCoroutine)
end

local function stopAutoCollect()
    autoCollectRunning = false
end

local function upgradeAll()
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local upgradeEvent = ReplicatedStorage:WaitForChild("src"):WaitForChild("Packages"):WaitForChild("Knit"):WaitForChild("Services"):WaitForChild("UpgradeService"):WaitForChild("RE"):WaitForChild("Upgrade")

    local landsFolder = workspace:WaitForChild("Map"):WaitForChild("Lands")
    local categories = {"Large", "Medium", "XL", "Small"}

    for _, categoryName in ipairs(categories) do
        local categoryFolder = landsFolder:FindFirstChild(categoryName)
        if categoryFolder then
            for _, land in pairs(categoryFolder:GetChildren()) do
                local landName = land.Name
                local args = {landName}
                upgradeEvent:FireServer(unpack(args))
                task.wait(0.05)
            end
        end
    end
end

autoCollectBtn.MouseButton1Click:Connect(function()
    if autoCollectRunning then
        stopAutoCollect()
        autoCollectBtn.Text = "Auto Collect"
    else
        startAutoCollect()
        autoCollectBtn.Text = "Stop Auto Collect"
    end
end)

upgradeAllBtn.MouseButton1Click:Connect(function()
    upgradeAll()
end)

Features & Information

Auto collect Upgrade All

Community Comments (9)

hdhdbdbddjthhdhdbdbddjthJul 21, 2025

Does it work on Krnl

yip6yip6Jul 21, 2025

doesn't work

1qu09x1qu09xJul 21, 2025

fixed

VouxyVouxyJul 21, 2025

doens't work

islamary134islamary134Jul 22, 2025

ts is amazing tysm

I can't move the script it's in my screen Please fix it

It's a amazing script but I can't really move it

1qu09x1qu09xJul 23, 2025

fixed

kimbugolge2kimbugolge2Jul 27, 2025

pls update the script

More Scripts for World War 3