--[[ - Auto Farm - Auto Tool = Actual Left Click Hold - Auto Collect Tokens - Auto Convert When Full - Returns To Field Automatically ]] local Players = game:GetService("Players") local localPlayer = Players.LocalPlayer local replicatedStorage = game:GetService("ReplicatedStorage") local workspace = game:GetService("Workspace") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local VirtualInputManager = game:GetService("VirtualInputManager") -- Duplicate protection if getgenv().NeutralAutoFarmLoaded then warn("AutoFarm already running — stopped duplicate.") return end getgenv().NeutralAutoFarmLoaded = true -- UI Library local library = loadstring(game:HttpGet('https://raw.githubusercontent.com/dementiaenjoyer/UI-LIBRARIES/refs/heads/main/wally-modified/source.lua'))() local window = library:CreateWindow('Credit: Neutral') -- Settings local cd = 0 local cd2 = 0 local autofarm = false local autotool = false local servertokens = false local localtokens = false local autoquest = false local autogummy = false local autoconvert = false local field = "Dandelion Field" -- Field List local fields = {} for i,v in workspace.Fields:GetChildren() do table.insert(fields,v.Name) end -- UI window:Section('Autofarm') window:Toggle("Auto Farm",{},function(v) autofarm = v end) window:Dropdown("Fields",{ location = _G; flag = "fields"; list = fields },function(v) field = v end) window:Section('Stuff') window:Toggle("Auto Tool (Hold Click)",{},function(v) autotool = v end) window:Toggle("Collect Local Tokens",{},function(v) localtokens = v end) window:Toggle("Collect Server Tokens",{},function(v) servertokens = v end) window:Toggle("Auto take/finish quest",{},function(v) autoquest = v end) window:Toggle("Auto Convert",{},function(v) autoconvert = v end) window:Toggle("Auto Gummy",{},function(v) autogummy = v end) -- Click Hold System (Replaces Old Remote Spam) local holdingTool = false local function HoldTool() if holdingTool then return end holdingTool = true local pos = UserInputService:GetMouseLocation() VirtualInputManager:SendMouseButtonEvent(pos.X,pos.Y,0,true,game,1) end local function ReleaseTool() if not holdingTool then return end holdingTool = false local pos = UserInputService:GetMouseLocation() VirtualInputManager:SendMouseButtonEvent(pos.X,pos.Y,0,false,game,1) end -- Platform for converting local teleportPlatform = nil local teleportTime = 0 RunService.RenderStepped:Connect(function(delta) cd += delta cd2 += delta local data = getrenv()._G.PData local character = localPlayer.Character local hrp = character and character:FindFirstChild("HumanoidRootPart") local tool = character and character:FindFirstChildWhichIsA("Tool") if not hrp then return end -- TOKEN COLLECTION if localtokens then for _, v in workspace.Tokens.Ability[localPlayer.Name]:GetChildren() do if v:FindFirstChild("TouchInterest") then firetouchinterest(v, hrp, 0) end end for _, v in workspace.Tokens.Local[localPlayer.Name]:GetChildren() do if v:FindFirstChild("TouchInterest") then firetouchinterest(v, hrp, 0) end end end if servertokens then for _, v in workspace.Tokens.Server:GetChildren() do if v:FindFirstChild("TouchInterest") then firetouchinterest(v, hrp, 0) end end end -- ACTIONS EVERY 0.1 SEC if cd > 0.1 then cd = 0 if autogummy and data.Cooldowns.Gumdrops < os.time() then replicatedStorage.Remotes.Item:FireServer({Item = "Gumdrops"}) end if autoconvert and data.Stats.Pollen >= data.Stats.Capacity then replicatedStorage.Remotes.Item:FireServer({Item = "Micro-Converter"}) end -- Auto Quest if autoquest then for _,v in replicatedStorage.Modules.Quests:GetChildren() do replicatedStorage.Remotes.TakeQuest:FireServer(v.Name) replicatedStorage.Remotes.FinishQuest:FireServer(v.Name) end end end -- AUTO FARM / AUTO CONVERT LOGIC if cd2 > 0.5 then cd2 = 0 if autofarm then if data.Stats.Pollen >= data.Stats.Capacity then -- Stop holding tool while converting ReleaseTool() local hivePad = workspace.Hives[data.Info.Hive].Pad if hivePad then if not teleportPlatform then teleportPlatform = Instance.new("Part") teleportPlatform.Anchored = true teleportPlatform.CanCollide = true teleportPlatform.Size = Vector3.new(10,1,10) teleportPlatform.Position = hivePad.Position + Vector3.new(0,8,14) teleportPlatform.Parent = workspace end hrp.CFrame = CFrame.new(teleportPlatform.Position + Vector3.new(0,3,0)) if not data.Info.Converting then replicatedStorage.Remotes.Hive:FireServer({Action = "Convert"}) end end elseif not data.Info.Converting then -- Return to farming local flowers = workspace.Fields[field]:GetChildren() local pick = flowers[math.random(1,#flowers)] if pick and pick.Name == "Flower" then hrp.CFrame = CFrame.new(pick.Position) end -- Resume hold tool if autotool then HoldTool() end end end end -- AUTO TOOL ALWAYS CHECK if autotool and not data.Info.Converting then HoldTool() else ReleaseTool() end end)