Auto Farm
Key Required

Auto Farm

🌊 Tiny OceanVibeCodingVibeCoding 375 views 20 executesUpdated Mar 2, 2026
Unrated
00
Lua Script•157 lines (7114 chars)
local plr = game:GetService("Players").LocalPlayer
local CS = game:GetService("CollectionService")
local R = game:GetService("ReplicatedStorage"):WaitForChild("Remotes")
local E = {farm=false, flags=false, chests=false, collect=false}

pcall(function() game:GetService("CoreGui").FishFarm:Destroy() end)
local gui = Instance.new("ScreenGui"); gui.Name="FishFarm"; gui.ResetOnSpawn=false; gui.Parent=game:GetService("CoreGui")
local main = Instance.new("Frame"); main.Size=UDim2.new(0,180,0,148); main.Position=UDim2.new(0.5,-90,0,20)
main.BackgroundColor3=Color3.fromRGB(15,15,25); main.BorderSizePixel=0; main.Parent=gui

local dr,ds,sp
main.InputBegan:Connect(function(i)
    if i.UserInputType==Enum.UserInputType.MouseButton1 or i.UserInputType==Enum.UserInputType.Touch then
        dr=true;ds=i.Position;sp=main.Position
        i.Changed:Connect(function() if i.UserInputState==Enum.UserInputState.End then dr=false end end)
    end
end)
game:GetService("UserInputService").InputChanged:Connect(function(i)
    if dr and (i.UserInputType==Enum.UserInputType.MouseMovement or i.UserInputType==Enum.UserInputType.Touch) then
        local d=i.Position-ds; main.Position=UDim2.new(sp.X.Scale,sp.X.Offset+d.X,sp.Y.Scale,sp.Y.Offset+d.Y)
    end
end)

local t=Instance.new("TextLabel",main); t.Size=UDim2.new(1,-30,0,25); t.BackgroundColor3=Color3.fromRGB(60,30,120)
t.BorderSizePixel=0; t.Text=" Auto Farm"; t.TextColor3=Color3.fromRGB(220,220,220); t.TextSize=13; t.Font=Enum.Font.GothamBold; t.TextXAlignment=Enum.TextXAlignment.Left
local x=Instance.new("TextButton",main); x.Size=UDim2.new(0,25,0,25); x.Position=UDim2.new(1,-27,0,0)
x.BackgroundColor3=Color3.fromRGB(180,50,50); x.Text="X"; x.TextColor3=Color3.fromRGB(255,255,255); x.TextSize=12; x.Font=Enum.Font.GothamBold; x.BorderSizePixel=0
x.MouseButton1Click:Connect(function() for k in pairs(E) do E[k]=false end; gui:Destroy() end)

local cf=Instance.new("Frame",main); cf.Size=UDim2.new(1,-10,1,-30); cf.Position=UDim2.new(0,5,0,28); cf.BackgroundTransparency=1
Instance.new("UIListLayout",cf).Padding=UDim.new(0,3)

local function tog(name,key)
    local b=Instance.new("TextButton",cf); b.Size=UDim2.new(1,0,0,25)
    b.BackgroundColor3=Color3.fromRGB(40,40,55); b.Text=name..": OFF"
    b.TextColor3=Color3.fromRGB(200,200,200); b.TextSize=13; b.Font=Enum.Font.GothamBold; b.BorderSizePixel=0
    b.MouseButton1Click:Connect(function()
        E[key]=not E[key]
        b.BackgroundColor3=E[key] and Color3.fromRGB(60,30,120) or Color3.fromRGB(40,40,55)
        b.Text=name..": "..(E[key] and "ON" or "OFF")
    end)
end

tog("Auto Farm","farm")
tog("Auto Flags","flags")
tog("Auto Chests","chests")
tog("Auto Collect","collect")

