SOURCE OP Rob Script
Key Required

SOURCE OP Rob Script

Smack the Brainrotcyanidecyanide 2.9K views 295 executesUpdated Jan 8, 2026
5.0/ 5(3 votes)
30100% Positive
Lua Script•480 lines (19338 chars)
-- [[ SAKURA BRAINROTS ]] --

-- // SERVICES //
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local VirtualUser = game:GetService("VirtualUser")
local TeleportService = game:GetService("TeleportService")
local HttpService = game:GetService("HttpService")
local CoreGui = game:GetService("CoreGui")

local LocalPlayer = Players.LocalPlayer
local BrainrotsFolder = Workspace:WaitForChild("Brainrots")
local Network = ReplicatedStorage:WaitForChild("Network")
local ClaimStrength = Network:WaitForChild("ClaimStrength")
local ClaimIncome = Network:WaitForChild("ClaimPlacementIncome")

-- // CONFIGURATION & SAVING //
local ConfigName = "SakuraBrainrot_Config.json"
local DefaultConfig = {
    Collector = {
        Enabled = false,
        Delay = 0.5,
        SafeZone = true,
        Rarities = {
            ["Common"] = false, ["Uncommon"] = false, ["Rare"] = false,
            ["Epic"] = true, ["Legendary"] = true, ["Mythic"] = true,
            ["Secret"] = true, ["Divine"] = true
        }
    },
    AutoClaim = { Enabled = false },
    QoL = { WalkSpeed = 16, SpeedEnabled = false, LowGFX = false }
}

getgenv().SakuraConfig = DefaultConfig

-- Load Config
if isfile and isfile(ConfigName) then
    pcall(function()
        local Saved = HttpService:JSONDecode(readfile(ConfigName))
        -- Merge saved with default to prevent errors if keys are missing
        for k, v in pairs(Saved) do getgenv().SakuraConfig[k] = v end
    end)
end

local function SaveConfig()
    if writefile then
        writefile(ConfigName, HttpService:JSONEncode(getgenv().SakuraConfig))
    end
end

-- // DATABASE //
local BrainrotDB = {
    ["Dolphanita Bananita"] = "Common", ["Brr Brr Patapim"] = "Common",
    ["Boneca Ambalabu"] = "Common", ["Burbarloni Loliloli"] = "Common",
    ["Chimpazini Bananini"] = "Common", ["Cappuccino Assassino"] = "Uncommon",
    ["Ballerina Cappuccina"] = "Uncommon", ["Lirili Larila"] = "Uncommon",
    ["Fluriflura"] = "Uncommon", ["Orangutini Ananassini"] = "Rare",
    ["Ta Ta Ta Ta Sahur"] = "Rare", ["Madu dung"] = "Rare",
    ["Talpa Di Fero"] = "Rare", ["Odin Din Din Dun"] = "Epic",
    ["Bombardiro Crocodilo"] = "Epic", ["Trippi Troppi"] = "Epic",
    ["Trulimero Trulicina"] = "Epic", ["Frigo Camelo"] = "Legendary",
    ["Bombicus"] = "Legendary", ["Svinina Bombardino"] = "Legendary",
    ["Garama"] = "Legendary", ["Gangster Footera"] = "Mythic",
    ["La Vacca Saturno Saturnita"] = "Mythic", ["Tortuguinni Dragonfruitini"] = "Mythic",
    ["Cocofanto Elefanto"] = "Secret", ["Los Tralaleritos"] = "Secret",
    ["Los Matteos"] = "Secret", ["Karkerkar Kurkur"] = "Secret",
    ["La Grande Combinasion"] = "Secret", ["Job Job Job Sahur"] = "Secret",
    ["Graipuss Medussi"] = "Secret", ["Pot Hotspot"] = "Secret",
    ["Tacorita Bicicleta"] = "Secret", ["Fishino Clownino"] = "Secret",
    ["Tung Tung Tung Sahur"] = "Secret", ["Rhino Toasterino"] = "Secret",
    ["Chef Crabracadabra"] = "Secret", ["W or L"] = "Secret",
    ["67"] = "Secret", ["Strawberrelli Flamingelli"] = "Secret",
    ["Bombini Gusini"] = "Secret", ["Ice Bombini Gusini"] = "Divine",
    ["Orcalero Orcala"] = "Divine", ["Cavallo Virtuoso"] = "Divine",
    ["Ice Cavallo Virtuoso"] = "Divine", ["Zibra Zubra Zibralini"] = "Divine",
    ["Agarrini La Pallini"] = "Divine", ["Balerino Lololo"] = "Divine",
    ["Strawberry Elephant"] = "Divine", ["Tigroligre Frutonni"] = "Divine",
    ["Tralalita Tralala"] = "Divine", ["Pakrahmatmamat"] = "Divine",
    ["Ice Pakrahmatmamat"] = "Divine", ["Chicleteira Bicicleteira"] = "Divine",
    ["Esok Sekolah"] = "Divine", ["Ice Esok Sekolah"] = "Divine",
    ["Dragon Cannelloni"] = "Divine", ["Ice Dragon Cannelloni"] = "Divine"
}

