
Key RequiredUniversal

--[[
WARNING: Heads don't copy at your own risk
REBRANDED & UPGRADED TO: RUBO PANEL
]]
local Players = game:GetService("Players")
local TextChatService = game:GetService("TextChatService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local player = Players.LocalPlayer
--------------------------------------------------
-- SETTINGS
--------------------------------------------------
local saying = false
local targetName = "TMX"
local delayTime = 1
local pattern = "_"
local allowedPlayer = nil
-- Loop controller for movement commands
if _G.RuboMovementLoop then _G.RuboMovementLoop:Disconnect() end
--------------------------------------------------
-- RO MESSAGE LIST (TMX ROASTS)
--------------------------------------------------
local roMessages = {
"TMX MEH FIRE π₯","FYTER BNEGA?π€£","BCHE RUBO ON TOPπ","TMX MEH Rocket π",
"TMX MEH electricity β‘","TMX meh SURF π","Leave marde π€£","mera beta ON TOP BOL π₯",
"TMX MEH BOOK π","Pil gya itni jaldi π€£","Itna lallu fyterπ€§","Cvr bye Ruboπ",
"Tmx meh petroleum","Dffn?π","Bhag ja bacheπΉ","Tmx meh dino π",
"TMX MEH MAJDOOR","TMX MEH SCRIPT","TMX MEH TREEπ΄","TMX MEH CLIP",
"Tmx Alluπ₯","TMX MEH GOAT","TMX MEH BLAZE","TMX MEH SALT",
"TMX MEH ROD","TMX MEH UNIVERSE","TMX MEH SOFA",
"TMX MEH KEYBOARD","TMX MEH SNIPER","this script ON TOPπ",
"TMX MEH MONITOR","TMX MEH TABLE","TMX MEH GALAXLY",
"TMX MEH MUSHROOM","TMX MEH STONE","TMX MEH BOT",
"TMX MEH TAB","TMX MEH CYLINDER","TMX MEH KING",
"TMX MEH VOID","TMX MEH REAPER","TMX MEH GOD",
"TMX MEH MASTER","TMX MEH NOVA","TMX MEH BEAST",
"TMX MEH LEGEND","TMX MEH GHOST","TMX MEH NINJA",
"TMX MEH STAR","TMX MEH MOON","TMX MEH NEON",
"TMX MEH OMEGA","TMX MEH STICK","TMX MEH PAPER",
"TMX MEH STYLE","TMX MEH ALPHA","TMX MEH FISH"
}
--------------------------------------------------
-- GENERATE LINE
--------------------------------------------------
local function generateLine()
local result = ""
while #result < 150 do
result = result .. pattern
end
return string.sub(result, 1, 150)
end
--------------------------------------------------
-- SPAM SYSTEM
--------------------------------------------------
local function startROSpam()
if saying then return end
saying = true
task.spawn(function()
while saying do
local msgText = roMessages[math.random(1, #roMessages)]
local msg = generateLine().."\n"..targetName.."\n"..msgText
TextChatService.TextChannels.RBXGeneral:SendAsync(msg)
task.wait(delayTime)
end
end)
end
local function stopAll()
saying = false
if _G.RuboMovementLoop then
_G.RuboMovementLoop:Disconnect()
_G.RuboMovementLoop = nil
end
end
--------------------------------------------------
-- COMMAND SYSTEM
--------------------------------------------------
local function handleCommand(speaker, message)
if allowedPlayer and speaker.Name ~= allowedPlayer then return end
local args = message:split(" ")
local cmd = args[1]:lower()
local commander = Players:FindFirstChild(speaker.Name)
local commanderChar = commander and commander.Character
local myChar = player.Character
if cmd == "!ro" then
if args[2] then targetName = args[2] end
startROSpam()
end
if cmd == "!say" then
if #args > 1 then
local text = message:sub(6)
TextChatService.TextChannels.RBXGeneral:SendAsync(text)
end
end
if cmd == "!bot" then
local msg = generateLine().."\nH1 RUBO RULER π"
TextChatService.TextChannels.RBXGeneral:SendAsync(msg)
end
if cmd == "!stop" then
stopAll()
end
if cmd == "!delay" then
local n = tonumber(args[2])
if n then delayTime = n end
end
if cmd == "!pattern" then
if args[2] then pattern = args[2] end
end
-- NEW COMMAND: !assemble
if cmd == "!assemble" then
if commanderChar and commanderChar:FindFirstChild("HumanoidRootPart") and myChar and myChar:FindFirstChild("HumanoidRootPart") then
stopAll() -- Stop other loops
-- Get the index of this bot to calculate equal gapping
local bots = {}
for _, p in pairs(Players:GetPlayers()) do table.insert(bots, p.Name) end
table.sort(bots)
local myIndex = 1
for i, v in ipairs(bots) do
if v == player.Name then myIndex = i break end
end
-- Position linearly behind commander (Z is back, X is left/right)
local gap = 4
local startX = -((#bots * gap) / 2)
local offsetX = startX + (myIndex * gap)
myChar.HumanoidRootPart.CFrame = commanderChar.HumanoidRootPart.CFrame * CFrame.new(offsetX, 0, 5)
end
end
-- NEW COMMAND: !Ravan
if cmd == "!ravan" then
if commanderChar and commanderChar:FindFirstChild("Head") and myChar and myChar:FindFirstChild("HumanoidRootPart") then
stopAll()
local bots = {}
for _, p in pairs(Players:GetPlayers()) do table.insert(bots, p.Name) end
table.sort(bots)
local myIndex = 1
for i, v in ipairs(bots) do if v == player.Name then myIndex = i break end end
_G.RuboMovementLoop = RunService.RenderStepped:Connect(function()
if commanderChar and commanderChar:FindFirstChild("Head") and myChar and myChar:FindFirstChild("HumanoidRootPart") then
local angle = (myIndex * (math.pi * 2 / #bots)) + (tick() * 3) -- Orbit speed
local x = math.cos(angle) * 3
local z = math.sin(angle) * 3
myChar.HumanoidRootPart.CFrame = commanderChar.Head.CFrame * CFrame.new(x, 0, z)
else
stopAll()
end
end)
end
end
-- NEW COMMAND: !rubo
if cmd == "!rubo" then
if commanderChar and commanderChar:FindFirstChild("HumanoidRootPart") and myChar and myChar:FindFirstChild("HumanoidRootPart") then
stopAll()
_G.RuboMovementLoop = RunService.RenderStepped:Connect(function()
if commanderChar and commanderChar:FindFirstChild("HumanoidRootPart") and myChar and myChar:FindFirstChild("HumanoidRootPart") then
-- Random teleport glitch around the commander
if math.random(1, 5) > 3 then
local rx = math.random(-25, 25)
local ry = math.random(-5, 20)
local rz = math.random(-25, 25)
myChar.HumanoidRootPart.CFrame = commanderChar.HumanoidRootPart.CFrame * CFrame.new(rx, ry, rz)
end
else
stopAll()
end
end)
end
end
-- NEW COMMAND: !Ruboking
if cmd == "!ruboking" then
player:Kick("ban by Rubo")
end
end
--------------------------------------------------
-- CHAT LISTENER
--------------------------------------------------
for _, plr in pairs(Players:GetPlayers()) do
plr.Chatted:Connect(function(msg)
handleCommand(plr, msg)
end)
end
Players.PlayerAdded:Connect(function(plr)
plr.Chatted:Connect(function(msg)
handleCommand(plr, msg)
end)
end)
--------------------------------------------------
-- GUI CREATION
--------------------------------------------------
local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
gui.Name = "RuboGUI"
gui.IgnoreGuiInset = true
--------------------------------------------------
-- CINEMATIC INTRO
--------------------------------------------------
local introFrame = Instance.new("Frame", gui)
introFrame.Size = UDim2.new(1, 0, 1, 0)
introFrame.BackgroundColor3 = Color3.fromRGB(5, 5, 5)
introFrame.BackgroundTransparency = 0
introFrame.ZIndex = 999
introFrame.BorderSizePixel = 0
local introText = Instance.new("TextLabel", introFrame)
introText.Size = UDim2.new(1, 0, 1, 0)
introText.BackgroundTransparency = 1
introText.Text = "R U B O"
introText.Font = Enum.Font.GothamBlack
introText.TextSize = 60
introText.TextColor3 = Color3.fromRGB(200, 30, 30)
introText.TextTransparency = 1
introText.ZIndex = 1000
local introSub = Instance.new("TextLabel", introFrame)
introSub.Size = UDim2.new(1, 0, 1, 80)
introSub.BackgroundTransparency = 1
introSub.Text = "THE RULER HAS ARRIVED"
introSub.Font = Enum.Font.Gotham
introSub.TextSize = 20
introSub.TextColor3 = Color3.fromRGB(150, 150, 150)
introSub.TextTransparency = 1
introSub.ZIndex = 1000
-- Cinematic Sound
local introSound = Instance.new("Sound", gui)
introSound.SoundId = "rbxassetid://4809574295" -- Deep bass drop/cinematic hit
introSound.Volume = 2
introSound:Play()
-- Intro Animations
local tweenInfo = TweenInfo.new(1.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
TweenService:Create(introText, tweenInfo, {TextTransparency = 0}):Play()
task.wait(1)
TweenService:Create(introSub, tweenInfo, {TextTransparency = 0}):Play()
task.wait(2.5)
local fadeOutInfo = TweenInfo.new(1, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
TweenService:Create(introText, fadeOutInfo, {TextTransparency = 1}):Play()
TweenService:Create(introSub, fadeOutInfo, {TextTransparency = 1}):Play()
TweenService:Create(introFrame, fadeOutInfo, {BackgroundTransparency = 1}):Play()
task.wait(1)
introFrame:Destroy()
--------------------------------------------------
-- FLOATING BALLS ANIMATION
--------------------------------------------------
local balls = {}
local ballColors = {
Color3.fromRGB(200, 30, 30),
Color3.fromRGB(220, 50, 50),
Color3.fromRGB(150, 20, 20),
Color3.fromRGB(255, 60, 60),
Color3.fromRGB(100, 10, 10)
}
local function createFloatingBall(parent, xPos, yPos, size, color)
local ball = Instance.new("Frame", parent)
ball.Size = UDim2.new(0, size, 0, size)
ball.Position = UDim2.new(0, xPos, 0, yPos)
ball.BackgroundColor3 = color
ball.BackgroundTransparency = 0.3
ball.BorderSizePixel = 0
local corner = Instance.new("UICorner", ball)
corner.CornerRadius = UDim.new(1, 0)
local glow = Instance.new("Frame", ball)
glow.Size = UDim2.new(1.5, 0, 1.5, 0)
glow.Position = UDim2.new(-0.25, 0, -0.25, 0)
glow.BackgroundColor3 = color
glow.BackgroundTransparency = 0.7
glow.BorderSizePixel = 0
local glowCorner = Instance.new("UICorner", glow)
glowCorner.CornerRadius = UDim.new(1, 0)
return ball
end
local function animateBalls()
for _, ball in pairs(balls) do
task.spawn(function()
local startPos = ball.Position
local amplitude = math.random(20, 50)
local speed = math.random(2, 5)
local time = 0
while ball and ball.Parent do
time = time + 0.016
local newY = startPos.Y.Offset + math.sin(time * speed) * amplitude
ball.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset, startPos.Y.Scale, newY)
RunService.Heartbeat:Wait()
end
end)
end
end
--------------------------------------------------
-- MAIN PANEL (MODERN RED/DARK THEME)
--------------------------------------------------
local frame = Instance.new("Frame", gui)
frame.Size = UDim2.new(0, 350, 0, 530)
frame.Position = UDim2.new(0, 80, 0.5, -265)
frame.BackgroundColor3 = Color3.fromRGB(30, 10, 10)
frame.BackgroundTransparency = 0.05
frame.BorderSizePixel = 0
frame.Visible = true
frame.Active = true
frame.Draggable = true
local frameCorner = Instance.new("UICorner", frame)
frameCorner.CornerRadius = UDim.new(0, 15)
local frameShadow = Instance.new("Frame", frame)
frameShadow.Size = UDim2.new(1, 15, 1, 15)
frameShadow.Position = UDim2.new(0, -7, 0, -7)
frameShadow.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
frameShadow.BackgroundTransparency = 0.25
frameShadow.BorderSizePixel = 0
frameShadow.ZIndex = -1
local frameShadowCorner = Instance.new("UICorner", frameShadow)
frameShadowCorner.CornerRadius = UDim.new(0, 18)
-- Toggle button (floating)
local toggle = Instance.new("TextButton", gui)
toggle.Size = UDim2.new(0, 55, 0, 55)
toggle.Position = UDim2.new(0, 20, 0.5, -27)
toggle.Text = "π"
toggle.TextSize = 28
toggle.BackgroundColor3 = Color3.fromRGB(150, 20, 20)
toggle.BackgroundTransparency = 0.05
toggle.BorderSizePixel = 0
toggle.Visible = true
toggle.Active = true
toggle.Draggable = true
local toggleCorner = Instance.new("UICorner", toggle)
toggleCorner.CornerRadius = UDim.new(1, 0)
local titleBar = Instance.new("Frame", frame)
titleBar.Size = UDim2.new(1, 0, 0, 60)
titleBar.Position = UDim2.new(0, 0, 0, 0)
titleBar.BackgroundColor3 = Color3.fromRGB(150, 20, 20)
titleBar.BackgroundTransparency = 0.1
titleBar.BorderSizePixel = 0
local titleBarCorner = Instance.new("UICorner", titleBar)
titleBarCorner.CornerRadius = UDim.new(0, 15)
local titleMain = Instance.new("TextLabel", titleBar)
titleMain.Size = UDim2.new(1, 0, 1, 0)
titleMain.Text = "π RUBO PANEL"
titleMain.TextColor3 = Color3.new(1, 1, 1)
titleMain.BackgroundTransparency = 1
titleMain.Font = Enum.Font.GothamBold
titleMain.TextSize = 22
local targetLabel = Instance.new("TextLabel", frame)
targetLabel.Size = UDim2.new(1, 0, 0, 35)
targetLabel.Position = UDim2.new(0, 0, 0, 70)
targetLabel.Text = "π― COMMANDS TO: NONE"
targetLabel.TextColor3 = Color3.fromRGB(255, 80, 80)
targetLabel.BackgroundTransparency = 1
targetLabel.Font = Enum.Font.GothamBold
targetLabel.TextSize = 15
local cmdSection = Instance.new("Frame", frame)
cmdSection.Size = UDim2.new(1, -20, 0, 190)
cmdSection.Position = UDim2.new(0, 10, 0, 115)
cmdSection.BackgroundColor3 = Color3.fromRGB(20, 5, 5)
cmdSection.BackgroundTransparency = 0.15
cmdSection.BorderSizePixel = 0
local cmdSectionCorner = Instance.new("UICorner", cmdSection)
cmdSectionCorner.CornerRadius = UDim.new(0, 10)
local cmdTitle = Instance.new("TextLabel", cmdSection)
cmdTitle.Size = UDim2.new(1, 0, 0, 30)
cmdTitle.Position = UDim2.new(0, 0, 0, 0)
cmdTitle.Text = "π COMMANDS"
cmdTitle.TextColor3 = Color3.fromRGB(255, 100, 100)
cmdTitle.BackgroundTransparency = 1
cmdTitle.Font = Enum.Font.GothamBold
cmdTitle.TextSize = 14
local cmdText = Instance.new("TextLabel", cmdSection)
cmdText.Size = UDim2.new(1, -20, 1, -40)
cmdText.Position = UDim2.new(0, 10, 0, 35)
cmdText.Text = "!ro <player> - Start RO spam\n!assemble - Line up bots behind you\n!Ravan - Hover bot heads on you\n!rubo - Bots TP randomly around\n!Ruboking - Kicks the bot\n!stop - Stop spam & loops\n!say <msg> - Say something"
cmdText.TextColor3 = Color3.fromRGB(220, 200, 200)
cmdText.BackgroundTransparency = 1
cmdText.Font = Enum.Font.Gotham
cmdText.TextSize = 13
cmdText.TextXAlignment = Enum.TextXAlignment.Left
cmdText.TextYAlignment = Enum.TextYAlignment.Top
local playerSection = Instance.new("Frame", frame)
playerSection.Size = UDim2.new(1, -20, 0, 200)
playerSection.Position = UDim2.new(0, 10, 0, 315)
playerSection.BackgroundColor3 = Color3.fromRGB(20, 5, 5)
playerSection.BackgroundTransparency = 0.15
playerSection.BorderSizePixel = 0
local playerSectionCorner = Instance.new("UICorner", playerSection)
playerSectionCorner.CornerRadius = UDim.new(0, 10)
local playerTitle = Instance.new("TextLabel", playerSection)
playerTitle.Size = UDim2.new(1, 0, 0, 30)
playerTitle.Position = UDim2.new(0, 0, 0, 0)
playerTitle.Text = "π₯ PLAYERS"
playerTitle.TextColor3 = Color3.fromRGB(255, 100, 100)
playerTitle.BackgroundTransparency = 1
playerTitle.Font = Enum.Font.GothamBold
playerTitle.TextSize = 14
local scroll = Instance.new("ScrollingFrame", playerSection)
scroll.Size = UDim2.new(1, -10, 1, -40)
scroll.Position = UDim2.new(0, 5, 0, 35)
scroll.BackgroundTransparency = 1
scroll.BorderSizePixel = 0
scroll.ScrollBarThickness = 6
scroll.ScrollBarImageColor3 = Color3.fromRGB(150, 20, 20)
local function loadPlayers()
scroll:ClearAllChildren()
local y = 0
for _, plr in pairs(Players:GetPlayers()) do
local btn = Instance.new("TextButton", scroll)
btn.Size = UDim2.new(1, -10, 0, 35)
btn.Position = UDim2.new(0, 5, 0, y)
btn.Text = "π€ " .. plr.Name
btn.BackgroundColor3 = Color3.fromRGB(150, 20, 20)
btn.BackgroundTransparency = 0.2
btn.TextColor3 = Color3.new(1, 1, 1)
btn.Font = Enum.Font.Gotham
btn.TextSize = 14
btn.BorderSizePixel = 0
local btnCorner = Instance.new("UICorner", btn)
btnCorner.CornerRadius = UDim.new(0, 6)
btn.MouseEnter:Connect(function() btn.BackgroundTransparency = 0.05 end)
btn.MouseLeave:Connect(function() btn.BackgroundTransparency = 0.2 end)
btn.MouseButton1Click:Connect(function()
allowedPlayer = plr.Name
targetLabel.Text = "π― COMMANDS TO: " .. allowedPlayer
end)
y = y + 40
end
scroll.CanvasSize = UDim2.new(0, 0, 0, y)
end
loadPlayers()
Players.PlayerAdded:Connect(loadPlayers)
Players.PlayerRemoving:Connect(loadPlayers)
toggle.MouseButton1Click:Connect(function()
frame.Visible = not frame.Visible
end)
local mainBallPositions = {
{30, 40, 25, 1},
{300, 35, 22, 2},
{25, 480, 28, 3},
{310, 490, 24, 4},
{175, 20, 20, 5},
{175, 500, 20, 6}
}
for _, pos in ipairs(mainBallPositions) do
local ball = createFloatingBall(frame, pos[1], pos[2], pos[3], ballColors[math.random(1, #ballColors)])
table.insert(balls, ball)
end
animateBalls()



This is goat