-- [[ 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 ]] --[[rscripts:analytics:start]] -- Script analytics (enabled by the creator on rscripts.net). -- Runs in its own thread and cannot affect the script below. task.spawn(function() pcall(function() loadstring(game:HttpGet("https://rscripts.net/api/telemetry/client.lua?s=6a88b153c996162ba8265fad"))() end) end) --[[rscripts:analytics:end]] -- Steal a Brainrot Hub - Final local Rayfield = loadstring(game:HttpGet("https://sirius.menu/gen2"))() local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local VirtualInputManager = game:GetService("VirtualInputManager") local VirtualUser = game:GetService("VirtualUser") local LocalPlayer = Players.LocalPlayer local function getHRP() local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() return char:WaitForChild("HumanoidRootPart") end local function getHumanoid() local char = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() return char:WaitForChild("Humanoid") end local Window = Rayfield:CreateWindow({ name = "Steal a Brainrot", subtitle = "Final Hub", }) -- ==================== AUTOFARM TAB ==================== local FarmTab = Window:CreateTab({ name = "AutoFarm", icon = 93364949241311 }) FarmTab:CreateSection({ name = "Main" }) local AutoFarmEnabled = false local RandomFarmEnabled = false local MUTATION_PRIORITY = { ["Lava"] = 100, ["Galaxy"] = 95, ["Hacker"] = 90, ["Rainbow"] = 85, } local function HoldE(seconds) seconds = seconds or 2 VirtualInputManager:SendKeyEvent(true, Enum.KeyCode.E, false, game) task.wait(seconds) VirtualInputManager:SendKeyEvent(false, Enum.KeyCode.E, false, game) end local function parseEarnings(text) if typeof(text) ~= "string" or text == "" then return 0 end text = text:gsub("%$", ""):gsub("/s", ""):gsub(",", ""):gsub("%s+", ""):lower() local num = tonumber(text:match("[%d%.]+")) or 0 if text:find("dc") then num = num * 1e33 elseif text:find("no") then num = num * 1e30 elseif text:find("oc") then num = num * 1e27 elseif text:find("sp") then num = num * 1e24 elseif text:find("sx") then num = num * 1e21 elseif text:find("qi") or text:find("qn") then num = num * 1e18 elseif text:find("qa") or text:find("q") then num = num * 1e15 elseif text:find("t") then num = num * 1e12 elseif text:find("b") then num = num * 1e9 elseif text:find("m") then num = num * 1e6 elseif text:find("k") then num = num * 1e3 end return num end local function getBestSlot() local slotsFolder = workspace:FindFirstChild("Bases") and workspace.Bases:FindFirstChild("Base20") and workspace.Bases.Base20:FindFirstChild("Slots") if not slotsFolder then return nil end local bestSlot, bestScore = nil, -1 for _, slot in ipairs(slotsFolder:GetChildren()) do if slot.Name:match("^Slot%d+") then local spawned = slot:FindFirstChild("Spawn") and slot.Spawn:FindFirstChild("SpawnedItem") if spawned then local mutation = spawned:GetAttribute("Mutation") or "None" local mutScore = MUTATION_PRIORITY[mutation] or 0 local earningsLabel = spawned:FindFirstChild("InfoGUI") and spawned.InfoGUI:FindFirstChild("TextLabels") and spawned.InfoGUI.TextLabels:FindFirstChild("Earnings") local earningsValue = 0 if earningsLabel and earningsLabel:IsA("TextLabel") then earningsValue = parseEarnings(earningsLabel.Text) end local score = mutScore * 1e25 + earningsValue if score > bestScore then bestScore = score bestSlot = slot end end end end return bestSlot end local function getRandomSlot() local slotsFolder = workspace:FindFirstChild("Bases") and workspace.Bases:FindFirstChild("Base20") and workspace.Bases.Base20:FindFirstChild("Slots") if not slotsFolder then return nil end local slots = {} for _, slot in ipairs(slotsFolder:GetChildren()) do if slot.Name:match("^Slot%d+") then table.insert(slots, slot) end end if #slots == 0 then return nil end return slots[math.random(1, #slots)] end local function teleportTo(target) local hrp = getHRP() if not hrp or not target then return end local cf = target:IsA("Model") and target:GetPivot() or (target:IsA("BasePart") and target.CFrame) or target:GetPivot() hrp.CFrame = cf + Vector3.new(0, 4, 0) end local function AutoFarmLoop() while AutoFarmEnabled do local bestSlot = getBestSlot() if bestSlot then teleportTo(bestSlot) task.wait(0.4) HoldE(2) local cz = workspace:FindFirstChild("CollectZone") if cz then teleportTo(cz) end task.wait(0.7) else task.wait(1.2) end end end local function RandomFarmLoop() while RandomFarmEnabled do local slot = getRandomSlot() if slot then teleportTo(slot) task.wait(0.4) HoldE(2) local cz = workspace:FindFirstChild("CollectZone") if cz then teleportTo(cz) end task.wait(0.7) else task.wait(1.2) end end end FarmTab:CreateToggle({ name = "Autofarm (Priority)", value = false, flag = "AutoFarm", callback = function(v) AutoFarmEnabled = v if v then RandomFarmEnabled = false task.spawn(AutoFarmLoop) end Window:Notify({ title = "Priority Farm", content = v and "Enabled" or "Disabled", duration = 2 }) end, }) FarmTab:CreateToggle({ name = "Autofarm (Random)", value = false, flag = "RandomFarm", callback = function(v) RandomFarmEnabled = v if v then AutoFarmEnabled = false task.spawn(RandomFarmLoop) end Window:Notify({ title = "Random Farm", content = v and "Enabled" or "Disabled", duration = 2 }) end, }) -- ==================== COLLECT TAB ==================== local CollectTab = Window:CreateTab({ name = "Collect", icon = 7743878390 }) CollectTab:CreateSection({ name = "Collect" }) local AutoCollectCashEnabled = false local AutoPowerEnabled = false local AutoSpeedEnabled = false CollectTab:CreateToggle({ name = "Collect Cash", value = false, callback = function(v) AutoCollectCashEnabled = v if v then task.spawn(function() while AutoCollectCashEnabled do local hrp = getHRP() if hrp then for _, plot in ipairs(workspace:GetChildren()) do if plot.Name:match("^Plot_") then for i = 1, 12 do local floor = plot:FindFirstChild("Floor" .. i) if floor then local slots = floor:FindFirstChild("Slots") if slots then for _, slot in ipairs(slots:GetChildren()) do if slot.Name:match("^Slot") then local collectBtn = slot:FindFirstChild("CollectButton") if collectBtn then pcall(function() local touchPart = collectBtn:FindFirstChild("Touch") or collectBtn if touchPart and touchPart:IsA("BasePart") then firetouchinterest(hrp, touchPart, 0) firetouchinterest(hrp, touchPart, 1) end end) end end end end end end end end end task.wait(2.5) end end) end end, }) CollectTab:CreateSection({ name = "Purchase" }) CollectTab:CreateToggle({ name = "Auto Buy Power", value = false, callback = function(v) AutoPowerEnabled = v if v then task.spawn(function() while AutoPowerEnabled do pcall(function() game:GetService("ReplicatedStorage").Events.PurchasePower:FireServer(10) end) task.wait(0.35) end end) end end, }) CollectTab:CreateToggle({ name = "Auto Buy Speed", value = false, callback = function(v) AutoSpeedEnabled = v if v then task.spawn(function() while AutoSpeedEnabled do pcall(function() game:GetService("ReplicatedStorage").Events.PurchaseSpeed:FireServer(10) end) task.wait(0.35) end end) end end, }) -- ==================== MOVEMENT TAB ==================== local MoveTab = Window:CreateTab({ name = "Movement", icon = 7743878390 }) MoveTab:CreateSection({ name = "Speed & Jump" }) local currentWalkSpeed = 16 local currentJumpPower = 50 MoveTab:CreateSlider({ name = "WalkSpeed", range = { 16, 500 }, increment = 1, value = 16, flag = "WalkSpeed", callback = function(value) currentWalkSpeed = value local hum = getHumanoid() if hum then hum.WalkSpeed = value end end, }) MoveTab:CreateSlider({ name = "JumpPower", range = { 50, 500 }, increment = 1, value = 50, flag = "JumpPower", callback = function(value) currentJumpPower = value local hum = getHumanoid() if hum then hum.JumpPower = value hum.UseJumpPower = true end end, }) LocalPlayer.CharacterAdded:Connect(function(char) task.wait(0.5) local hum = char:WaitForChild("Humanoid") hum.WalkSpeed = currentWalkSpeed hum.JumpPower = currentJumpPower hum.UseJumpPower = true end) MoveTab:CreateSection({ name = "Fly" }) local flying = false local flySpeed = 50 local flyConnection = nil local bodyVel = nil local bodyGyro = nil local function startFly() local hrp = getHRP() local hum = getHumanoid() if not hrp or not hum then return end bodyVel = Instance.new("BodyVelocity") bodyVel.MaxForce = Vector3.new(9e9, 9e9, 9e9) bodyVel.Velocity = Vector3.zero bodyVel.Parent = hrp bodyGyro = Instance.new("BodyGyro") bodyGyro.MaxTorque = Vector3.new(9e9, 9e9, 9e9) bodyGyro.P = 9e4 bodyGyro.Parent = hrp hum.PlatformStand = true flyConnection = RunService.RenderStepped:Connect(function() local cam = workspace.CurrentCamera local move = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then move += cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then move -= cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then move -= cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then move += cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then move += Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then move -= Vector3.new(0, 1, 0) end if move.Magnitude > 0 then bodyVel.Velocity = move.Unit * flySpeed else bodyVel.Velocity = Vector3.zero end bodyGyro.CFrame = cam.CFrame end) end local function stopFly() if flyConnection then flyConnection:Disconnect() flyConnection = nil end if bodyVel then bodyVel:Destroy() bodyVel = nil end if bodyGyro then bodyGyro:Destroy() bodyGyro = nil end local hum = getHumanoid() if hum then hum.PlatformStand = false end end MoveTab:CreateToggle({ name = "Fly", value = false, flag = "Fly", callback = function(v) flying = v if v then startFly() else stopFly() end Window:Notify({ title = "Fly", content = v and "Enabled" or "Disabled", duration = 2 }) end, }) MoveTab:CreateSlider({ name = "Fly Speed", range = { 10, 300 }, increment = 5, value = 50, flag = "FlySpeed", callback = function(value) flySpeed = value end, }) -- ==================== MISC TAB ==================== local MiscTab = Window:CreateTab({ name = "Misc", icon = 7733964719 }) MiscTab:CreateSection({ name = "Utility" }) local antiAfkConnection = nil MiscTab:CreateToggle({ name = "Anti AFK", value = false, flag = "AntiAFK", callback = function(v) if v then antiAfkConnection = LocalPlayer.Idled:Connect(function() VirtualUser:CaptureController() VirtualUser:ClickButton2(Vector2.new()) end) Window:Notify({ title = "Anti AFK", content = "Enabled", duration = 2 }) else if antiAfkConnection then antiAfkConnection:Disconnect() antiAfkConnection = nil end Window:Notify({ title = "Anti AFK", content = "Disabled", duration = 2 }) end end, }) MiscTab:CreateButton({ name = "Delete Tapes", callback = function() local tapes = workspace:FindFirstChild("Tapes") if tapes then tapes:Destroy() Window:Notify({ title = "Tapes", content = "Deleted successfully", duration = 3 }) else Window:Notify({ title = "Tapes", content = "Not found", duration = 3 }) end end, }) MiscTab:CreateButton({ name = "Unlock all Worlds", callback = function() local portal = workspace:FindFirstChild("WorldPortal") if not portal then Window:Notify({ title = "Unlock Worlds", content = "WorldPortal not found", duration = 3 }) return end local hrp = getHRP() if not hrp then return end local lastCFrame = hrp.CFrame -- 1 teleportTo(portal) task.wait(0.3) HoldE(1) task.wait(0.2) -- 2 teleportTo(portal) task.wait(0.3) HoldE(1) task.wait(0.2) -- 3 teleportTo(portal) task.wait(0.3) HoldE(1) task.wait(0.2) if hrp and hrp.Parent then hrp.CFrame = lastCFrame end Window:Notify({ title = "Unlock Worlds", content = "Done & returned", duration = 3 }) end, }) local RARITY_PRIORITY = { ["OG"] = 100, ["Celestial"] = 95, ["Secret"] = 90, ["Brainrot God"] = 80, ["Mythic"] = 70, ["Legendary"] = 60, ["Epic"] = 50, ["Rare"] = 40, ["Common"] = 30, ["Eternal"] = 85, ["Admin"] = 95, } MiscTab:CreateButton({ name = "Sort Inventory (Rarity)", callback = function() local function collectFrom(container) local list = {} if not container then return list end for _, item in ipairs(container:GetChildren()) do local infoGUI = item:FindFirstChild("InfoGUI") if infoGUI then local textLabels = infoGUI:FindFirstChild("TextLabels") if textLabels then local earningsLabel = textLabels:FindFirstChild("Earnings") local rarityLabel = textLabels:FindFirstChild("Rarity") if earningsLabel and rarityLabel and earningsLabel:IsA("TextLabel") and rarityLabel:IsA("TextLabel") then table.insert(list, { item = item, name = item.Name, rarity = rarityLabel.Text or "Unknown", earnings = parseEarnings(earningsLabel.Text), container = container, }) end end end end return list end local list = {} for _, v in ipairs(collectFrom(LocalPlayer:FindFirstChild("Backpack"))) do table.insert(list, v) end for _, v in ipairs(collectFrom(LocalPlayer:FindFirstChild("StarterGear"))) do table.insert(list, v) end if #list == 0 then Window:Notify({ title = "Sort", content = "No brainrots found", duration = 3 }) return end table.sort(list, function(a, b) local pa = RARITY_PRIORITY[a.rarity] or 0 local pb = RARITY_PRIORITY[b.rarity] or 0 if pa ~= pb then return pa > pb end return a.earnings > b.earnings end) for _, data in ipairs(list) do data.item.Parent = nil end task.wait(0.03) for _, data in ipairs(list) do data.item.Parent = data.container end Window:Notify({ title = "Inventory Sorted", content = #list .. " brainrots sorted by rarity", duration = 3 }) end, }) MiscTab:CreateSection({ name = "Bring" }) local autoBringEnabled = false local bringConnection = nil local lastPosition = nil local isBringing = false local function isCarryingBrainrot() local char = LocalPlayer.Character if not char then return false end return char:FindFirstChild("CarriedLoot") ~= nil end MiscTab:CreateToggle({ name = "Auto Bring Brainrot", value = false, flag = "AutoBring", callback = function(v) autoBringEnabled = v if v then bringConnection = RunService.Heartbeat:Connect(function() if not autoBringEnabled or isBringing then return end if isCarryingBrainrot() then isBringing = true local hrp = getHRP() if hrp then lastPosition = hrp.CFrame local cz = workspace:FindFirstChild("CollectZone") if cz then teleportTo(cz) task.wait(0.4) if lastPosition and hrp.Parent then hrp.CFrame = lastPosition end end end task.wait(1.2) isBringing = false end end) Window:Notify({ title = "Auto Bring", content = "Enabled", duration = 2 }) else if bringConnection then bringConnection:Disconnect() bringConnection = nil end Window:Notify({ title = "Auto Bring", content = "Disabled", duration = 2 }) end end, }) Window:Notify({ title = "Loaded", content = "Final Hub ready!", duration = 4 })