AUTOFARM
Key Required

AUTOFARM

Smoothie Factory Tycoon 🏭AwZ404AwZ404 767 views 275 executesUpdated Apr 24, 2026
Unrated
00
Lua Script•641 lines (23613 chars)
local Config = {
    AutoPurchase = true,
    ObbyFarm = true,
    CrateFarm = true,
    AutoRebirth = true,
    OpenDoors = true,
    AutoBlender = true,
    PurchaseTimer = 1
}

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")

-- Locals/Assets
local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
local Event = ReplicatedStorage:WaitForChild("Remotes"):WaitForChild("Event")
local FactoryComp = Event:WaitForChild("Factory Components")
local Rebirths = LocalPlayer:WaitForChild("leaderstats"):WaitForChild("Rebirths")
local Crates = Workspace:WaitForChild("RandomCrateDropsFolder")
local Tycoons = Workspace:WaitForChild("Tycoons")
local ClaimedPlot = LocalPlayer:WaitForChild("Values"):WaitForChild("ClaimedPlot")
local OwnedTycoon, TycoonFound = nil, false

local Obbies = Workspace:WaitForChild("Obbies")
local ObbyData = {
    {Obbies:WaitForChild("EasyObby"), 0},
    {Obbies:WaitForChild("HardObby"), 0},
    {Obbies:WaitForChild("GravityTowerObby"), 21},
    {Obbies:WaitForChild("IceCavernObby"), 41},
    {Obbies:WaitForChild("VolcanoObby"), 81}
}

local BuyRemote = Event:WaitForChild("PurchaseButton")
local RebirthRemote = FactoryComp:WaitForChild("S_Rebirth")

pcall(function()
    local old = CoreGui:FindFirstChild("AwZ SFT")
    if old then old:Destroy() end
end)

local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "AwZ SFT"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = CoreGui

local Main = Instance.new("Frame")
Main.Name = "Main"
Main.Parent = ScreenGui
Main.Size = UDim2.new(0, 560, 0, 430)
Main.Position = UDim2.new(0.5, -280, 0.5, -215)
Main.BackgroundColor3 = Color3.fromRGB(12, 14, 24)
Main.BorderSizePixel = 0
Main.ClipsDescendants = true
Main.Active = true

local MainCorner = Instance.new("UICorner", Main)
MainCorner.CornerRadius = UDim.new(0, 20)

local MainStroke = Instance.new("UIStroke", Main)
MainStroke.Color = Color3.fromRGB(110, 120, 255)
MainStroke.Thickness = 1.5
MainStroke.Transparency = 0.15

local MainGradient = Instance.new("UIGradient", Main)
MainGradient.Color = ColorSequence.new{
    ColorSequenceKeypoint.new(0, Color3.fromRGB(14, 16, 30)),
    ColorSequenceKeypoint.new(0.5, Color3.fromRGB(20, 20, 38)),
    ColorSequenceKeypoint.new(1, Color3.fromRGB(8, 11, 20))
}
MainGradient.Rotation = 25

local function makeBlob(parent, size, pos, color, transparency)
    local blob = Instance.new("Frame")
    blob.Parent = parent
    blob.AnchorPoint = Vector2.new(0.5, 0.5)
    blob.Size = size
    blob.Position = pos
    blob.BackgroundColor3 = color
    blob.BackgroundTransparency = transparency
    blob.BorderSizePixel = 0
    local c = Instance.new("UICorner", blob)
    c.CornerRadius = UDim.new(1, 0)
    return blob
end

local Blob1 = makeBlob(Main, UDim2.new(0, 220, 0, 220), UDim2.new(0.15, 0, 0.2, 0), Color3.fromRGB(70, 90, 255), 0.72)
local Blob2 = makeBlob(Main, UDim2.new(0, 260, 0, 260), UDim2.new(0.82, 0, 0.8, 0), Color3.fromRGB(255, 80, 180), 0.78)
local Blob3 = makeBlob(Main, UDim2.new(0, 170, 0, 170), UDim2.new(0.85, 0, 0.2, 0), Color3.fromRGB(80, 255, 220), 0.8)

