local CoreGui = game:GetService("CoreGui") local ReplicatedStorage = game:GetService("ReplicatedStorage") local Players = game:GetService("Players") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local targetGui = (gethui and gethui()) or CoreGui if targetGui:FindFirstChild("AutoFarmUI") then targetGui.AutoFarmUI:Destroy() end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "AutoFarmUI" ScreenGui.ResetOnSpawn = false ScreenGui.Parent = targetGui local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 220, 0, 115) MainFrame.Position = UDim2.new(0, 50, 0, 200) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25) MainFrame.BackgroundTransparency = 0.1 MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Parent = ScreenGui local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 8) UICorner.Parent = MainFrame local Title = Instance.new("TextLabel") Title.Size = UDim2.new(1, 0, 0, 30) Title.BackgroundTransparency = 1 Title.Font = Enum.Font.GothamBold Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 14 Title.Text = "AutoFarm" Title.Parent = MainFrame local DropToggle = Instance.new("TextButton") DropToggle.Size = UDim2.new(0, 140, 0, 30) DropToggle.Position = UDim2.new(0, 10, 0, 35) DropToggle.BackgroundColor3 = Color3.fromRGB(200, 50, 50) DropToggle.Font = Enum.Font.GothamSemibold DropToggle.TextColor3 = Color3.fromRGB(255, 255, 255) DropToggle.TextSize = 12 DropToggle.Text = "Auto Drop: OFF" DropToggle.Parent = MainFrame Instance.new("UICorner", DropToggle).CornerRadius = UDim.new(0, 4) local DelayBox = Instance.new("TextBox") DelayBox.Size = UDim2.new(0, 50, 0, 30) DelayBox.Position = UDim2.new(0, 160, 0, 35) DelayBox.BackgroundColor3 = Color3.fromRGB(40, 40, 40) DelayBox.Font = Enum.Font.GothamSemibold DelayBox.TextColor3 = Color3.fromRGB(255, 255, 255) DelayBox.TextSize = 12 DelayBox.Text = "0" DelayBox.PlaceholderText = "Delay" DelayBox.Parent = MainFrame Instance.new("UICorner", DelayBox).CornerRadius = UDim.new(0, 4) local CollectToggle = Instance.new("TextButton") CollectToggle.Size = UDim2.new(1, -20, 0, 30) CollectToggle.Position = UDim2.new(0, 10, 0, 75) CollectToggle.BackgroundColor3 = Color3.fromRGB(200, 50, 50) CollectToggle.Font = Enum.Font.GothamSemibold CollectToggle.TextColor3 = Color3.fromRGB(255, 255, 255) CollectToggle.TextSize = 13 CollectToggle.Text = "Auto Collect Money: OFF" CollectToggle.Parent = MainFrame Instance.new("UICorner", CollectToggle).CornerRadius = UDim.new(0, 4) -- Draggable Logic local dragging, dragInput, dragStart, startPos MainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = MainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) MainFrame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then local delta = input.Position - dragStart MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) -- Farm Logic local autoDrop = false local autoCollect = false -- Unanchor the player just in case they were stuck from a previous version if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.Anchored = false end local function getDelay() local val = tonumber(DelayBox.Text) return val or 0 end local function fireUIBtn(btn) if getconnections then for _, conn in pairs(getconnections(btn.MouseButton1Click)) do conn:Fire() end for _, conn in pairs(getconnections(btn.Activated)) do conn:Fire() end end end local function autoDropLoop() while autoDrop do local d = getDelay() local btn = LocalPlayer.PlayerGui:FindFirstChild("BallDrop") and LocalPlayer.PlayerGui.BallDrop:FindFirstChild("BottomContainer") and LocalPlayer.PlayerGui.BallDrop.BottomContainer:FindFirstChild("DropButton") if btn then if d <= 0 then pcall(function() for i = 1, 10 do fireUIBtn(btn) end end) task.wait() else pcall(function() fireUIBtn(btn) end) task.wait(d) end else task.wait(0.5) end end end DropToggle.MouseButton1Click:Connect(function() autoDrop = not autoDrop if autoDrop then DropToggle.BackgroundColor3 = Color3.fromRGB(50, 200, 50) DropToggle.Text = "Auto Drop: ON" task.spawn(autoDropLoop) else DropToggle.BackgroundColor3 = Color3.fromRGB(200, 50, 50) DropToggle.Text = "Auto Drop: OFF" end end) local function autoCollectLoop() while autoCollect do pcall(function() local hrp = LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") if hrp then local plots = workspace:FindFirstChild("Plots") if plots then for _, plot in pairs(plots:GetChildren()) do local slots = plot:FindFirstChild("Slots") if slots then for _, slot in pairs(slots:GetChildren()) do local collectBtn = slot:FindFirstChild("CollectButton") if collectBtn then local top = collectBtn:FindFirstChild("Top") if top and top:FindFirstChildOfClass("TouchTransmitter") then firetouchinterest(hrp, top, 0) firetouchinterest(hrp, top, 1) end end end end end end end end) task.wait(0.1) end end CollectToggle.MouseButton1Click:Connect(function() autoCollect = not autoCollect if autoCollect then CollectToggle.BackgroundColor3 = Color3.fromRGB(50, 200, 50) CollectToggle.Text = "Auto Collect Money: ON" task.spawn(autoCollectLoop) else CollectToggle.BackgroundColor3 = Color3.fromRGB(200, 50, 50) CollectToggle.Text = "Auto Collect Money: OFF" end end)