Zum Inhalt springen
Funktioniert

Auto Farm - Monkey Tycoon

CLclarkdevlinorg0 AufrufeUniversal26. Juli 2026
Teilen
Auto Farm - Monkey Tycoon

Script-Code

Lua
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")

local player = Players.LocalPlayer

local ButtonPaths = {
    Deposit = {"Buttons", "DepositButton", "Button"},
    BuyMonkey = {"Buttons", "BuyDropper", "Button"},
    BuyMaxMonkey = {"Buttons", "BuyDropper5", "Button"},
    BananaLauncher = {"Buttons", "BuySpeed", "Button"},
    MergeMonkeys = {"Buttons", "MergeButton", "Button"},
}

local PLOTS_FOLDER_NAME = "Plots"
local MIN_PLOT_NUMBER = 1
local MAX_PLOT_NUMBER = 8

local DROPS_FOLDER_NAME = "Drops"
local DROP_INSTANCE_NAME = "Dropper_Drop"

local STEP_WAIT = 0.75
local BANANA_WAIT = 0.4
local LOOP_WAIT = 0.5

local State = {
    AutoFarmEnabled = false,
    BuyMonkeyEnabled = false,
    BuyMaxMonkeyEnabled = false,
    MergeMonkeysEnabled = false,
    BananaLauncherEnabled = false,
}

local farmThread = nil
local cachedPlotNumber = nil

local function getCharacter()
    local character = player.Character or player.CharacterAdded:Wait()
    local hrp = character:WaitForChild("HumanoidRootPart", 5)
    return character, hrp
end

local function teleportTo(cframe)
    if not State.AutoFarmEnabled then return end
    local _, hrp = getCharacter()
    if hrp then
        hrp.CFrame = cframe
    end
end

local function getInstancePosition(inst)
    if inst:IsA("BasePart") then
        return inst.Position
    elseif inst:IsA("Model") then
        if inst.PrimaryPart then
            return inst.PrimaryPart.Position
        end
        local part = inst:FindFirstChildWhichIsA("BasePart", true)
        if part then
            return part.Position
        end
    end
    return nil
end

local function resolvePath(plotNumber, pathParts)
    local plotsFolder = Workspace:FindFirstChild(PLOTS_FOLDER_NAME)
    if not plotsFolder then return nil end
    local plot = plotsFolder:FindFirstChild(tostring(plotNumber))
    if not plot then return nil end
    local inst = plot
    for _, part in ipairs(pathParts) do
        if not inst then return nil end
        inst = inst:FindFirstChild(part)
    end
    return inst
end

local function findButton(pathParts)
    if cachedPlotNumber then
        local found = resolvePath(cachedPlotNumber, pathParts)
        if found then return found end
    end
    for i = MIN_PLOT_NUMBER, MAX_PLOT_NUMBER do
        local found = resolvePath(i, pathParts)
        if found then
            cachedPlotNumber = i
            return found
        end
    end
    return nil
end

local function teleportToButton(pathParts)
    local button = findButton(pathParts)
    if not button then return end
    local pos = getInstancePosition(button)
    if pos then
        teleportTo(CFrame.new(pos + Vector3.new(0, 3, 0)))
    end
end

local function getActiveBananas()
    local dropsFolder = Workspace:FindFirstChild(DROPS_FOLDER_NAME)
    local bananas = {}
    if not dropsFolder then
        return bananas
    end
    for _, child in ipairs(dropsFolder:GetChildren()) do
        if child.Name == DROP_INSTANCE_NAME then
            table.insert(bananas, child)
        end
    end
    return bananas
end

local function collectBananas()

    local snapshot = getActiveBananas()

    for _, banana in ipairs(snapshot) do
        if not State.AutoFarmEnabled then
            return
        end

        if banana and banana.Parent then
            local pos = getInstancePosition(banana)
            if pos then
                teleportTo(CFrame.new(pos))
                task.wait(BANANA_WAIT)
            end
        end
    end
end