local function pulse(obj, t1, t2, p1, p2)
    task.spawn(function()
        while obj.Parent do
            TweenService:Create(obj, TweenInfo.new(t1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
                Position = p1,
                Size = UDim2.new(obj.Size.X.Scale, obj.Size.X.Offset + 18, obj.Size.Y.Scale, obj.Size.Y.Offset + 18)
            }):Play()
            task.wait(t1)
            TweenService:Create(obj, TweenInfo.new(t2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {
                Position = p2,
                Size = UDim2.new(obj.Size.X.Scale, obj.Size.X.Offset - 18, obj.Size.Y.Scale, obj.Size.Y.Offset - 18)
            }):Play()
            task.wait(t2)
        end
    end)
end

pulse(Blob1, 3.8, 3.8, UDim2.new(0.2, 0, 0.28, 0), UDim2.new(0.12, 0, 0.16, 0))
pulse(Blob2, 4.6, 4.6, UDim2.new(0.76, 0, 0.72, 0), UDim2.new(0.86, 0, 0.84, 0))
pulse(Blob3, 5.2, 5.2, UDim2.new(0.78, 0, 0.18, 0), UDim2.new(0.88, 0, 0.28, 0))

local TopBar = Instance.new("Frame")
TopBar.Parent = Main
TopBar.Size = UDim2.new(1, 0, 0, 58)
TopBar.BackgroundTransparency = 1

local Title = Instance.new("TextLabel")
Title.Parent = TopBar
Title.BackgroundTransparency = 1
Title.Position = UDim2.new(0, 18, 0, 8)
Title.Size = UDim2.new(1, -130, 0, 24)
Title.Font = Enum.Font.GothamBold
Title.Text = "AwZ SFT"
Title.TextColor3 = Color3.fromRGB(245, 247, 255)
Title.TextSize = 22
Title.TextXAlignment = Enum.TextXAlignment.Left

local Subtitle = Instance.new("TextLabel")
Subtitle.Parent = TopBar
Subtitle.BackgroundTransparency = 1
Subtitle.Position = UDim2.new(0, 18, 0, 30)
Subtitle.Size = UDim2.new(1, -130, 0, 18)
Subtitle.Font = Enum.Font.Gotham
Subtitle.Text = "Smoothie Factory Tycoon"
Subtitle.TextColor3 = Color3.fromRGB(145, 155, 190)
Subtitle.TextSize = 12
Subtitle.TextXAlignment = Enum.TextXAlignment.Left

local Minimize = Instance.new("TextButton")
Minimize.Parent = TopBar
Minimize.Size = UDim2.new(0, 36, 0, 36)
Minimize.Position = UDim2.new(1, -84, 0, 11)
Minimize.Text = "–"
Minimize.Font = Enum.Font.GothamBold
Minimize.TextSize = 24
Minimize.TextColor3 = Color3.fromRGB(220, 225, 255)
Minimize.BackgroundColor3 = Color3.fromRGB(26, 30, 48)
Minimize.BorderSizePixel = 0
Instance.new("UICorner", Minimize).CornerRadius = UDim.new(0, 12)

local Close = Instance.new("TextButton")
Close.Parent = TopBar
Close.Size = UDim2.new(0, 36, 0, 36)
Close.Position = UDim2.new(1, -42, 0, 11)
Close.Text = "×"
Close.Font = Enum.Font.GothamBold
Close.TextSize = 20
Close.TextColor3 = Color3.fromRGB(255, 220, 230)
Close.BackgroundColor3 = Color3.fromRGB(42, 20, 32)
Close.BorderSizePixel = 0
Instance.new("UICorner", Close).CornerRadius = UDim.new(0, 12)

local Divider = Instance.new("Frame")
Divider.Parent = Main
Divider.Position = UDim2.new(0, 16, 0, 58)
Divider.Size = UDim2.new(1, -32, 0, 1)
Divider.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Divider.BackgroundTransparency = 0.9
Divider.BorderSizePixel = 0

local Content = Instance.new("ScrollingFrame")
Content.Parent = Main
Content.Position = UDim2.new(0, 16, 0, 72)
Content.Size = UDim2.new(1, -32, 1, -124)
Content.BackgroundTransparency = 1
Content.BorderSizePixel = 0
Content.CanvasSize = UDim2.new(0, 0, 0, 0)
Content.ScrollBarThickness = 4
Content.ScrollBarImageColor3 = Color3.fromRGB(120, 130, 255)

local Layout = Instance.new("UIListLayout", Content)
Layout.Padding = UDim.new(0, 12)
Layout.SortOrder = Enum.SortOrder.LayoutOrder

local Footer = Instance.new("Frame")
Footer.Parent = Main
Footer.AnchorPoint = Vector2.new(0, 1)
Footer.Position = UDim2.new(0, 16, 1, -14)
Footer.Size = UDim2.new(1, -32, 0, 34)
Footer.BackgroundColor3 = Color3.fromRGB(16, 20, 32)
Footer.BorderSizePixel = 0
Instance.new("UICorner", Footer).CornerRadius = UDim.new(0, 12)

local FooterText = Instance.new("TextLabel")
FooterText.Parent = Footer
FooterText.BackgroundTransparency = 1
FooterText.Size = UDim2.new(1, -14, 1, 0)
FooterText.Position = UDim2.new(0, 14, 0, 0)
FooterText.Font = Enum.Font.GothamMedium
FooterText.Text = "Status: Waiting for tycoon..."
FooterText.TextColor3 = Color3.fromRGB(180, 190, 220)
FooterText.TextSize = 13
FooterText.TextXAlignment = Enum.TextXAlignment.Left

local function section(titleText, subtitleText)
    local Holder = Instance.new("Frame")
    Holder.BackgroundColor3 = Color3.fromRGB(18, 22, 36)
    Holder.BorderSizePixel = 0
    Holder.Size = UDim2.new(1, 0, 0, 52)
    Holder.AutomaticSize = Enum.AutomaticSize.Y
    Holder.Parent = Content
    Instance.new("UICorner", Holder).CornerRadius = UDim.new(0, 16)

    local Stroke = Instance.new("UIStroke", Holder)
    Stroke.Color = Color3.fromRGB(255, 255, 255)
    Stroke.Transparency = 0.93

    local Pad = Instance.new("UIPadding", Holder)
    Pad.PaddingTop = UDim.new(0, 14)
    Pad.PaddingBottom = UDim.new(0, 14)
    Pad.PaddingLeft = UDim.new(0, 14)
    Pad.PaddingRight = UDim.new(0, 14)

    local Header = Instance.new("TextLabel")
    Header.Parent = Holder
    Header.BackgroundTransparency = 1
    Header.Size = UDim2.new(1, 0, 0, 20)
    Header.Font = Enum.Font.GothamBold
    Header.Text = titleText
    Header.TextColor3 = Color3.fromRGB(245, 248, 255)
    Header.TextSize = 16
    Header.TextXAlignment = Enum.TextXAlignment.Left

    local Sub = Instance.new("TextLabel")
    Sub.Parent = Holder
    Sub.BackgroundTransparency = 1
    Sub.Position = UDim2.new(0, 0, 0, 20)
    Sub.Size = UDim2.new(1, 0, 0, 16)
    Sub.Font = Enum.Font.Gotham
    Sub.Text = subtitleText or ""
    Sub.TextColor3 = Color3.fromRGB(140, 150, 178)
    Sub.TextSize = 11
    Sub.TextXAlignment = Enum.TextXAlignment.Left

    local Inner = Instance.new("Frame")
    Inner.Parent = Holder
    Inner.Position = UDim2.new(0, 0, 0, 44)
    Inner.Size = UDim2.new(1, 0, 0, 0)
    Inner.AutomaticSize = Enum.AutomaticSize.Y
    Inner.BackgroundTransparency = 1

    local InnerLayout = Instance.new("UIListLayout", Inner)
    InnerLayout.Padding = UDim.new(0, 10)

    local Spacer = Instance.new("Frame")
    Spacer.Parent = Inner
    Spacer.BackgroundTransparency = 1
    Spacer.Size = UDim2.new(1, 0, 0, 2)

    return Inner
end

local function createToggle(parent, labelText, key)
    local Row = Instance.new("Frame")
    Row.Parent = parent
    Row.Size = UDim2.new(1, 0, 0, 48)
    Row.BackgroundColor3 = Color3.fromRGB(24, 29, 46)
    Row.BorderSizePixel = 0
    Instance.new("UICorner", Row).CornerRadius = UDim.new(0, 14)

    local RowStroke = Instance.new("UIStroke", Row)
    RowStroke.Color = Color3.fromRGB(255, 255, 255)
    RowStroke.Transparency = 0.94

    local Label = Instance.new("TextLabel")
    Label.Parent = Row
    Label.BackgroundTransparency = 1
    Label.Position = UDim2.new(0, 14, 0, 0)
    Label.Size = UDim2.new(1, -90, 1, 0)
    Label.Font = Enum.Font.GothamMedium
    Label.Text = labelText
    Label.TextColor3 = Color3.fromRGB(235, 240, 255)
    Label.TextSize = 14
    Label.TextXAlignment = Enum.TextXAlignment.Left

    local Toggle = Instance.new("TextButton")
    Toggle.Parent = Row
    Toggle.Size = UDim2.new(0, 54, 0, 28)
    Toggle.Position = UDim2.new(1, -68, 0.5, -14)
    Toggle.Text = ""
    Toggle.AutoButtonColor = false
    Toggle.BackgroundColor3 = Config[key] and Color3.fromRGB(90, 120, 255) or Color3.fromRGB(54, 58, 78)
    Toggle.BorderSizePixel = 0
    Instance.new("UICorner", Toggle).CornerRadius = UDim.new(1, 0)

    local Knob = Instance.new("Frame")
    Knob.Parent = Toggle
    Knob.Size = UDim2.new(0, 22, 0, 22)
    Knob.Position = Config[key] and UDim2.new(1, -25, 0.5, -11) or UDim2.new(0, 3, 0.5, -11)
    Knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
    Knob.BorderSizePixel = 0
    Instance.new("UICorner", Knob).CornerRadius = UDim.new(1, 0)

    local function refresh()
        TweenService:Create(Toggle, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
            BackgroundColor3 = Config[key] and Color3.fromRGB(90, 120, 255) or Color3.fromRGB(54, 58, 78)
        }):Play()
        TweenService:Create(Knob, TweenInfo.new(0.2, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
            Position = Config[key] and UDim2.new(1, -25, 0.5, -11) or UDim2.new(0, 3, 0.5, -11)
        }):Play()
    end

    Toggle.MouseButton1Click:Connect(function()
        Config[key] = not Config[key]
        refresh()
    end)

    return Row