-- // SERVER HOP LOGIC //
local function ServerHop()
    SaveConfig() -- Save before hopping
    local PlaceId = game.PlaceId
    local Servers = HttpService:JSONDecode(game:HttpGet("https://games.roblox.com/v1/games/"..PlaceId.."/servers/Public?sortOrder=Asc&limit=100"))
    for _, Server in pairs(Servers.data) do
        if Server.playing ~= Server.maxPlayers and Server.id ~= game.JobId then
            TeleportService:TeleportToPlaceInstance(PlaceId, Server.id, LocalPlayer)
            break
        end
    end
end

-- // GAME LOGIC //
local SafeZone
pcall(function() SafeZone = Workspace.Map.Important.CollectArea end)

local function Teleport(CFrameTarget)
    if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then
        LocalPlayer.Character.HumanoidRootPart.CFrame = CFrameTarget
    end
end

local function ProcessBrainrot(Model)
    local Rarity = BrainrotDB[Model.Name] or "Unknown"
    if not getgenv().SakuraConfig.Collector.Rarities[Rarity] then return end

    local Prompt = Model:FindFirstChildWhichIsA("ProximityPrompt", true)
    if Prompt then
        if Prompt.Parent then
            Teleport(Prompt.Parent.CFrame + Vector3.new(0, 2, 0))
            task.wait(0.2)
        end
        fireproximityprompt(Prompt)
        task.wait(getgenv().SakuraConfig.Collector.Delay)
        if getgenv().SakuraConfig.Collector.SafeZone and SafeZone then
            Teleport(SafeZone.CFrame + Vector3.new(0, 5, 0))
        end
    end
end

-- Loops
task.spawn(function()
    while true do
        if getgenv().SakuraConfig.Collector.Enabled then
            for _, Item in pairs(BrainrotsFolder:GetChildren()) do
                if not getgenv().SakuraConfig.Collector.Enabled then break end
                ProcessBrainrot(Item)
            end
        end
        task.wait(1)
    end
end)

task.spawn(function()
    while true do
        if getgenv().SakuraConfig.AutoClaim.Enabled then
            ClaimStrength:FireServer()
            task.wait(0.1)
            for i = 1, 10 do
                if not getgenv().SakuraConfig.AutoClaim.Enabled then break end
                ClaimIncome:FireServer(i)
                task.wait(0.1)
            end
        else
            task.wait(1)
        end
    end
end)

-- Anti-AFK
LocalPlayer.Idled:Connect(function()
    VirtualUser:CaptureController()
    VirtualUser:ClickButton2(Vector2.new())
end)

