-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") --================================================== -- CONFIG --================================================== local FARM_DISTANCE = 35 local FARM_INTERVAL = 0.4 local COIN_REWARD = 10 local REBIRTH_COST = 1000 local REBIRTH_MULTIPLIER = 2 --================================================== -- FOLDERS --================================================== local FarmObjects = workspace:WaitForChild("FarmObjects") local Worlds = workspace:WaitForChild("Worlds") local Secrets = workspace:WaitForChild("Secrets") --================================================== -- REMOTES --================================================== local Remotes = ReplicatedStorage:FindFirstChild("BrainrotRemotes") if not Remotes then Remotes = Instance.new("Folder") Remotes.Name = "BrainrotRemotes" Remotes.Parent = ReplicatedStorage end local function createRemote(name) local remote = Remotes:FindFirstChild(name) if not remote then remote = Instance.new("RemoteEvent") remote.Name = name remote.Parent = Remotes end return remote end local AutoFarmEvent = createRemote("AutoFarm") local TeleportEvent = createRemote("Teleport") local RebirthEvent = createRemote("Rebirth") local EvolveEvent = createRemote("Evolve") --================================================== -- PLAYER DATA --================================================== local Data = {} local function setupPlayer(player) Data[player] = { AutoFarm = false, Evolution = 1, Rebirths = 0, World = 1 } local leaderstats = Instance.new("Folder") leaderstats.Name = "leaderstats" leaderstats.Parent = player local coins = Instance.new("IntValue") coins.Name = "Coins" coins.Value = 0 coins.Parent = leaderstats local evolution = Instance.new("IntValue") evolution.Name = "Evolution" evolution.Value = 1 evolution.Parent = leaderstats local rebirths = Instance.new("IntValue") rebirths.Name = "Rebirths" rebirths.Value = 0 rebirths.Parent = leaderstats end Players.PlayerAdded:Connect(setupPlayer) Players.PlayerRemoving:Connect(function(player) Data[player] = nil end) --================================================== -- GET COINS --================================================== local function getCoins(player) local stats = player:FindFirstChild("leaderstats") if not stats then return nil end return stats:FindFirstChild("Coins") end --================================================== -- AUTO FARM --================================================== AutoFarmEvent.OnServerEvent:Connect(function(player, enabled) if typeof(enabled) ~= "boolean" then return end if Data[player] then Data[player].AutoFarm = enabled end end) local function collectFarmObject(player, object) if not object:IsA("BasePart") then return end if object:GetAttribute("Collected") then return end local character = player.Character if not character then return end local root = character:FindFirstChild("HumanoidRootPart") if not root then return end local distance = (root.Position - object.Position).Magnitude if distance > FARM_DISTANCE then return end local coins = getCoins(player) if not coins then return end object:SetAttribute("Collected", true) local data = Data[player] local multiplier = data.Evolution * math.max(1, data.Rebirths + 1) local reward = COIN_REWARD * multiplier coins.Value += reward local oldTransparency = object.Transparency local oldCollision = object.CanCollide object.Transparency = 1 object.CanCollide = false task.delay(3, function() if object and object.Parent then object.Transparency = oldTransparency object.CanCollide = oldCollision object:SetAttribute("Collected", false) end end) end task.spawn(function() while true do task.wait(FARM_INTERVAL) for player, data in pairs(Data) do if data.AutoFarm and player.Parent then local character = player.Character local root = character and character:FindFirstChild("HumanoidRootPart") if root then local closest local closestDistance = FARM_DISTANCE for _, object in ipairs(FarmObjects:GetChildren()) do if object:IsA("BasePart") and not object:GetAttribute("Collected") then local distance = (root.Position - object.Position).Magnitude if distance < closestDistance then closestDistance = distance closest = object end end end if closest then collectFarmObject(player, closest) end end end end end end) --================================================== -- EVOLUTION --================================================== EvolveEvent.OnServerEvent:Connect(function(player) local data = Data[player] if not data then return end local coins = getCoins(player) if not coins then return end -- Example evolution cost local cost = data.Evolution * 250 if coins.Value >= cost then coins.Value -= cost data.Evolution += 1 local evolution = player.leaderstats:FindFirstChild("Evolution") if evolution then evolution.Value = data.Evolution end end end) --================================================== -- REBIRTH --================================================== RebirthEvent.OnServerEvent:Connect(function(player) local data = Data[player] if not data then return end local coins = getCoins(player) if not coins then return end local cost = REBIRTH_COST * (data.Rebirths + 1) if coins.Value >= cost then coins.Value = 0 data.Rebirths += 1 data.Evolution = 1 player.leaderstats.Rebirths.Value = data.Rebirths player.leaderstats.Evolution.Value = data.Evolution end end) --================================================== -- WORLD / SECRET TELEPORT --================================================== TeleportEvent.OnServerEvent:Connect(function( player, category, destinationName ) if typeof(category) ~= "string" then return end if typeof(destinationName) ~= "string" then return end local destination if category == "World" then destination = Worlds:FindFirstChild(destinationName) elseif category == "Secret" then destination = Secrets:FindFirstChild(destinationName) end if not destination then return end if not destination:IsA("BasePart") then return end local character = player.Character if not character then return end local root = character:FindFirstChild("HumanoidRootPart") if root then root.CFrame = destination.CFrame + Vector3.new(0, 5, 0) end end)