end

local function createSlider(parent, labelText, key, minVal, maxVal, step)
    local Row = Instance.new("Frame")
    Row.Parent = parent
    Row.Size = UDim2.new(1, 0, 0, 74)
    Row.BackgroundColor3 = Color3.fromRGB(24, 29, 46)
    Row.BorderSizePixel = 0
    Instance.new("UICorner", Row).CornerRadius = UDim.new(0, 14)

    local RowStroke = Instance.new("UIStroke", Row)
    RowStroke.Color = Color3.fromRGB(255, 255, 255)
    RowStroke.Transparency = 0.94

    local Label = Instance.new("TextLabel")
    Label.Parent = Row
    Label.BackgroundTransparency = 1
    Label.Position = UDim2.new(0, 14, 0, 10)
    Label.Size = UDim2.new(1, -90, 0, 18)
    Label.Font = Enum.Font.GothamMedium
    Label.Text = labelText
    Label.TextColor3 = Color3.fromRGB(235, 240, 255)
    Label.TextSize = 14
    Label.TextXAlignment = Enum.TextXAlignment.Left

    local Value = Instance.new("TextLabel")
    Value.Parent = Row
    Value.BackgroundTransparency = 1
    Value.Position = UDim2.new(1, -80, 0, 10)
    Value.Size = UDim2.new(0, 66, 0, 18)
    Value.Font = Enum.Font.GothamBold
    Value.Text = tostring(Config[key]) .. "s"
    Value.TextColor3 = Color3.fromRGB(135, 155, 255)
    Value.TextSize = 14
    Value.TextXAlignment = Enum.TextXAlignment.Right

    local Bar = Instance.new("Frame")
    Bar.Parent = Row
    Bar.Position = UDim2.new(0, 14, 0, 42)
    Bar.Size = UDim2.new(1, -28, 0, 10)
    Bar.BackgroundColor3 = Color3.fromRGB(44, 48, 68)
    Bar.BorderSizePixel = 0
    Instance.new("UICorner", Bar).CornerRadius = UDim.new(1, 0)

    local Fill = Instance.new("Frame")
    Fill.Parent = Bar
    Fill.Size = UDim2.new((Config[key] - minVal) / (maxVal - minVal), 0, 1, 0)
    Fill.BackgroundColor3 = Color3.fromRGB(95, 120, 255)
    Fill.BorderSizePixel = 0
    Instance.new("UICorner", Fill).CornerRadius = UDim.new(1, 0)

    local Knob = Instance.new("Frame")
    Knob.Parent = Bar
    Knob.AnchorPoint = Vector2.new(0.5, 0.5)
    Knob.Size = UDim2.new(0, 18, 0, 18)
    Knob.Position = UDim2.new((Config[key] - minVal) / (maxVal - minVal), 0, 0.5, 0)
    Knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
    Knob.BorderSizePixel = 0
    Instance.new("UICorner", Knob).CornerRadius = UDim.new(1, 0)

    local dragging = false

    local function setFromX(x)
        local percent = math.clamp((x - Bar.AbsolutePosition.X) / Bar.AbsoluteSize.X, 0, 1)
        local raw = minVal + (maxVal - minVal) * percent
        local snapped = math.floor(raw / step + 0.5) * step
        snapped = math.clamp(snapped, minVal, maxVal)
        Config[key] = snapped
        Fill.Size = UDim2.new((snapped - minVal) / (maxVal - minVal), 0, 1, 0)
        Knob.Position = UDim2.new((snapped - minVal) / (maxVal - minVal), 0, 0.5, 0)
        Value.Text = string.format("%.1fs", snapped)
    end

    Bar.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = true
            setFromX(input.Position.X)
        end
    end)

    UserInputService.InputChanged:Connect(function(input)
        if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
            setFromX(input.Position.X)
        end
    end)

    UserInputService.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            dragging = false
        end
    end)

    return Row