-- Speed Bypass
RunService.RenderStepped:Connect(function()
    if getgenv().SakuraConfig.QoL.SpeedEnabled and LocalPlayer.Character then
        local Hum = LocalPlayer.Character:FindFirstChild("Humanoid")
        if Hum then Hum.WalkSpeed = getgenv().SakuraConfig.QoL.WalkSpeed end
    end
end)

-- // UI CONSTRUCTION //
if CoreGui:FindFirstChild("SakuraUI") then CoreGui.SakuraUI:Destroy() end
local ScreenGui = Instance.new("ScreenGui", CoreGui)
ScreenGui.Name = "SakuraUI"

-- Mobile Scaling
local IsMobile = UserInputService.TouchEnabled
local ScaleFactor = IsMobile and 0.8 or 1.0 
local UIWidth = 300 * ScaleFactor
local UIHeight = 450 * ScaleFactor

local Main = Instance.new("Frame", ScreenGui)
Main.Size = UDim2.new(0, UIWidth, 0, UIHeight)
Main.Position = UDim2.new(0.5, -UIWidth/2, 0.4, -UIHeight/2)
Main.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
Main.BorderSizePixel = 0
Instance.new("UICorner", Main).CornerRadius = UDim.new(0, 10)

local Stroke = Instance.new("UIStroke", Main)
Stroke.Thickness = 2
Stroke.Color = Color3.fromRGB(255, 105, 180)
Stroke.Transparency = 0.5

-- Dragging (Mobile & PC Support)
local Dragging, DragInput, DragStart, StartPos
local function UpdateDrag(input)
    local Delta = input.Position - DragStart
    Main.Position = UDim2.new(StartPos.X.Scale, StartPos.X.Offset + Delta.X, StartPos.Y.Scale, StartPos.Y.Offset + Delta.Y)
end
Main.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
        Dragging = true; DragStart = input.Position; StartPos = Main.Position
    end
end)
Main.InputEnded:Connect(function(input) 
    if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then 
        Dragging = false 
    end 
end)
UserInputService.InputChanged:Connect(function(input)
    if Dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
        UpdateDrag(input)
    end
end)

-- Header
local Header = Instance.new("Frame", Main)
Header.Size = UDim2.new(1, 0, 0, 40)
Header.BackgroundColor3 = Color3.fromRGB(25, 25, 30)
Instance.new("UICorner", Header).CornerRadius = UDim.new(0, 10)

local Title = Instance.new("TextLabel", Header)
Title.Size = UDim2.new(1, -40, 1, 0)
Title.Position = UDim2.new(0, 15, 0, 0)
Title.Text = "SAKURA HUB"
Title.Font = Enum.Font.GothamBold
Title.TextColor3 = Color3.fromRGB(255, 182, 193)
Title.TextSize = 16 * ScaleFactor
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.BackgroundTransparency = 1

local CloseBtn = Instance.new("TextButton", Header)
CloseBtn.Size = UDim2.new(0, 40, 1, 0)
CloseBtn.Position = UDim2.new(1, -40, 0, 0)
CloseBtn.Text = "-"
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.TextColor3 = Color3.fromRGB(150, 150, 150)
CloseBtn.BackgroundTransparency = 1
CloseBtn.TextSize = 20

local Scroll = Instance.new("ScrollingFrame", Main)
Scroll.Size = UDim2.new(1, -10, 1, -50)
Scroll.Position = UDim2.new(0, 5, 0, 45)
Scroll.BackgroundTransparency = 1
Scroll.ScrollBarThickness = 2
Scroll.ScrollBarImageColor3 = Color3.fromRGB(255, 105, 180)
local UIList = Instance.new("UIListLayout", Scroll)
UIList.SortOrder = Enum.SortOrder.LayoutOrder
UIList.Padding = UDim.new(0, 5)

