Chicken Farm Script By Coop King, Keyless

Chicken Farm Script By Coop King, Keyless

Chicken Farm 1 day ago
2 views
Chicken Farm Script By Coop King, Keyless Keyless
XenoDev
Play Game Game Link

Description

Farming in Chicken Farm is fun until you realize how long it actually takes to progress manually. This script handles the heavy lifting with features like Main Cash Reserve and Enable Farm Loop, letting you focus on the parts of the game you actually enjoy. It runs smoothly with no key needed required.

What This Script Can Do

  • Main Cash Reserve: Handles Main Cash Reserve automatically in Chicken Farm, so you don’t have to do it manually every session.
  • Enable Farm Loop: Adds Enable Farm Loop functionality to your Chicken Farm setup, helpful for both new and experienced players.
  • Auto Collect: Gives you access to Auto Collect in Chicken Farm, which can make a real difference during longer play sessions.
  • Auto Buy Chickens: Gives you access to Auto Buy Chickens in Chicken Farm, which can make a real difference during longer play sessions.
    • Access: No key system or Linkvertise redirect needed — just paste and run.
  • Executor Compatibility: Works great on Delta, Codex, Hydrogen, Wave, and most mobile and PC executors.

How to Use This Script

  1. Start Roblox and join a Chicken Farm server — any public server works fine.
  2. Wait until you’re fully loaded into the game world before running any script.
  3. Open your executor app (Delta, Codex, Hydrogen, Wave, or any compatible one) and go to the script tab.
  4. Copy the loadstring code shown on this page and paste it into your executor’s script box, then press Execute.
  5. A GUI or confirmation should appear in-game — use it to turn on the features you want and adjust any settings.
Features
Compatible Executors

Script

local genv = getgenv()
local GEN = (genv.__CoopKingGen or 0) + 1
genv.__CoopKingGen = GEN

local function destroyOldWindows()
    local rg = game:GetService("CoreGui"):FindFirstChild("RobloxGui")
    if not rg then return end
    for _, c in rg:GetChildren() do
        if c:IsA("ScreenGui") and string.len(c.Name) == 36 then
            local txt = ""
            for _, d in c:GetDescendants() do
                if d:IsA("TextLabel") and d.Text then txt = txt .. d.Text end
                if #txt > 64 then break end
            end
            if string.match(txt, "Coop King") then pcall(function() c:Destroy() end) end
        end
    end
end
destroyOldWindows()

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Paper = require(ReplicatedStorage.Paper)
local STATS = Paper.Stats
local Chickens = require(ReplicatedStorage.Modules.Shared.Chickens)
local NET = Paper.Network

pcall(STATS.LoadedAsync)

local okR, Rayfield = pcall(function() return loadstring(game:HttpGet("https://sirius.menu/gen2"))() end)
if not okR then print("RAYFIELD_FAIL "..tostring(Rayfield)); return end

local Window = Rayfield:CreateWindow({ 
    name = "Coop King", 
    subtitle = "Chicken Farm Hub v3", 
    configuration = { autoSave = true, autoLoad = true, fileName = "CoopKing" } 
})
Window:Notify({ title = "Coop King", content = "Hub loaded." })

local mainTab = Window:CreateTab({ name = "Main" })
local statTab = Window:CreateTab({ name = "Stats" })
local rebTab = Window:CreateTab({ name = "Rebirth" })

local interval = mainTab:CreateSlider({ name = "Loop interval (s)", range = { 0.5, 3 }, increment = 0.1, value = 1, suffix = "s" })
local keepCash = mainTab:CreateSlider({ name = "Keep cash reserve", range = { 0, 50000 }, increment = 100, value = 500, suffix = "$" })
local master = mainTab:CreateToggle({ name = "Enable farm loop", flag = "master", value = true })
local autoCash = mainTab:CreateToggle({ name = "Auto collect cash", flag = "autoCash", value = true })
local autoBuy = mainTab:CreateToggle({ name = "Auto buy chickens", flag = "autoBuy", value = true })
local buySlider = mainTab:CreateSlider({ name = "Max chickens per buy", range = { 1, 100 }, increment = 1, value = 25 })
local autoMerge = mainTab:CreateToggle({ name = "Auto merge chickens", flag = "autoMerge", value = true })
local autoEggs = mainTab:CreateToggle({ name = "Auto collect eggs", flag = "autoEggs", value = true })
local autoDeposit = mainTab:CreateToggle({ name = "Auto deposit eggs to market", flag = "autoDeposit", value = true })
local autoProcess = mainTab:CreateToggle({ name = "Auto upgrade processing", flag = "autoProcess", value = true })
local autoTier = mainTab:CreateToggle({ name = "Auto upgrade buy tier", flag = "autoTier", value = true })
local autoLucky = mainTab:CreateToggle({ name = "Auto lucky blocks", flag = "autoLucky", value = false })
local autoRebirth = rebTab:CreateToggle({ name = "Auto rebirth", flag = "autoRebirth", value = true })