end

local AutoSection = section("Automation", "Main control toggles")
createToggle(AutoSection, "Auto Purchase", "AutoPurchase")
createToggle(AutoSection, "Auto Rebirth", "AutoRebirth")
createToggle(AutoSection, "Auto Blender", "AutoBlender")
createToggle(AutoSection, "Open Doors", "OpenDoors")

local FarmSection = section("Farming", "Movement-based collection options")
createToggle(FarmSection, "Obby Farm", "ObbyFarm")
createToggle(FarmSection, "Crate Farm", "CrateFarm")

local TuningSection = section("Tuning", "Adjust automation timing")
createSlider(TuningSection, "Purchase Timer", "PurchaseTimer", 0.1, 5, 0.1)

local Credits = section("Visuals", "Animated neon background and compact utility layout")
local Tip = Instance.new("TextLabel")
Tip.Parent = Credits
Tip.BackgroundTransparency = 1
Tip.Size = UDim2.new(1, 0, 0, 36)
Tip.Font = Enum.Font.Gotham
Tip.TextWrapped = true
Tip.Text = "Tip: You can drag the window by the top bar, minimize it, or close it entirely."
Tip.TextColor3 = Color3.fromRGB(150, 160, 190)
Tip.TextSize = 12
Tip.TextXAlignment = Enum.TextXAlignment.Left

Layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function()
    Content.CanvasSize = UDim2.new(0, 0, 0, Layout.AbsoluteContentSize.Y + 8)
end)
Content.CanvasSize = UDim2.new(0, 0, 0, Layout.AbsoluteContentSize.Y + 8)

local dragging = false
local dragStart, startPos
TopBar.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = true
        dragStart = input.Position
        startPos = Main.Position
    end
end)
TopBar.InputEnded:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 then
        dragging = false
    end
end)
UserInputService.InputChanged:Connect(function(input)
    if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then
        local delta = input.Position - dragStart
        Main.Position = UDim2.new(
            startPos.X.Scale, startPos.X.Offset + delta.X,
            startPos.Y.Scale, startPos.Y.Offset + delta.Y
        )
    end
end)

local minimized = false
local originalSize = Main.Size
Minimize.MouseButton1Click:Connect(function()
    minimized = not minimized
    TweenService:Create(Main, TweenInfo.new(0.25, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
        Size = minimized and UDim2.new(0, 560, 0, 58) or originalSize
    }):Play()
    Content.Visible = not minimized
    Footer.Visible = not minimized
    Divider.Visible = not minimized
end)

Close.MouseButton1Click:Connect(function()
    ScreenGui:Destroy()
end)

local function OnCharacterAdded(NewCharacter)
    Character = NewCharacter
    HumanoidRootPart = NewCharacter:WaitForChild("HumanoidRootPart")