-- Helpers
local function CreateSection(text)
    local Label = Instance.new("TextLabel", Scroll)
    Label.Size = UDim2.new(1, 0, 0, 20)
    Label.Text = "  " .. text
    Label.Font = Enum.Font.GothamBold
    Label.TextColor3 = Color3.fromRGB(100, 100, 110)
    Label.TextSize = 11 * ScaleFactor
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.BackgroundTransparency = 1
end

local function CreateToggle(text, configTable, key, callback)
    local Frame = Instance.new("Frame", Scroll)
    Frame.Size = UDim2.new(0.95, 0, 0, 38)
    Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
    Instance.new("UICorner", Frame).CornerRadius = UDim.new(0, 6)
    
    local Label = Instance.new("TextLabel", Frame)
    Label.Size = UDim2.new(0.7, 0, 1, 0)
    Label.Position = UDim2.new(0.05, 0, 0, 0)
    Label.Text = text
    Label.Font = Enum.Font.GothamSemibold
    Label.TextColor3 = Color3.fromRGB(240, 240, 240)
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.TextSize = 13 * ScaleFactor
    Label.BackgroundTransparency = 1
    
    local Button = Instance.new("TextButton", Frame)
    Button.Size = UDim2.new(0, 40, 0, 22)
    Button.Position = UDim2.new(1, -50, 0.5, -11)
    Button.BackgroundColor3 = configTable[key] and Color3.fromRGB(255, 105, 180) or Color3.fromRGB(50, 50, 50)
    Button.Text = ""
    Instance.new("UICorner", Button).CornerRadius = UDim.new(1, 0)
    
    local Circle = Instance.new("Frame", Button)
    Circle.Size = UDim2.new(0, 18, 0, 18)
    Circle.Position = configTable[key] and UDim2.new(1, -20, 0.5, -9) or UDim2.new(0, 2, 0.5, -9)
    Circle.BackgroundColor3 = Color3.new(1,1,1)
    Instance.new("UICorner", Circle).CornerRadius = UDim.new(1, 0)
    
    Button.MouseButton1Click:Connect(function()
        configTable[key] = not configTable[key]
        SaveConfig() -- Auto Save
        if callback then callback(configTable[key]) end
        
        local State = configTable[key]
        local GoalColor = State and Color3.fromRGB(255, 105, 180) or Color3.fromRGB(50, 50, 50)
        local GoalPos = State and UDim2.new(1, -20, 0.5, -9) or UDim2.new(0, 2, 0.5, -9)
        TweenService:Create(Button, TweenInfo.new(0.2), {BackgroundColor3 = GoalColor}):Play()
        TweenService:Create(Circle, TweenInfo.new(0.2), {Position = GoalPos}):Play()
    end)
end