rebTab:CreateButton({ name = "Rebirth now", callback = function() NET.InvokeServer("Rebirth") end })
rebTab:CreateButton({ name = "Rejoin server", callback = function() NET.InvokeServer("Rejoin") end })

local function mkStat(t, name, prefix)
    return t:CreateStat({ name = name, prefix = prefix, value = 0, numberEasing = false })
end

local statCash = mkStat(statTab, "Cash", "$")
local statTotal = mkStat(statTab, "Chickens", "")
local statEggs = mkStat(statTab, "Eggs processing", "")
local statCollect = mkStat(statTab, "Cash waiting", "$")
local statProc = mkStat(statTab, "Processing level", "")
local statTier = mkStat(statTab, "Buy tier", "")
local statReb = mkStat(statTab, "Rebirths", "")
local rebReqStat = mkStat(rebTab, "Rebirth requirement", "$")

genv.__CoopKingStats = { statCash, statTotal, statEggs, statCollect, statProc, statTier, statReb, rebReqStat }

local function refreshStats()
    local function GV(key) local ok, v = pcall(STATS.GetValue, key); return ok and v or 0 end
    local s = { statCash, statTotal, statEggs, statCollect, statProc, statTier, statReb, rebReqStat }
    local v = { GV("Cash"), GV("TotalChickens"), GV("EggsProcessing"), GV("CashCollect"), GV("ProcessingLevel"), GV("BuyTierLevel"), GV("Rebirth"), Chickens.GetRebirthReq((GV("Rebirth")) + 1) or 0 }
    for i = 1, #s do
        pcall(function() s[i]:Set(v[i]) end)
    end
end

task.spawn(function()
    pcall(STATS.LoadedAsync)
    task.wait(1.2)
    refreshStats()
    while true do
        task.wait(0.4)
        if getgenv().__CoopKingGen ~= GEN then break end
        refreshStats()
    end
end)

print("HUB v3 ready gen="..GEN)

local last = { cash = 0, buy = 0, merge = 0, eggs = 0, depos = 0, process = 0, tier = 0, rebirth = 0, lucky = 0 }
local function nowx() return os.clock() end
local function elapsed(k) return nowx() - last[k] end
local function alive() return genv.__CoopKingGen == GEN end
local function GV(key) local ok, v = pcall(STATS.GetValue, key); return ok and v or 0 end
local function Invoke(name, ...) local ok, a, b = pcall(NET.InvokeServer, name, ...); if not ok then return nil end; return a, b end

-- Egg + Lucky block pull worker
task.spawn(function()
    pcall(STATS.LoadedAsync)
    local function getRoot()
        local char = game.Players.LocalPlayer.Character
        return char and char:FindFirstChild("HumanoidRootPart")
    end
    while alive() do
        task.wait(0.6)
        if not alive() then break end
        if not (master.value and autoEggs.value) then continue end
        local root = getRoot()
        if not root or not root.Parent then continue end
        local eggHolder = workspace:FindFirstChild("Eggs")
        if not eggHolder then continue end
        local pulled = 0
        for _, e in eggHolder:GetChildren() do
            if e.Parent then
                if e:GetAttribute("Tier") then
                    e:PivotTo(CFrame.new(root.Position + Vector3.new(0, 3, 0)))
                    pulled = pulled + 1
                elseif e:GetAttribute("LuckyBlock") and autoLucky.value then
                    local equipped = GV("EquippedLuckyBlock")
                    if equipped == 0 then
                        e:PivotTo(CFrame.new(root.Position + Vector3.new(0, 3, 0)))
                        pulled = pulled + 1
                    end
                end
            end
        end
        if pulled > 0 then
            local t = genv.__CoopKingPullTotal or 0
            genv.__CoopKingPullTotal = t + pulled
            if t % 20 == 0 then print("EGG_PULL "..(t + pulled).." total") end
        end
    end
end)