end

local function CheckTycoonOwnership()
    TycoonFound = false
    OwnedTycoon = nil
    for _, v in pairs(Tycoons:GetDescendants()) do
        if v:IsA("ObjectValue") and v.Name == "Owner" and v.Value == LocalPlayer then
            OwnedTycoon, TycoonFound = v.Parent.Name, true
            FooterText.Text = "Status: Tycoon found -> " .. tostring(OwnedTycoon)
            break
        end
    end
    if not TycoonFound then
        FooterText.Text = "Status: Waiting for tycoon..."
    end
end

local function PurchaseItems()
    for _, container in pairs({"PurchaseButtons", "UpgradeButtons"}) do
        for _, v in pairs(Tycoons[OwnedTycoon][container]:GetDescendants()) do
            if v:IsA("TextLabel") and v.Name == "Price" and v.TextColor3 == Color3.fromRGB(114, 255, 112) then
                BuyRemote:FireServer(v.Parent.Parent.Parent.ButtonBase.Parent.Name)
                task.wait(Config.PurchaseTimer)
            end
        end
    end
end

local function Rebirth()
    for _, v in pairs(Tycoons[OwnedTycoon].RebirthButtons:GetDescendants()) do
        if v:IsA("TextLabel") and v.Name == "Price" and v.TextColor3 == Color3.fromRGB(114, 255, 112) then
            RebirthRemote:FireServer()
        end
    end
end

local function ActivateBlenders()
    for _, v in pairs(Tycoons[OwnedTycoon].Purchases:GetDescendants()) do
        if v.Name == "ActivationLight" and v.Color == Color3.fromRGB(0, 255, 0) then
            fireproximityprompt(v.Parent.Button.Attachment.ActivateBlender)
        end
    end
end

local function OpenFactoryDoors(factoryModels)
    for _, model in pairs(factoryModels) do
        for _, v in pairs(Tycoons[OwnedTycoon].ProcessingMachines:GetDescendants()) do
            if v:IsA("Model") and v.Name == model then
                for _, button in pairs(v:GetDescendants()) do
                    if button:IsA("ProximityPrompt") and button.Name == "OpenDoorPrompt" and button.Enabled == true then
                        task.wait(1)
                        fireproximityprompt(button)
                    end
                end
            end
        end
    end
end