local function farmLoop()
    while State.AutoFarmEnabled do

        collectBananas()
        if not State.AutoFarmEnabled then break end

        teleportToButton(ButtonPaths.Deposit)
        task.wait(STEP_WAIT)
        if not State.AutoFarmEnabled then break end

        if State.BuyMaxMonkeyEnabled then
            teleportToButton(ButtonPaths.BuyMaxMonkey)
            task.wait(STEP_WAIT)
            if not State.AutoFarmEnabled then break end
        elseif State.BuyMonkeyEnabled then
            teleportToButton(ButtonPaths.BuyMonkey)
            task.wait(STEP_WAIT)
            if not State.AutoFarmEnabled then break end
        end

        if State.MergeMonkeysEnabled then
            teleportToButton(ButtonPaths.MergeMonkeys)
            task.wait(STEP_WAIT)
            if not State.AutoFarmEnabled then break end
        end

        if State.BananaLauncherEnabled then
            teleportToButton(ButtonPaths.BananaLauncher)
            task.wait(STEP_WAIT)
            if not State.AutoFarmEnabled then break end
        end

        task.wait(LOOP_WAIT)
    end
    farmThread = nil
end

local function startFarm()
    if farmThread then return end
    State.AutoFarmEnabled = true
    farmThread = task.spawn(farmLoop)
end

local function stopFarm()
    State.AutoFarmEnabled = false
    farmThread = nil
end

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AutoFarmGui"
screenGui.ResetOnSpawn = false
screenGui.Parent = player:WaitForChild("PlayerGui")

local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 220, 0, 275)
mainFrame.Position = UDim2.new(0, 20, 0.5, -115)
mainFrame.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui

local uiCorner = Instance.new("UICorner")
uiCorner.CornerRadius = UDim.new(0, 8)
uiCorner.Parent = mainFrame

local title = Instance.new("TextLabel")
title.Name = "Title"
title.Size = UDim2.new(1, 0, 0, 30)
title.BackgroundTransparency = 1
title.Text = "Auto Farm"
title.TextColor3 = Color3.fromRGB(255, 255, 255)
title.Font = Enum.Font.GothamBold
title.TextSize = 16
title.Parent = mainFrame

local layout = Instance.new("UIListLayout")
layout.Padding = UDim.new(0, 8)
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Parent = nil

local buttonContainer = Instance.new("Frame")
buttonContainer.Name = "ButtonContainer"
buttonContainer.Size = UDim2.new(1, -20, 1, -40)
buttonContainer.Position = UDim2.new(0, 10, 0, 35)
buttonContainer.BackgroundTransparency = 1
buttonContainer.Parent = mainFrame

layout.Parent = buttonContainer

local function createToggleButton(name, labelText, layoutOrder)
    local button = Instance.new("TextButton")
    button.Name = name
    button.Size = UDim2.new(1, 0, 0, 40)
    button.BackgroundColor3 = Color3.fromRGB(60, 60, 68)
    button.TextColor3 = Color3.fromRGB(255, 255, 255)
    button.Font = Enum.Font.GothamSemibold
    button.TextSize = 14
    button.LayoutOrder = layoutOrder
    button.Text = labelText .. ": OFF"
    button.AutoButtonColor = false
    button.Parent = buttonContainer

    local corner = Instance.new("UICorner")
    corner.CornerRadius = UDim.new(0, 6)
    corner.Parent = button

    return button
end

local function setButtonState(button, labelText, enabled)
    button.Text = labelText .. ": " .. (enabled and "ON" or "OFF")
    button.BackgroundColor3 = enabled
        and Color3.fromRGB(46, 160, 90)
        or Color3.fromRGB(60, 60, 68)
end

local function setButtonLocked(button, labelText, locked)

    button.Active = not locked
    if locked then
        button.Text = labelText .. ": OFF (locked)"
        button.BackgroundColor3 = Color3.fromRGB(40, 40, 45)
        button.TextColor3 = Color3.fromRGB(140, 140, 140)
    else
        button.TextColor3 = Color3.fromRGB(255, 255, 255)
        setButtonState(button, labelText, false)
    end
end

