local player = game:GetService("Players").LocalPlayer local workspaceMap = workspace:WaitForChild("Map", 5) local plotsFolder = workspaceMap:WaitForChild("Plots", 5) local remotes = game:GetService("ReplicatedStorage"):WaitForChild("Remotes", 5) local Settings = { AutoBuyPlots = false, AutoUpgrade = true, AutoSell = false, } local getMyPlot = function() for _, p in plotsFolder:GetChildren() do if p:FindFirstChild("OwnerSign") then local textLabel = p.OwnerSign:FindFirstChild("TextLabel", true) if textLabel and textLabel.Text == player.DisplayName then return p end end end return nil end task.defer(function() while task.wait(1) do if Settings.AutoSell and remotes:FindFirstChild("SellCrates") then remotes.SellCrates:FireServer() end end end) task.defer(function() while task.wait() do local Plot = getMyPlot() if Plot and Plot:FindFirstChild("FarmPlot") then for _, farmSubPlot in Plot.FarmPlot:GetChildren() do if farmSubPlot:FindFirstChild("Dirt") then local isUnlocked = farmSubPlot:GetAttribute("Unlocked") local plantName = farmSubPlot.Dirt:GetAttribute("PlantName") if Settings.AutoBuyPlots and isUnlocked == false and remotes:FindFirstChild("UnlockPlot") then remotes.UnlockPlot:FireServer(farmSubPlot.Dirt) break end if Settings.AutoUpgrade and remotes:FindFirstChild("UpgradePlant") then if plantName then remotes.UpgradePlant:InvokeServer(farmSubPlot.Dirt) end end end end end end end)