local function CreateSlider(text, min, max, configTable, key)
    local Frame = Instance.new("Frame", Scroll)
    Frame.Size = UDim2.new(0.95, 0, 0, 50)
    Frame.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
    Instance.new("UICorner", Frame).CornerRadius = UDim.new(0, 6)
    
    local Label = Instance.new("TextLabel", Frame)
    Label.Size = UDim2.new(1, 0, 0, 20)
    Label.Position = UDim2.new(0.05, 0, 0, 5)
    Label.Text = text
    Label.Font = Enum.Font.GothamSemibold
    Label.TextColor3 = Color3.fromRGB(200, 200, 200)
    Label.TextXAlignment = Enum.TextXAlignment.Left
    Label.TextSize = 13 * ScaleFactor
    Label.BackgroundTransparency = 1
    
    local ValLabel = Instance.new("TextLabel", Frame)
    ValLabel.Size = UDim2.new(0, 50, 0, 20)
    ValLabel.Position = UDim2.new(1, -60, 0, 5)
    ValLabel.Text = tostring(configTable[key])
    ValLabel.Font = Enum.Font.Code
    ValLabel.TextColor3 = Color3.fromRGB(255, 105, 180)
    ValLabel.BackgroundTransparency = 1
    
    local Bar = Instance.new("TextButton", Frame)
    Bar.Size = UDim2.new(0.9, 0, 0, 6)
    Bar.Position = UDim2.new(0.05, 0, 0.7, 0)
    Bar.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
    Bar.Text = ""
    Bar.AutoButtonColor = false
    Instance.new("UICorner", Bar).CornerRadius = UDim.new(1, 0)
    
    local Fill = Instance.new("Frame", Bar)
    Fill.Size = UDim2.new((configTable[key] - min)/(max - min), 0, 1, 0)
    Fill.BackgroundColor3 = Color3.fromRGB(255, 105, 180)
    Instance.new("UICorner", Fill).CornerRadius = UDim.new(1, 0)
    
    local function Update(input)
        local X = math.clamp((input.Position.X - Bar.AbsolutePosition.X) / Bar.AbsoluteSize.X, 0, 1)
        local NewVal = math.floor(min + ((max - min) * X))
        configTable[key] = NewVal
        ValLabel.Text = tostring(NewVal)
        Fill.Size = UDim2.new(X, 0, 1, 0)
    end
    
    local Sliding = false
    Bar.MouseButton1Down:Connect(function() Sliding = true end)
    UserInputService.InputEnded:Connect(function(input) 
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then 
            if Sliding then SaveConfig() end
            Sliding = false 
        end 
    end)
    UserInputService.InputChanged:Connect(function(input) 
        if Sliding and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then 
            Update(input) 
        end 
    end)
end

local function CreateDropdown(title)
    local Container = Instance.new("Frame", Scroll)
    Container.Size = UDim2.new(0.95, 0, 0, 35)
    Container.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
    Container.ClipsDescendants = true
    Instance.new("UICorner", Container).CornerRadius = UDim.new(0, 6)
    
    local HeaderBtn = Instance.new("TextButton", Container)
    HeaderBtn.Size = UDim2.new(1, 0, 0, 35)
    HeaderBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 45)
    HeaderBtn.Text = title .. " ▼"
    HeaderBtn.Font = Enum.Font.GothamBold
    HeaderBtn.TextColor3 = Color3.fromRGB(200, 200, 200)
    HeaderBtn.TextSize = 13 * ScaleFactor
    Instance.new("UICorner", HeaderBtn).CornerRadius = UDim.new(0, 6)
    
    local Content = Instance.new("Frame", Container)
    Content.Size = UDim2.new(1, 0, 0, 200)
    Content.Position = UDim2.new(0, 0, 0, 35)
    Content.BackgroundTransparency = 1
    
    local List = Instance.new("UIListLayout", Content)
    List.SortOrder = Enum.SortOrder.LayoutOrder
    List.Padding = UDim.new(0, 2)
    
    local Rarities = {"Common", "Uncommon", "Rare", "Epic", "Legendary", "Mythic", "Secret", "Divine"}
    local Colors = {
        Common = Color3.fromRGB(150, 150, 150), Uncommon = Color3.fromRGB(50, 200, 50),
        Rare = Color3.fromRGB(50, 150, 255), Epic = Color3.fromRGB(150, 50, 255),
        Legendary = Color3.fromRGB(255, 150, 50), Mythic = Color3.fromRGB(255, 50, 50),
        Secret = Color3.fromRGB(255, 50, 150), Divine = Color3.fromRGB(0, 255, 255)
    }
    
    for _, r in pairs(Rarities) do
        local Row = Instance.new("Frame", Content)
        Row.Size = UDim2.new(1, 0, 0, 25)
        Row.BackgroundTransparency = 1
        
        local RLabel = Instance.new("TextLabel", Row)
        RLabel.Size = UDim2.new(0.6, 0, 1, 0)
        RLabel.Position = UDim2.new(0.1, 0, 0, 0)
        RLabel.Text = r
        RLabel.Font = Enum.Font.GothamSemibold
        RLabel.TextColor3 = Colors[r]
        RLabel.TextXAlignment = Enum.TextXAlignment.Left
        RLabel.BackgroundTransparency = 1
        
        local Check = Instance.new("TextButton", Row)
        Check.Size = UDim2.new(0, 20, 0, 20)
        Check.Position = UDim2.new(0.8, 0, 0.1, 0)
        Check.BackgroundColor3 = getgenv().SakuraConfig.Collector.Rarities[r] and Color3.fromRGB(255, 105, 180) or Color3.fromRGB(50, 50, 50)
        Check.Text = ""
        Instance.new("UICorner", Check).CornerRadius = UDim.new(0, 4)
        
        Check.MouseButton1Click:Connect(function()
            local New = not getgenv().SakuraConfig.Collector.Rarities[r]
            getgenv().SakuraConfig.Collector.Rarities[r] = New
            SaveConfig()
            Check.BackgroundColor3 = New and Color3.fromRGB(255, 105, 180) or Color3.fromRGB(50, 50, 50)
        end)
    end
    
    local Open = false
    HeaderBtn.MouseButton1Click:Connect(function()
        Open = not Open
        HeaderBtn.Text = Open and title .. " ▲" or title .. " ▼"
        TweenService:Create(Container, TweenInfo.new(0.3), {
            Size = Open and UDim2.new(0.95, 0, 0, 240) or UDim2.new(0.95, 0, 0, 35)
        }):Play()
    end)