local mainToggle = createToggleButton("MainToggle", "Auto Farm", 1)
mainToggle.MouseButton1Click:Connect(function()
    State.AutoFarmEnabled = not State.AutoFarmEnabled
    setButtonState(mainToggle, "Auto Farm", State.AutoFarmEnabled)
    if State.AutoFarmEnabled then
        startFarm()
    else
        stopFarm()
    end
end)

local buyMonkeyToggle = createToggleButton("BuyMonkeyToggle", "Buy Monkey", 2)
buyMonkeyToggle.MouseButton1Click:Connect(function()
    if State.BuyMaxMonkeyEnabled then return end
    State.BuyMonkeyEnabled = not State.BuyMonkeyEnabled
    setButtonState(buyMonkeyToggle, "Buy Monkey", State.BuyMonkeyEnabled)
end)

local buyMaxMonkeyToggle = createToggleButton("BuyMaxMonkeyToggle", "Buy Max Monkey", 3)
buyMaxMonkeyToggle.MouseButton1Click:Connect(function()
    State.BuyMaxMonkeyEnabled = not State.BuyMaxMonkeyEnabled
    setButtonState(buyMaxMonkeyToggle, "Buy Max Monkey", State.BuyMaxMonkeyEnabled)

    if State.BuyMaxMonkeyEnabled then

        State.BuyMonkeyEnabled = false
        setButtonLocked(buyMonkeyToggle, "Buy Monkey", true)
    else

        setButtonLocked(buyMonkeyToggle, "Buy Monkey", false)
    end
end)

local mergeMonkeysToggle = createToggleButton("MergeMonkeysToggle", "Merge Monkeys", 4)
mergeMonkeysToggle.MouseButton1Click:Connect(function()
    State.MergeMonkeysEnabled = not State.MergeMonkeysEnabled
    setButtonState(mergeMonkeysToggle, "Merge Monkeys", State.MergeMonkeysEnabled)
end)

local bananaLauncherToggle = createToggleButton("BananaLauncherToggle", "Banana Launcher", 5)
bananaLauncherToggle.MouseButton1Click:Connect(function()
    State.BananaLauncherEnabled = not State.BananaLauncherEnabled
    setButtonState(bananaLauncherToggle, "Banana Launcher", State.BananaLauncherEnabled)
end)

Beschreibung

Auto Farm Inlcudes Collect Bananas, Deposit Bananas, Buy Monkey, Buy Max Monkeys, Merge Monkeys, Banana Launcher Upgrade

Kommentare (0)

Melde an, um an der Unterhaltung teilzunehmen

  • Sei der Erste, der kommentiert.

Häufig gestellte Fragen

Wie verwende ich den Auto Farm - Monkey Tycoon-Script?
Kopiere den obigen Code, öffne deinen Roblox-Executor, füge den Code ein und drücke Ausführen, während du im Spiel bist. Die Funktionen werden sofort aktiviert, sobald der Script läuft.
Ist der Auto Farm - Monkey Tycoon-Script kostenlos?
Ja. Dieser Script ist völlig kostenlos zu kopieren und zu verwenden. Wenn er ein Schlüsselsystem nutzt, folge dem Link "Schlüssel erhalten", um ihn kostenlos freizuschalten.
Ist der Auto Farm - Monkey Tycoon-Script sicher zu verwenden?
Der vollständige Quellcode wird auf dieser Seite angezeigt, damit du genau lesen kannst, was er tut, bevor du ihn ausführst. Verwende immer einen vertrauenswürdigen Executor, und denke daran, dass die Verwendung von Scripts gegen die Nutzungsbedingungen von Roblox verstößt — verwende sie auf eigene Gefahr.
Welcher Executor funktioniert mit Auto Farm - Monkey Tycoon?
Dieser Script funktioniert mit den meisten beliebten Roblox-Executoren. Besuche unsere Executor-Seite, um einen vertrauenswürdigen kostenlosen oder kostenpflichtigen Executor für dein Gerät zu finden.
Auto Farm - Monkey Tycoon | BloxScripter