-- Auto Farm: firetouchinterest on all pickups
task.spawn(function()
    local pickups = workspace:WaitForChild("Main"):WaitForChild("Pickups"):WaitForChild("Active")
    while gui.Parent do
        if E.farm then
            local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
            if hrp then
                for _, pickup in pairs(pickups:GetChildren()) do
                    for _, part in pairs(pickup:GetDescendants()) do
                        if part:IsA("BasePart") then
                            pcall(function()
                                firetouchinterest(hrp, part, 0)
                                firetouchinterest(hrp, part, 1)
                            end)
                        end
                    end
                end
            end
        end
        task.wait()
    end
end)

-- Auto Flags: TP to each CapturePoint, wait for capture
task.spawn(function()
    local cp = workspace:WaitForChild("Main"):WaitForChild("CapturePoints")
    while gui.Parent do
        if E.flags then
            local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
            if hrp then
                for _, v in pairs(cp:GetChildren()) do
                    if not E.flags then break end
                    local tp = v:FindFirstChild("TouchPart")
                    if tp then
                        hrp.CFrame = tp.CFrame
                        task.wait(6)
                    end
                end
            end
        end
        task.wait(1)
    end
end)

-- Auto Collect: TP to collectible, interact, auto-complete scratch-off
-- Hook: when server opens scratch-off, instantly complete it
R.CollectiblesTask.OnClientEvent:Connect(function(item, itemData, cancel)
    if cancel == "Cancel" then return end
    if E.collect and item then
        pcall(function() R.CollectiblesTask:FireServer(item) end)
        task.wait(0.1)
        pcall(function() plr.PlayerGui:FindFirstChild("CollectiblesGUI").Enabled = false end)
    end
end)
task.spawn(function()
    local coll = workspace:WaitForChild("Main"):WaitForChild("Collectibles")
    while gui.Parent do
        if E.collect then
            local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
            if hrp then
                for _, zone in pairs(coll:GetChildren()) do
                    for _, item in pairs(zone:GetChildren()) do
                        if not E.collect then break end
                        if item:GetAttribute("Active") then
                            local att = item:FindFirstChild("Main") and item.Main:FindFirstChild("Attachment")
                            if att then
                                hrp.CFrame = CFrame.new(att.WorldPosition)
                                task.wait(0.3)
                                pcall(function() R.InteractRemote:FireServer(item) end)
                                local t = tick()
                                while plr:GetAttribute("CollectiblesBusy") and tick() - t < 3 do task.wait(0.05) end
                                task.wait(0.1)
                            end
                        end
                    end
                end
            end
        end
        task.wait(1)
    end
end)

-- Auto Chests: TP to ActiveChest, fire ProximityPrompt
task.spawn(function()
    while gui.Parent do
        if E.chests then
            local hrp = plr.Character and plr.Character:FindFirstChild("HumanoidRootPart")
            if hrp then
                for _, chest in pairs(CS:GetTagged("ActiveChest")) do
                    if not E.chests then break end
                    local root = chest:FindFirstChild("Root")
                    if root then
                        hrp.CFrame = root.CFrame * CFrame.new(0,0,-3)
                        task.wait(0.3)
                        local att = root:FindFirstChild("Attachment")
                        if att then
                            local pp = att:FindFirstChildOfClass("ProximityPrompt")
                            if pp then
                                pcall(function() fireproximityprompt(pp) end)
                                task.wait((chest:GetAttribute("CaptureTime") or 3) + 1)
                            end
                        end
                    end
                end
            end
        end
        task.wait(1)
    end
end)

Features & Information

Auto Farm

Community Comments (1)

1et_ash1et_ashMar 2, 2026

great script but i prefer u staying away from others becouse heres what it does: It brings crabs and bugs and stuff and then u level up if someones next to u they can level up too and they will steal the stuff so u wont lvl up fast but ITS SOO GOOD I REACHED LVL 34 IN 13 MINUTES xeno preffered

More Scripts for 🌊 Tiny Ocean