end

-- // BUILD UI CONTENT //
CreateSection("FARMING")
CreateToggle("Auto Collect", getgenv().SakuraConfig.Collector, "Enabled")
CreateToggle("Auto Claim Income", getgenv().SakuraConfig.AutoClaim, "Enabled")
CreateDropdown("Select Rarities")

CreateSection("SETTINGS")
CreateToggle("Return to Safe Zone", getgenv().SakuraConfig.Collector, "SafeZone")
CreateToggle("Enable WalkSpeed", getgenv().SakuraConfig.QoL, "SpeedEnabled")
CreateSlider("WalkSpeed Amount", 16, 200, getgenv().SakuraConfig.QoL, "WalkSpeed")
CreateToggle("Low GFX (Boost FPS)", getgenv().SakuraConfig.QoL, "LowGFX", function(val)
    if val then
        for _, v in pairs(Workspace:GetDescendants()) do
            if v:IsA("BasePart") then v.Material = Enum.Material.SmoothPlastic end
            if v:IsA("Texture") or v:IsA("Decal") then v:Destroy() end
        end
    end
end)

-- Server Hop Button
local HopBtn = Instance.new("TextButton", Scroll)
HopBtn.Size = UDim2.new(0.95, 0, 0, 40)
HopBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 150)
HopBtn.Text = "SERVER HOP"
HopBtn.Font = Enum.Font.GothamBold
HopBtn.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", HopBtn).CornerRadius = UDim.new(0, 6)
HopBtn.MouseButton1Click:Connect(ServerHop)

-- Minimize
local Minimized = false
CloseBtn.MouseButton1Click:Connect(function()
    Minimized = not Minimized
    if Minimized then
        TweenService:Create(Main, TweenInfo.new(0.3), {Size = UDim2.new(0, UIWidth, 0, 40)}):Play()
        Scroll.Visible = false
        CloseBtn.Text = "+"
    else
        TweenService:Create(Main, TweenInfo.new(0.3), {Size = UDim2.new(0, UIWidth, 0, UIHeight)}):Play()
        Scroll.Visible = true
        CloseBtn.Text = "-"
    end
end)

Features & Information

Cheers to gemini for making the script :D Features: - Auto claim income - Auto pick up brainrot (w/ filter) - Walkspeed - Serverhop
#Keyless#Brainrot#Source

Community Comments (0)

No comments yet for this script.

More Scripts for Smack the Brainrot