--// SETTINGS local BASE_POS = CFrame.new(-50, 17, -142) --// RARITIES local RARITIES = { DIVINE = { "AgarriniLaPallini","Ben","HappyBananaMeme","Illuminati", "NyanCat","Pepe","SkibidiToilet","Trollface" }, OG = { "Meowl","Avocadini Antilopini","Salamino Pinguino","Cachorrito Melonito", "Noo My Examine","Yes My Examine","Graipussi Medussi", "Ketchuru And Musturu","Ketupat Kepat" }, ADMIN = { "Noobini Pizzanini","Sigma Boy","Quesadilla Crocodila","Alessio", "Nuclearo Dinosauro","Tik Tak Sahur" } } --// LUCKY BLOCK NAMES local LUCKY = { DIVINE = "DivineLuckyBlock", OG = "OGLuckyBlock", ADMIN = "AdminLuckyBlock" } --// SERVICES local player = game.Players.LocalPlayer local UIS = game:GetService("UserInputService") local RS = game:GetService("ReplicatedStorage") --// STATE local selectedRarity = nil local farming = false local autoCash = false local delayTime = 1 local seen = {} --// CHECK local function isBrainrot(name) for _,v in ipairs(RARITIES[selectedRarity] or {}) do if v == name then return true end end return false end --// CLEAN local function cleanupSeen() for m,_ in pairs(seen) do if not m or not m.Parent then seen[m] = nil end end end --// GET TARGET local function getBestTarget() local best = nil local brainrots = workspace:FindFirstChild("Game") and workspace.Game:FindFirstChild("Brainrots") if brainrots then for _,model in ipairs(brainrots:GetChildren()) do if selectedRarity and isBrainrot(model.Name) then local part = model:FindFirstChildWhichIsA("BasePart") local prompt = model:FindFirstChildWhichIsA("ProximityPrompt", true) if part and prompt then if not seen[model] then return model end best = model end end end end local luckyFolder = workspace:FindFirstChild("Game") and workspace.Game:FindFirstChild("LuckyBlocks") if luckyFolder and selectedRarity then local luckyName = LUCKY[selectedRarity] for _,model in ipairs(luckyFolder:GetChildren()) do if model.Name == luckyName then local part = model:FindFirstChildWhichIsA("BasePart") local prompt = model:FindFirstChildWhichIsA("ProximityPrompt", true) if part and prompt then if not seen[model] then return model end best = model end end end end return best end --// FARM local function farm() while farming do cleanupSeen() local target = getBestTarget() if target then local part = target:FindFirstChildWhichIsA("BasePart") local prompt = target:FindFirstChildWhichIsA("ProximityPrompt", true) if part and prompt then player.Character.HumanoidRootPart.CFrame = part.CFrame + Vector3.new(0,3,0) task.wait(0.2) fireproximityprompt(prompt) seen[target] = true task.wait(0.2) player.Character.HumanoidRootPart.CFrame = BASE_POS task.wait(delayTime) end else task.wait(0.2) end end end --// AUTO CASH local function autoCollectCash() while autoCash do for i = 1, 100 do RS:WaitForChild("Events"):WaitForChild("PlotHandler"):FireServer("Collect", i) end task.wait(0.5) -- adjust speed if needed end end --// GUI local gui = Instance.new("ScreenGui", game.CoreGui) gui.Name = "BrainrotFarm" local frame = Instance.new("Frame", gui) frame.Size = UDim2.new(0,200,0,270) frame.Position = UDim2.new(0,100,0,100) frame.BackgroundColor3 = Color3.fromRGB(25,25,25) frame.Active = true frame.Draggable = true local title = Instance.new("TextLabel", frame) title.Size = UDim2.new(1,0,0,30) title.Text = "Hybrid Farm" title.BackgroundTransparency = 1 title.TextColor3 = Color3.new(1,1,1) local function createButton(name, y, callback) local btn = Instance.new("TextButton", frame) btn.Size = UDim2.new(1,-20,0,35) btn.Position = UDim2.new(0,10,0,y) btn.Text = name btn.BackgroundColor3 = Color3.fromRGB(40,40,40) btn.TextColor3 = Color3.new(1,1,1) btn.MouseButton1Click:Connect(function() callback(btn) end) end -- rarity buttons createButton("DIVINE", 40, function(btn) selectedRarity = "DIVINE" farming = not farming btn.Text = farming and "DIVINE (ON)" or "DIVINE" if farming then task.spawn(farm) end end) createButton("OG", 80, function(btn) selectedRarity = "OG" farming = not farming btn.Text = farming and "OG (ON)" or "OG" if farming then task.spawn(farm) end end) createButton("ADMIN", 120, function(btn) selectedRarity = "ADMIN" farming = not farming btn.Text = farming and "ADMIN (ON)" or "ADMIN" if farming then task.spawn(farm) end end) -- auto cash button createButton("AUTO CASH", 160, function(btn) autoCash = not autoCash btn.Text = autoCash and "AUTO CASH (ON)" or "AUTO CASH" if autoCash then task.spawn(autoCollectCash) end end) --// SLIDER local sliderLabel = Instance.new("TextLabel", frame) sliderLabel.Position = UDim2.new(0,10,0,205) sliderLabel.Size = UDim2.new(1,-20,0,20) sliderLabel.Text = "Delay: 1.0s" sliderLabel.TextColor3 = Color3.new(1,1,1) sliderLabel.BackgroundTransparency = 1 local slider = Instance.new("TextButton", frame) slider.Size = UDim2.new(1,-20,0,20) slider.Position = UDim2.new(0,10,0,230) slider.BackgroundColor3 = Color3.fromRGB(60,60,60) slider.Text = "" local fill = Instance.new("Frame", slider) fill.Size = UDim2.new(0.2,0,1,0) fill.BackgroundColor3 = Color3.fromRGB(0,170,255) local dragging = false slider.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true end end) slider.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) UIS.InputChanged:Connect(function(i) if dragging and i.UserInputType == Enum.UserInputType.MouseMovement then local x = math.clamp((i.Position.X - slider.AbsolutePosition.X)/slider.AbsoluteSize.X,0,1) fill.Size = UDim2.new(x,0,1,0) delayTime = math.floor((0.2 + (x * 3)) * 10) / 10 sliderLabel.Text = "Delay: "..delayTime.."s" end end)