local function OpenPackagerDoors(packagerModels)
    for _, model in pairs(packagerModels) do
        for _, v in pairs(Tycoons[OwnedTycoon].ProcessingMachines:GetDescendants()) do
            if v:IsA("Model") and v.Name == model then
                for _, arrow in pairs(v:GetDescendants()) do
                    if arrow:IsA("BillboardGui") and arrow.Name == "Arrow" then
                        fireproximityprompt(arrow.Parent.Parent.Attachment.OpenDoorPrompt)
                    end
                end
            end
        end
    end
end

local function FarmObbies()
    for _, data in ipairs(ObbyData) do
        local obby, rebirthReq = data[1], data[2]
        if obby.Finish.Button and not obby.Decorations.ObbySign.Border.CanCollide and Rebirths.Value >= rebirthReq then
            local OldPos = HumanoidRootPart.CFrame
            firetouchinterest(obby.Finish.Button, HumanoidRootPart, 0)
            firetouchinterest(obby.Finish.Button, HumanoidRootPart, 1)
            task.wait(0.4)
            HumanoidRootPart.CFrame = OldPos
        end
    end
end

local function FarmCrates()
    for _, v in pairs(Crates:GetDescendants()) do
        if v:IsA("TouchTransmitter") then
            firetouchinterest(v.Parent, HumanoidRootPart, 0)
            firetouchinterest(v.Parent, HumanoidRootPart, 1)
        end
    end
end

-- Connections
LocalPlayer.CharacterAdded:Connect(OnCharacterAdded)
if ClaimedPlot.Value then CheckTycoonOwnership() end
ClaimedPlot:GetPropertyChangedSignal("Value"):Connect(function()
    if ClaimedPlot.Value then
        task.wait(1)
        CheckTycoonOwnership()
    else
        TycoonFound = false
        OwnedTycoon = nil
        FooterText.Text = "Status: Waiting for tycoon..."
    end
end)

RunService.RenderStepped:Connect(function()
    MainStroke.Color = Color3.fromHSV((tick() * 0.08) % 1, 0.45, 1)
end)

task.spawn(function()
    while ScreenGui.Parent do
        task.wait(2)
        if TycoonFound then
            FooterText.Text = string.format(
                "Status: %s | Purchase %.1fs | AP:%s AR:%s OD:%s AB:%s OF:%s CF:%s",
                tostring(OwnedTycoon),
                Config.PurchaseTimer,
                Config.AutoPurchase and "ON" or "OFF",
                Config.AutoRebirth and "ON" or "OFF",
                Config.OpenDoors and "ON" or "OFF",
                Config.AutoBlender and "ON" or "OFF",
                Config.ObbyFarm and "ON" or "OFF",
                Config.CrateFarm and "ON" or "OFF"
            )
        end
    end
end)

while ScreenGui.Parent do
    task.wait()
    if TycoonFound and OwnedTycoon and Tycoons:FindFirstChild(OwnedTycoon) then
        if Config.AutoPurchase then PurchaseItems() end
        if Config.AutoRebirth then Rebirth() end
        if Config.AutoBlender then ActivateBlenders() end
        if Config.OpenDoors then
            OpenFactoryDoors({"Main_JarFactory", "Basement_JarFactory", "Moon_JarFactory1", "Moon_JarFactory2", "Mars_JarFactory1", "Mars_JarFactory2", "Venus_JarFactory1", "Venus_JarFactory2"})
            OpenPackagerDoors({"Main_JarPackager", "Basement_JarPackager", "Moon_JarPackager1", "Moon_JarPackager2", "Mars_JarPackager1", "Mars_JarPackager2", "Venus_JarPackager1", "Venus_JarPackager2"})
        end
    end

    if Config.ObbyFarm and HumanoidRootPart then FarmObbies() end
    if Config.CrateFarm and HumanoidRootPart then FarmCrates() end
end

Features & Information

-Auto Purchase -Obby Farm - Crate Farm - Auto Rebirth - OpenDoors - Auto Blender Tested on VelocityLite
#autofarm#script#Smoothie Factory Tycoon#nokey

Community Comments (0)

No comments yet for this script.

More Scripts for Smoothie Factory Tycoon 🏭