local BATTERIES = { 100, 25, 5, 1 }
local function buyChickens(cash)
    local total = GV("TotalChickens")
    local tier = GV("BuyTierLevel")
    local cap = buySlider.value
    local spendable = cash
    if cash > keepCash.value then spendable = cash - keepCash.value end
    for _, amt in BATTERIES do
        if amt > cap then continue end
        local cost = Chickens.GetBuyChickenCost(total, tier, amt)
        if cost and spendable >= cost then
            local ok = Invoke("Buy Chickens", amt)
            if ok then return true end
        end
    end
    if total == 0 then
        local cost = Chickens.GetBuyChickenCost(0, tier, 1)
        if cost and cash >= cost then
            local ok = Invoke("Buy Chickens", 1)
            if ok then return true end
        end
    end
    return false
end

-- Main farm loop
task.spawn(function()
    pcall(STATS.LoadedAsync)
    while alive() do
        task.wait(interval.value)
        if not alive() then break end
        local cash = GV("Cash")
        local spendable = cash
        if cash > keepCash.value then spendable = cash - keepCash.value end
        if master.value then
            if autoDeposit.value and elapsed("depos") > 2 then
                local ok, err = Invoke("Deposit Eggs")
                if not ok and err then print("DEPOSIT err "..tostring(err)) end
                last.depos = nowx()
            end
            if autoCash.value and elapsed("cash") > 1.2 then
                if GV("CashCollect") > 0 then
                    local ok, amt = Invoke("Collect Cash")
                    if not ok then print("COLLECT_CASH err") end
                end
                last.cash = nowx()
            end
            if autoBuy.value and elapsed("buy") > 1.5 then
                local ok, err = pcall(buyChickens, cash)
                if not ok then print("BUY err "..tostring(err)) end
                last.buy = nowx()
            end
            if autoMerge.value and elapsed("merge") > 3 then
                local ok, res = Invoke("Merge Chickens")
                if not ok and res then print("MERGE err "..tostring(res)) end
                last.merge = nowx()
            end
            if autoProcess.value and elapsed("process") > 2 then
                local procLevel = GV("ProcessingLevel")
                local cost = Chickens.GetProcessCost(procLevel)
                if cost and spendable >= cost then
                    local ok, res = Invoke("Upgrade Process Level")
                    if not ok and res then print("UP_PROC err "..tostring(res)) end
                end
                last.process = nowx()
            end
            if autoTier.value and elapsed("tier") > 3 then
                local tier = GV("BuyTierLevel")
                local cost = Chickens.GetUpgTierCost(tier)
                if cost and GV("TotalChickens") >= Chickens.GetUpgTierReq(tier) and spendable >= cost then
                    local ok, res = Invoke("Upgrade Buy Tier Level")
                    if not ok and res then print("UP_TIER err "..tostring(res)) end
                end
                last.tier = nowx()
            end
            if autoLucky.value and not genv.__CoopKingPauseLucky and elapsed("lucky") > 5 then
                local equipped = GV("EquippedLuckyBlock")
                if equipped and equipped ~= 0 then
                    local isFree = Paper.Stats.GetValue("IsCurrentLuckyBlockFree")
                    local cost = Chickens.GetLuckyBlockCost(GV("TotalChickens"), equipped, GV("Rebirth"))
                    local canAfford = (isFree == true) or (cost and spendable >= cost)
                    if canAfford then
                        local ok, res = Invoke("Open Lucky Block")
                        if ok then
                            Paper.Network.FireServer("Claim Opened Chicken")
                        end
                    end
                end
                last.lucky = nowx()
            end
        end
        if autoRebirth.value and elapsed("rebirth") > 6 then
            local reb = GV("Rebirth")
            local req = Chickens.GetRebirthReq(reb + 1)
            if req and cash >= req then
                local ok, err = Invoke("Rebirth")
                if ok then print("AUTO_REBIRTH -> "..(reb+1))
                elseif err then print("REBIRTH_ERR "..tostring(err)) end
            end
            last.rebirth = nowx()
        end
    end
    print("FARM_EXIT gen stale")
end)

print("HUB v3 started gen="..GEN)

Comments (0)

No comments yet. Be the first!