local screenGui = Instance.new("ScreenGui") screenGui.Name = "AutoFarmUI" screenGui.ResetOnSpawn = false screenGui.Parent = game:GetService("CoreGui") local mainFrame = Instance.new("Frame") mainFrame.Name = "MainFrame" mainFrame.Size = UDim2.new(0, 300, 0, 150) mainFrame.Position = UDim2.new(0.5, -532, 0.5, -247) mainFrame.BackgroundColor3 = Color3.fromRGB(35, 35, 35) mainFrame.BorderSizePixel = 0 mainFrame.Parent = screenGui mainFrame.Active = true local titleBar = Instance.new("TextLabel") titleBar.Name = "TitleBar" titleBar.Size = UDim2.new(1, 0, 0, 30) titleBar.BackgroundColor3 = Color3.fromRGB(20, 20, 20) titleBar.BorderSizePixel = 0 titleBar.Text = "Auto Farm & Upgrade" titleBar.TextColor3 = Color3.new(1,1,1) titleBar.TextScaled = true titleBar.Parent = mainFrame local autoCollectBtn = Instance.new("TextButton") autoCollectBtn.Name = "AutoCollectBtn" autoCollectBtn.Position = UDim2.new(0.05, 0, 0.3, 0) autoCollectBtn.Size = UDim2.new(0.9, 0, 0, 40) autoCollectBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) autoCollectBtn.TextColor3 = Color3.new(1,1,1) autoCollectBtn.Text = "Auto Collect" autoCollectBtn.TextScaled = true autoCollectBtn.Parent = mainFrame local upgradeAllBtn = Instance.new("TextButton") upgradeAllBtn.Name = "UpgradeAllBtn" upgradeAllBtn.Position = UDim2.new(0.05, 0, 0.65, 0) upgradeAllBtn.Size = UDim2.new(0.9, 0, 0, 40) upgradeAllBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 60) upgradeAllBtn.TextColor3 = Color3.new(1,1,1) upgradeAllBtn.Text = "Upgrade All" upgradeAllBtn.TextScaled = true upgradeAllBtn.Parent = mainFrame local UserInputService = game:GetService("UserInputService") local dragging, dragInput, dragStart, startPos local function onInputBegan(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 local function onInputChanged(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end titleBar.InputBegan:Connect(onInputBegan) titleBar.InputChanged:Connect(onInputChanged) 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) local firetouchinterest = firetouchinterest or (function() error("firetouchinterest not found") end) local autoCollectRunning = false local autoCollectCoroutine local function startAutoCollect() if autoCollectRunning then return end autoCollectRunning = true autoCollectCoroutine = coroutine.create(function() local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local HumanoidRootPart = Character:WaitForChild("HumanoidRootPart") local MapFolder = workspace:WaitForChild("Map") while autoCollectRunning do for _, part in ipairs(MapFolder:GetDescendants()) do if part.Name == "Cash" and part:IsA("BasePart") and part:FindFirstChildOfClass("TouchTransmitter") then firetouchinterest(HumanoidRootPart, part, 0) task.wait(0.05) firetouchinterest(HumanoidRootPart, part, 1) if not autoCollectRunning then break end end end task.wait(0.5) end end) coroutine.resume(autoCollectCoroutine) end local function stopAutoCollect() autoCollectRunning = false end local function upgradeAll() local ReplicatedStorage = game:GetService("ReplicatedStorage") local upgradeEvent = ReplicatedStorage:WaitForChild("src"):WaitForChild("Packages"):WaitForChild("Knit"):WaitForChild("Services"):WaitForChild("UpgradeService"):WaitForChild("RE"):WaitForChild("Upgrade") local landsFolder = workspace:WaitForChild("Map"):WaitForChild("Lands") local categories = {"Large", "Medium", "XL", "Small"} for _, categoryName in ipairs(categories) do local categoryFolder = landsFolder:FindFirstChild(categoryName) if categoryFolder then for _, land in pairs(categoryFolder:GetChildren()) do local landName = land.Name local args = {landName} upgradeEvent:FireServer(unpack(args)) task.wait(0.05) end end end end autoCollectBtn.MouseButton1Click:Connect(function() if autoCollectRunning then stopAutoCollect() autoCollectBtn.Text = "Auto Collect" else startAutoCollect() autoCollectBtn.Text = "Stop Auto Collect" end end) upgradeAllBtn.MouseButton1Click:Connect(function() upgradeAll() end)