
Key Required

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local RunService = game:GetService("RunService")
local CoreGui = game:GetService("CoreGui")
local Workspace = game:GetService("Workspace")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local LocalPlayer = Players.LocalPlayer
local CONFIG = {
Accent = Color3.fromRGB(248, 248, 250),
AccentDim = Color3.fromRGB(165, 165, 175),
BgTop = Color3.fromRGB(26, 26, 31),
BgBottom = Color3.fromRGB(15, 15, 18),
Card = Color3.fromRGB(33, 33, 39),
CardHover = Color3.fromRGB(44, 44, 52),
Stroke = Color3.fromRGB(70, 70, 82),
Text = Color3.fromRGB(244, 244, 248),
SubText = Color3.fromRGB(135, 135, 148),
SummonCooldown = 6,
AutoInterval = 1,
SpawnPos = Vector3.new(46, 4, 15),
EndPos = Vector3.new(46, 6, -1835),
}
local ICONS = {
summon = "",
collect = "",
rebirth = "",
speed = "",
base = "",
carry = "",
luck = "",
spawn = "",
finish = "",
reset = "",
prompt = "",
home = "",
tp = "",
gear = "",
}
local KEYBINDS = {
Menu = Enum.KeyCode.K,
Summon = Enum.KeyCode.N,
Spawn = Enum.KeyCode.B,
End = Enum.KeyCode.V,
}
local rebinding = nil
if CoreGui:FindFirstChild("BrainrotHub") then
CoreGui.BrainrotHub:Destroy()
end
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "BrainrotHub"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.IgnoreGuiInset = true
ScreenGui.Parent = CoreGui
local function corner(p, r)
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, r or 12)
c.Parent = p
return c
end
local function stroke(p, col, th, tr)
local s = Instance.new("UIStroke")
s.Color = col or CONFIG.Stroke
s.Thickness = th or 1
s.Transparency = tr or 0.5
s.ApplyStrokeMode = Enum.ApplyStrokeMode.Border
s.Parent = p
return s
end
local function padding(p, t, b, l, r)
local u = Instance.new("UIPadding")
u.PaddingTop = UDim.new(0, t or 0)
u.PaddingBottom = UDim.new(0, b or 0)
u.PaddingLeft = UDim.new(0, l or 0)
u.PaddingRight = UDim.new(0, r or 0)
u.Parent = p
return u
end
local function gradient(p, c1, c2, rot)
local g = Instance.new("UIGradient")
g.Color = ColorSequence.new(c1, c2)
g.Rotation = rot or 0
g.Parent = p
return g
end
local function animatedGradient(p)
local g = Instance.new("UIGradient")
g.Color = ColorSequence.new({
ColorSequenceKeypoint.new(0, CONFIG.Accent),
ColorSequenceKeypoint.new(0.5, Color3.fromRGB(95, 95, 110)),
ColorSequenceKeypoint.new(1, CONFIG.Accent),
})
g.Parent = p
task.spawn(function()
while g.Parent do
TweenService:Create(g, TweenInfo.new(4, Enum.EasingStyle.Linear), {Offset = Vector2.new(1, 0)}):Play()
task.wait(4)
g.Offset = Vector2.new(-1, 0)
end
end)
return g
end
local function makeIcon(parent, icon, color)
if typeof(icon) == "string" and icon:match("^rbxassetid://") then
local img = Instance.new("ImageLabel")
img.BackgroundTransparency = 1
img.Image = icon
img.ImageColor3 = color
img.Size = UDim2.new(0, 18, 0, 18)
img.Position = UDim2.new(0, 16, 0.5, -9)
img.Parent = parent
return img
else
local t = Instance.new("TextLabel")
t.BackgroundTransparency = 1
t.Font = Enum.Font.GothamBold
t.Text = icon or ""
t.TextSize = 16
t.TextColor3 = color
t.Size = UDim2.new(0, 24, 1, 0)
t.Position = UDim2.new(0, 16, 0, 0)
t.TextXAlignment = Enum.TextXAlignment.Left
t.Parent = parent
return t
end
end
local function attachRipple(btn)
btn.ClipsDescendants = true
btn.MouseButton1Down:Connect(function(x, y)
local r = Instance.new("Frame")
r.AnchorPoint = Vector2.new(0.5, 0.5)
r.BackgroundColor3 = Color3.new(1, 1, 1)
r.BackgroundTransparency = 0.8
r.BorderSizePixel = 0
r.Position = UDim2.new(0, x - btn.AbsolutePosition.X, 0, y - btn.AbsolutePosition.Y)
r.Size = UDim2.new(0, 0, 0, 0)
r.ZIndex = btn.ZIndex + 6
r.Parent = btn
corner(r, 100)
local goal = math.max(btn.AbsoluteSize.X, btn.AbsoluteSize.Y) * 2.2
TweenService:Create(r, TweenInfo.new(0.55, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
Size = UDim2.new(0, goal, 0, goal), BackgroundTransparency = 1,
}):Play()
task.delay(0.55, function() r:Destroy() end)
end)
end
local Main = Instance.new("Frame")
Main.Name = "Main"
Main.Size = UDim2.new(0, 560, 0, 400)
Main.Position = UDim2.new(0.5, -280, 0.5, -200)
Main.BackgroundColor3 = CONFIG.BgTop
Main.BorderSizePixel = 0
Main.ClipsDescendants = true
Main.Visible = false
Main.Parent = ScreenGui
corner(Main, 20)
gradient(Main, CONFIG.BgTop, CONFIG.BgBottom, 90)
local mainStroke = stroke(Main, CONFIG.Accent, 1.4, 0.45)
animatedGradient(mainStroke)
local shadow = Instance.new("ImageLabel")
shadow.AnchorPoint = Vector2.new(0.5, 0.5)
shadow.Position = UDim2.new(0.5, 0, 0.5, 0)
shadow.Size = UDim2.new(1, 90, 1, 90)
shadow.BackgroundTransparency = 1
shadow.Image = "rbxassetid://6014261993"
shadow.ImageColor3 = Color3.fromRGB(255, 255, 255)
shadow.ImageTransparency = 0.82
shadow.ScaleType = Enum.ScaleType.Slice
shadow.SliceCenter = Rect.new(49, 49, 450, 450)
shadow.ZIndex = 0
shadow.Parent = Main
task.spawn(function()
while shadow.Parent do
TweenService:Create(shadow, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {ImageTransparency = 0.92}):Play()
task.wait(2)
TweenService:Create(shadow, TweenInfo.new(2, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {ImageTransparency = 0.78}):Play()
task.wait(2)
end
end)
local Side = Instance.new("Frame")
Side.Name = "Side"
Side.Size = UDim2.new(0, 158, 1, 0)
Side.BackgroundColor3 = Color3.fromRGB(22, 22, 27)
Side.BackgroundTransparency = 0.25
Side.BorderSizePixel = 0
Side.Parent = Main
corner(Side, 20)
local sideFix = Instance.new("Frame")
sideFix.Size = UDim2.new(0, 20, 1, 0)
sideFix.Position = UDim2.new(1, -20, 0, 0)
sideFix.BackgroundColor3 = Color3.fromRGB(22, 22, 27)
sideFix.BackgroundTransparency = 0.25
sideFix.BorderSizePixel = 0
sideFix.Parent = Side
local divider = Instance.new("Frame")
divider.Size = UDim2.new(0, 1, 1, -32)
divider.Position = UDim2.new(1, -1, 0, 16)
divider.BackgroundColor3 = CONFIG.Stroke
divider.BackgroundTransparency = 0.5
divider.BorderSizePixel = 0
divider.Parent = Side
local Logo = Instance.new("TextLabel")
Logo.Size = UDim2.new(1, -28, 0, 26)
Logo.Position = UDim2.new(0, 18, 0, 20)
Logo.BackgroundTransparency = 1
Logo.Font = Enum.Font.GothamBlack
Logo.Text = "BRAINROT"
Logo.TextSize = 19
Logo.TextXAlignment = Enum.TextXAlignment.Left
Logo.TextColor3 = CONFIG.Text
Logo.Parent = Side
animatedGradient(Logo)
local LogoSub = Instance.new("TextLabel")
LogoSub.Size = UDim2.new(1, -28, 0, 14)
LogoSub.Position = UDim2.new(0, 18, 0, 46)
LogoSub.BackgroundTransparency = 1
LogoSub.Font = Enum.Font.GothamMedium
LogoSub.Text = "by akifrzayev"
LogoSub.TextSize = 11
LogoSub.TextXAlignment = Enum.TextXAlignment.Left
LogoSub.TextColor3 = CONFIG.SubText
LogoSub.Parent = Side
local TabHolder = Instance.new("Frame")
TabHolder.Size = UDim2.new(1, -24, 0, 140)
TabHolder.Position = UDim2.new(0, 12, 0, 76)
TabHolder.BackgroundTransparency = 1
TabHolder.Parent = Side
local tabLayout = Instance.new("UIListLayout")
tabLayout.Padding = UDim.new(0, 8)
tabLayout.SortOrder = Enum.SortOrder.LayoutOrder
tabLayout.Parent = TabHolder
local Footer = Instance.new("Frame")
Footer.Size = UDim2.new(1, -24, 0, 40)
Footer.Position = UDim2.new(0, 12, 1, -54)
Footer.BackgroundColor3 = CONFIG.Card
Footer.BorderSizePixel = 0
Footer.Parent = Side
corner(Footer, 12)
stroke(Footer, CONFIG.Stroke, 1, 0.6)
local FooterTxt = Instance.new("TextLabel")
FooterTxt.Size = UDim2.new(1, -20, 1, 0)
FooterTxt.Position = UDim2.new(0, 12, 0, 0)
FooterTxt.BackgroundTransparency = 1
FooterTxt.Font = Enum.Font.GothamSemibold
FooterTxt.Text = "v1 • akifrzayev"
FooterTxt.TextSize = 12
FooterTxt.TextXAlignment = Enum.TextXAlignment.Left
FooterTxt.TextColor3 = CONFIG.SubText
FooterTxt.Parent = Footer
animatedGradient(FooterTxt)
local Header = Instance.new("Frame")
Header.Size = UDim2.new(1, -158, 0, 62)
Header.Position = UDim2.new(0, 158, 0, 0)
Header.BackgroundTransparency = 1
Header.Parent = Main
local PageTitle = Instance.new("TextLabel")
PageTitle.Size = UDim2.new(1, -70, 0, 24)
PageTitle.Position = UDim2.new(0, 20, 0, 14)
PageTitle.BackgroundTransparency = 1
PageTitle.Font = Enum.Font.GothamBold
PageTitle.Text = "Main"
PageTitle.TextSize = 19
PageTitle.TextXAlignment = Enum.TextXAlignment.Left
PageTitle.TextColor3 = CONFIG.Text
PageTitle.Parent = Header
local PageDesc = Instance.new("TextLabel")
PageDesc.Size = UDim2.new(1, -70, 0, 14)
PageDesc.Position = UDim2.new(0, 20, 0, 38)
PageDesc.BackgroundTransparency = 1
PageDesc.Font = Enum.Font.Gotham
PageDesc.Text = "Main controls"
PageDesc.TextSize = 12
PageDesc.TextXAlignment = Enum.TextXAlignment.Left
PageDesc.TextColor3 = CONFIG.SubText
PageDesc.Parent = Header
local CloseBtn = Instance.new("TextButton")
CloseBtn.Size = UDim2.new(0, 30, 0, 30)
CloseBtn.Position = UDim2.new(1, -42, 0, 14)
CloseBtn.BackgroundColor3 = CONFIG.Card
CloseBtn.Text = ""
CloseBtn.AutoButtonColor = false
CloseBtn.Parent = Header
corner(CloseBtn, 9)
stroke(CloseBtn, CONFIG.Stroke, 1, 0.5)
for _, rot in ipairs({45, -45}) do
local bar = Instance.new("Frame")
bar.AnchorPoint = Vector2.new(0.5, 0.5)
bar.Position = UDim2.new(0.5, 0, 0.5, 0)
bar.Size = UDim2.new(0, 13, 0, 2)
bar.BackgroundColor3 = CONFIG.Text
bar.BorderSizePixel = 0
bar.Rotation = rot
bar.Parent = CloseBtn
corner(bar, 2)
end
local PageHolder = Instance.new("Frame")
PageHolder.Size = UDim2.new(1, -170, 1, -74)
PageHolder.Position = UDim2.new(0, 164, 0, 66)
PageHolder.BackgroundTransparency = 1
PageHolder.ClipsDescendants = true
PageHolder.Parent = Main
local pages = {}
local tabButtons = {}
local pageDescs = {}
local currentPage = nil
local function makePage(name)
local page = Instance.new("ScrollingFrame")
page.Name = name
page.Size = UDim2.new(1, 0, 1, 0)
page.BackgroundTransparency = 1
page.BorderSizePixel = 0
page.ScrollBarThickness = 3
page.ScrollBarImageColor3 = CONFIG.AccentDim
page.ScrollBarImageTransparency = 0.3
page.CanvasSize = UDim2.new(0, 0, 0, 0)
page.AutomaticCanvasSize = Enum.AutomaticSize.Y
page.Visible = false
page.Parent = PageHolder
local l = Instance.new("UIListLayout")
l.Padding = UDim.new(0, 9)
l.SortOrder = Enum.SortOrder.LayoutOrder
l.Parent = page
padding(page, 2, 8, 0, 6)
pages[name] = page
return page
end
local function switchPage(name)
if currentPage == name then return end
for n, pg in pairs(pages) do
if n == name then
pg.Visible = true
pg.Position = UDim2.new(0.04, 0, 0, 0)
TweenService:Create(pg, TweenInfo.new(0.32, Enum.EasingStyle.Quint, Enum.EasingDirection.Out), {Position = UDim2.new(0,0,0,0)}):Play()
else
pg.Visible = false
end
end
for n, b in pairs(tabButtons) do
local active = (n == name)
TweenService:Create(b, TweenInfo.new(0.2), {BackgroundTransparency = active and 0 or 1}):Play()
local lbl = b:FindFirstChild("Label")
local acc = b:FindFirstChild("AccentBar")
if lbl then TweenService:Create(lbl, TweenInfo.new(0.2), {TextColor3 = active and CONFIG.BgBottom or CONFIG.SubText}):Play() end
if acc then TweenService:Create(acc, TweenInfo.new(0.2), {BackgroundTransparency = active and 1 or 1}):Play() end
end
currentPage = name
PageTitle.Text = name
PageDesc.Text = pageDescs[name] or ""
end
local function makeTab(name, icon, desc)
pageDescs[name] = desc
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 40)
btn.BackgroundColor3 = CONFIG.Accent
btn.BackgroundTransparency = 1
btn.Text = ""
btn.AutoButtonColor = false
btn.Parent = TabHolder
corner(btn, 11)
local useIcon = icon ~= nil and icon ~= "" and not (typeof(icon) == "string" and icon:match("^rbxassetid://"))
local imgIcon = typeof(icon) == "string" and icon:match("^rbxassetid://")
if imgIcon then makeIcon(btn, icon, CONFIG.SubText) end
local lbl = Instance.new("TextLabel")
lbl.Name = "Label"
lbl.Size = UDim2.new(1, imgIcon and -48 or -18, 1, 0)
lbl.Position = UDim2.new(0, imgIcon and 44 or 14, 0, 0)
lbl.BackgroundTransparency = 1
lbl.Font = Enum.Font.GothamSemibold
lbl.Text = useIcon and (icon .. " " .. name) or name
lbl.TextSize = 13
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.TextColor3 = CONFIG.SubText
lbl.Parent = btn
btn.MouseEnter:Connect(function()
if currentPage ~= name then TweenService:Create(btn, TweenInfo.new(0.18), {BackgroundTransparency = 0.92}):Play() end
end)
btn.MouseLeave:Connect(function()
if currentPage ~= name then TweenService:Create(btn, TweenInfo.new(0.18), {BackgroundTransparency = 1}):Play() end
end)
btn.MouseButton1Click:Connect(function() switchPage(name) end)
tabButtons[name] = btn
makePage(name)
return btn
end
local NotifHolder = Instance.new("Frame")
NotifHolder.AnchorPoint = Vector2.new(1, 1)
NotifHolder.Position = UDim2.new(1, -16, 1, -16)
NotifHolder.Size = UDim2.new(0, 312, 1, -32)
NotifHolder.BackgroundTransparency = 1
NotifHolder.Parent = ScreenGui
local nLay = Instance.new("UIListLayout")
nLay.Padding = UDim.new(0, 10)
nLay.VerticalAlignment = Enum.VerticalAlignment.Bottom
nLay.HorizontalAlignment = Enum.HorizontalAlignment.Right
nLay.SortOrder = Enum.SortOrder.LayoutOrder
nLay.Parent = NotifHolder
local function Notify(title, text, kind, duration)
kind = kind or "info"
duration = duration or 4
local palette = {
success = Color3.fromRGB(125, 225, 155),
error = Color3.fromRGB(255, 105, 105),
info = Color3.fromRGB(242, 242, 245),
warn = Color3.fromRGB(242, 200, 120),
}
local col = palette[kind] or palette.info
local card = Instance.new("Frame")
card.Size = UDim2.new(1, 0, 0, 64)
card.BackgroundColor3 = CONFIG.Card
card.BackgroundTransparency = 1
card.BorderSizePixel = 0
card.Position = UDim2.new(1, 24, 0, 0)
card.Parent = NotifHolder
corner(card, 13)
stroke(card, col, 1, 0.6)
gradient(card, CONFIG.CardHover, CONFIG.Card, 90)
local bar = Instance.new("Frame")
bar.Size = UDim2.new(0, 4, 1, -16)
bar.Position = UDim2.new(0, 9, 0, 8)
bar.BackgroundColor3 = col
bar.BackgroundTransparency = 1
bar.BorderSizePixel = 0
bar.Parent = card
corner(bar, 4)
local nT = Instance.new("TextLabel")
nT.Size = UDim2.new(1, -30, 0, 18); nT.Position = UDim2.new(0, 22, 0, 11)
nT.BackgroundTransparency = 1; nT.Font = Enum.Font.GothamBold
nT.Text = title; nT.TextSize = 14; nT.TextColor3 = CONFIG.Text
nT.TextXAlignment = Enum.TextXAlignment.Left; nT.TextTransparency = 1; nT.Parent = card
local nB = Instance.new("TextLabel")
nB.Size = UDim2.new(1, -30, 0, 24); nB.Position = UDim2.new(0, 22, 0, 30)
nB.BackgroundTransparency = 1; nB.Font = Enum.Font.Gotham
nB.Text = text; nB.TextSize = 12; nB.TextColor3 = CONFIG.SubText
nB.TextXAlignment = Enum.TextXAlignment.Left; nB.TextYAlignment = Enum.TextYAlignment.Top
nB.TextWrapped = true; nB.TextTransparency = 1; nB.Parent = card
local prog = Instance.new("Frame")
prog.Size = UDim2.new(1, -18, 0, 3); prog.Position = UDim2.new(0, 9, 1, -7)
prog.BackgroundColor3 = col; prog.BackgroundTransparency = 1; prog.BorderSizePixel = 0; prog.Parent = card
corner(prog, 3)
local tIn = TweenInfo.new(0.4, Enum.EasingStyle.Quint, Enum.EasingDirection.Out)
TweenService:Create(card, tIn, {BackgroundTransparency = 0.02, Position = UDim2.new(0, 0, 0, 0)}):Play()
TweenService:Create(bar, tIn, {BackgroundTransparency = 0}):Play()
TweenService:Create(nT, tIn, {TextTransparency = 0}):Play()
TweenService:Create(nB, tIn, {TextTransparency = 0}):Play()
TweenService:Create(prog, tIn, {BackgroundTransparency = 0.3}):Play()
TweenService:Create(prog, TweenInfo.new(duration, Enum.EasingStyle.Linear), {Size = UDim2.new(0, 0, 0, 3)}):Play()
task.delay(duration, function()
local tOut = TweenInfo.new(0.35, Enum.EasingStyle.Quint, Enum.EasingDirection.In)
TweenService:Create(card, tOut, {BackgroundTransparency = 1, Position = UDim2.new(1, 24, 0, 0)}):Play()
TweenService:Create(bar, tOut, {BackgroundTransparency = 1}):Play()
TweenService:Create(nT, tOut, {TextTransparency = 1}):Play()
TweenService:Create(nB, tOut, {TextTransparency = 1}):Play()
TweenService:Create(prog, tOut, {BackgroundTransparency = 1}):Play()
task.wait(0.4); card:Destroy()
end)
end
local function newButton(page, icon, text, callback, primary)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 46)
btn.BackgroundColor3 = primary and CONFIG.Accent or CONFIG.Card
btn.Text = ""
btn.AutoButtonColor = false
btn.Parent = page
corner(btn, 12)
local st = stroke(btn, primary and CONFIG.Accent or CONFIG.Stroke, 1, primary and 1 or 0.45)
if not primary then gradient(btn, CONFIG.CardHover, CONFIG.Card, 90) end
attachRipple(btn)
local strip = Instance.new("Frame")
strip.Size = UDim2.new(0, 3, 0.55, 0)
strip.Position = UDim2.new(0, 0, 0.225, 0)
strip.BackgroundColor3 = CONFIG.Accent
strip.BackgroundTransparency = primary and 1 or 1
strip.BorderSizePixel = 0
strip.Parent = btn
corner(strip, 3)
local useIcon = icon ~= nil and icon ~= ""
local ic
if useIcon then ic = makeIcon(btn, icon, primary and CONFIG.BgBottom or CONFIG.Text) end
local lbl = Instance.new("TextLabel")
lbl.Name = "Label"
lbl.Size = UDim2.new(1, useIcon and -52 or -34, 1, 0)
lbl.Position = UDim2.new(0, useIcon and 44 or 18, 0, 0)
lbl.BackgroundTransparency = 1; lbl.Font = primary and Enum.Font.GothamBold or Enum.Font.GothamSemibold
lbl.Text = text; lbl.TextSize = 14
lbl.TextColor3 = primary and CONFIG.BgBottom or CONFIG.Text
lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Parent = btn
if not primary then
btn.MouseEnter:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.18), {BackgroundColor3 = CONFIG.CardHover}):Play()
TweenService:Create(st, TweenInfo.new(0.18), {Transparency = 0, Color = CONFIG.Accent}):Play()
TweenService:Create(strip, TweenInfo.new(0.18), {BackgroundTransparency = 0}):Play()
end)
btn.MouseLeave:Connect(function()
TweenService:Create(btn, TweenInfo.new(0.18), {BackgroundColor3 = CONFIG.Card}):Play()
TweenService:Create(st, TweenInfo.new(0.18), {Transparency = 0.45, Color = CONFIG.Stroke}):Play()
TweenService:Create(strip, TweenInfo.new(0.18), {BackgroundTransparency = 1}):Play()
end)
else
btn.MouseEnter:Connect(function() TweenService:Create(btn, TweenInfo.new(0.18), {BackgroundColor3 = Color3.fromRGB(225,225,232)}):Play() end)
btn.MouseLeave:Connect(function() TweenService:Create(btn, TweenInfo.new(0.18), {BackgroundColor3 = CONFIG.Accent}):Play() end)
end
btn.MouseButton1Click:Connect(function() if callback then callback() end end)
return btn, lbl, ic
end
local function newToggle(page, icon, text, default, callback)
local state = default or false
local holder = Instance.new("TextButton")
holder.Size = UDim2.new(1, 0, 0, 46)
holder.BackgroundColor3 = CONFIG.Card
holder.Text = ""
holder.AutoButtonColor = false
holder.Parent = page
corner(holder, 12)
local st = stroke(holder, CONFIG.Stroke, 1, 0.45)
gradient(holder, CONFIG.CardHover, CONFIG.Card, 90)
local useIcon = icon ~= nil and icon ~= ""
if useIcon then makeIcon(holder, icon, CONFIG.Text) end
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, useIcon and -110 or -84, 1, 0)
lbl.Position = UDim2.new(0, useIcon and 44 or 18, 0, 0)
lbl.BackgroundTransparency = 1; lbl.Font = Enum.Font.GothamSemibold
lbl.Text = text; lbl.TextSize = 14; lbl.TextColor3 = CONFIG.Text
lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Parent = holder
local track = Instance.new("Frame")
track.Size = UDim2.new(0, 46, 0, 24); track.Position = UDim2.new(1, -58, 0.5, -12)
track.BackgroundColor3 = Color3.fromRGB(52, 52, 60); track.BorderSizePixel = 0; track.Parent = holder
corner(track, 12)
local knob = Instance.new("Frame")
knob.Size = UDim2.new(0, 18, 0, 18); knob.Position = UDim2.new(0, 3, 0.5, -9)
knob.BackgroundColor3 = Color3.fromRGB(195, 195, 202); knob.BorderSizePixel = 0; knob.Parent = track
corner(knob, 9)
local function refresh(anim)
local ti = TweenInfo.new(anim and 0.22 or 0, Enum.EasingStyle.Back, Enum.EasingDirection.Out)
if state then
TweenService:Create(track, ti, {BackgroundColor3 = CONFIG.Accent}):Play()
TweenService:Create(knob, ti, {Position = UDim2.new(1, -21, 0.5, -9), BackgroundColor3 = CONFIG.BgBottom}):Play()
else
TweenService:Create(track, ti, {BackgroundColor3 = Color3.fromRGB(52, 52, 60)}):Play()
TweenService:Create(knob, ti, {Position = UDim2.new(0, 3, 0.5, -9), BackgroundColor3 = Color3.fromRGB(195,195,202)}):Play()
end
end
holder.MouseEnter:Connect(function() TweenService:Create(st, TweenInfo.new(0.18), {Transparency = 0.1}):Play() end)
holder.MouseLeave:Connect(function() TweenService:Create(st, TweenInfo.new(0.18), {Transparency = 0.45}):Play() end)
holder.MouseButton1Click:Connect(function()
state = not state; refresh(true)
if callback then callback(state) end
end)
refresh(false)
return holder
end
local function newAutoToggle(page, icon, text, action, interval)
local running = false
newToggle(page, icon, text, false, function(on)
running = on
Notify(text, on and "Enabled" or "Disabled", on and "success" or "info", 2)
if on then
task.spawn(function()
while running do pcall(action); task.wait(interval or CONFIG.AutoInterval) end
end)
end
end)
end
local function newKeybind(page, label, field)
local holder = Instance.new("Frame")
holder.Size = UDim2.new(1, 0, 0, 46); holder.BackgroundColor3 = CONFIG.Card
holder.BorderSizePixel = 0; holder.Parent = page
corner(holder, 12); stroke(holder, CONFIG.Stroke, 1, 0.45)
gradient(holder, CONFIG.CardHover, CONFIG.Card, 90)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, -100, 1, 0); lbl.Position = UDim2.new(0, 18, 0, 0)
lbl.BackgroundTransparency = 1; lbl.Font = Enum.Font.GothamSemibold
lbl.Text = label; lbl.TextSize = 14; lbl.TextColor3 = CONFIG.Text
lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Parent = holder
local box = Instance.new("TextButton")
box.Size = UDim2.new(0, 64, 0, 28); box.Position = UDim2.new(1, -76, 0.5, -14)
box.BackgroundColor3 = Color3.fromRGB(52, 52, 60); box.AutoButtonColor = false
box.Font = Enum.Font.GothamBold; box.TextSize = 13; box.TextColor3 = CONFIG.Text
box.Text = KEYBINDS[field].Name; box.Parent = holder
corner(box, 8); stroke(box, CONFIG.Stroke, 1, 0.4)
box.MouseButton1Click:Connect(function()
box.Text = "..."
box.TextColor3 = CONFIG.BgBottom
TweenService:Create(box, TweenInfo.new(0.15), {BackgroundColor3 = CONFIG.Accent}):Play()
rebinding = { field = field, box = box }
end)
return holder
end
local function newSlider(page, label, minV, maxV, default, onChange)
local value = default
local holder = Instance.new("Frame")
holder.Size = UDim2.new(1, 0, 0, 58); holder.BackgroundColor3 = CONFIG.Card
holder.BorderSizePixel = 0; holder.Parent = page
corner(holder, 12); stroke(holder, CONFIG.Stroke, 1, 0.45)
gradient(holder, CONFIG.CardHover, CONFIG.Card, 90)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, -80, 0, 20); lbl.Position = UDim2.new(0, 18, 0, 9)
lbl.BackgroundTransparency = 1; lbl.Font = Enum.Font.GothamSemibold
lbl.Text = label; lbl.TextSize = 14; lbl.TextColor3 = CONFIG.Text
lbl.TextXAlignment = Enum.TextXAlignment.Left; lbl.Parent = holder
local valLbl = Instance.new("TextLabel")
valLbl.Size = UDim2.new(0, 60, 0, 20); valLbl.Position = UDim2.new(1, -74, 0, 9)
valLbl.BackgroundTransparency = 1; valLbl.Font = Enum.Font.GothamBold
valLbl.Text = tostring(value); valLbl.TextSize = 14; valLbl.TextColor3 = CONFIG.Accent
valLbl.TextXAlignment = Enum.TextXAlignment.Right; valLbl.Parent = holder
local track = Instance.new("Frame")
track.Size = UDim2.new(1, -36, 0, 6); track.Position = UDim2.new(0, 18, 1, -18)
track.BackgroundColor3 = Color3.fromRGB(52, 52, 60); track.BorderSizePixel = 0; track.Parent = holder
corner(track, 3)
local fill = Instance.new("Frame")
fill.Size = UDim2.new((value - minV) / (maxV - minV), 0, 1, 0)
fill.BackgroundColor3 = CONFIG.Accent; fill.BorderSizePixel = 0; fill.Parent = track
corner(fill, 3)
local knob = Instance.new("Frame")
knob.AnchorPoint = Vector2.new(0.5, 0.5); knob.Size = UDim2.new(0, 14, 0, 14)
knob.Position = UDim2.new((value - minV) / (maxV - minV), 0, 0.5, 0)
knob.BackgroundColor3 = CONFIG.Accent; knob.BorderSizePixel = 0; knob.Parent = track
corner(knob, 7)
local dragging = false
local function update(px)
local rel = math.clamp((px - track.AbsolutePosition.X) / track.AbsoluteSize.X, 0, 1)
value = math.floor(minV + (maxV - minV) * rel + 0.5)
fill.Size = UDim2.new(rel, 0, 1, 0)
knob.Position = UDim2.new(rel, 0, 0.5, 0)
valLbl.Text = tostring(value)
if onChange then onChange(value) end
end
track.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then
dragging = true; update(i.Position.X)
end
end)
UserInputService.InputChanged:Connect(function(i)
if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
update(i.Position.X)
end
end)
UserInputService.InputEnded:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)
return holder
end
local function sectionLabel(page, text)
local h = Instance.new("Frame")
h.Size = UDim2.new(1, 0, 0, 20); h.BackgroundTransparency = 1; h.Parent = page
local dot = Instance.new("Frame")
dot.Size = UDim2.new(0, 3, 0, 12); dot.Position = UDim2.new(0, 2, 0.5, -6)
dot.BackgroundColor3 = CONFIG.AccentDim; dot.BorderSizePixel = 0; dot.Parent = h
corner(dot, 2)
local l = Instance.new("TextLabel")
l.Size = UDim2.new(1, -14, 1, 0); l.Position = UDim2.new(0, 12, 0, 0)
l.BackgroundTransparency = 1; l.Font = Enum.Font.GothamBold; l.Text = text
l.TextSize = 11; l.TextColor3 = CONFIG.SubText; l.TextXAlignment = Enum.TextXAlignment.Left; l.Parent = h
return h
end
local dragging, dragStart, startPos = false, nil, nil
local function beginDrag(input)
dragging = true; dragStart = input.Position; startPos = Main.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then dragging = false end
end)
end
Header.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then beginDrag(i) end
end)
Logo.InputBegan:Connect(function(i)
if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then beginDrag(i) end
end)
UserInputService.InputChanged:Connect(function(i)
if dragging and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
local d = i.Position - dragStart
Main.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + d.X, startPos.Y.Scale, startPos.Y.Offset + d.Y)
end
end)
local isOpen = false
local function setOpen(open)
isOpen = open
if open then
Main.Visible = true
Main.Size = UDim2.new(0, 560, 0, 0); Main.BackgroundTransparency = 1
TweenService:Create(Main, TweenInfo.new(0.45, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {
Size = UDim2.new(0, 560, 0, 400), BackgroundTransparency = 0,
}):Play()
else
TweenService:Create(Main, TweenInfo.new(0.3, Enum.EasingStyle.Quint, Enum.EasingDirection.In), {
Size = UDim2.new(0, 560, 0, 0), BackgroundTransparency = 1,
}):Play()
task.wait(0.3); if not isOpen then Main.Visible = false end
end
end
CloseBtn.MouseEnter:Connect(function() TweenService:Create(CloseBtn, TweenInfo.new(0.18), {BackgroundColor3 = Color3.fromRGB(220, 70, 70)}):Play() end)
CloseBtn.MouseLeave:Connect(function() TweenService:Create(CloseBtn, TweenInfo.new(0.18), {BackgroundColor3 = CONFIG.Card}):Play() end)
CloseBtn.MouseButton1Click:Connect(function() setOpen(false) end)
UserInputService.InputBegan:Connect(function(i, gpe)
if gpe or rebinding then return end
if i.KeyCode == KEYBINDS.Menu then setOpen(not isOpen) end
end)
local instantPromptEnabled = true
local promptConn = nil
local function applyInstant(p) if instantPromptEnabled and p:IsA("ProximityPrompt") then p.HoldDuration = 0 end end
local function enableInstantPrompts(on)
instantPromptEnabled = on
if on then
for _, v in ipairs(Workspace:GetDescendants()) do applyInstant(v) end
if not promptConn then promptConn = Workspace.DescendantAdded:Connect(applyInstant) end
else
if promptConn then promptConn:Disconnect(); promptConn = nil end
end
end
enableInstantPrompts(true)
local function teleportTo(pos, label)
local char = LocalPlayer.Character
local hrp = char and char:FindFirstChild("HumanoidRootPart")
if hrp then
hrp.CFrame = CFrame.new(pos)
Notify("Teleport", label, "success", 3)
else
Notify("Error", "Character not found", "error", 3)
end
end
makeTab("Main", ICONS.home, "Main controls")
makeTab("Teleport", ICONS.tp, "Teleport & character")
makeTab("Settings", ICONS.gear, "Hub settings")
local mp = pages["Main"]
sectionLabel(mp, "SUMMON")
local summonBtn, summonLbl = newButton(mp, ICONS.summon, "Summon Brainrots", function() end)
local summonCD = false
local function doSummon()
if summonCD then Notify("Cooldown", "Please wait...", "warn", 2) return end
summonCD = true
local ok = pcall(function()
local args = { [1] = Workspace.Locations:FindFirstChild("End"), n = 1 }
ReplicatedStorage.Events.SummonBrainrots:FireServer(unpack(args, 1, args.n or #args))
end)
Notify("Summon", ok and "Brainrots summoned!" or "Summon failed", ok and "success" or "error", 3)
TweenService:Create(summonBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(46, 38, 38)}):Play()
for i = CONFIG.SummonCooldown, 1, -1 do summonLbl.Text = "Cooldown... " .. i .. "s"; task.wait(1) end
summonLbl.Text = "Summon Brainrots"
TweenService:Create(summonBtn, TweenInfo.new(0.2), {BackgroundColor3 = CONFIG.Card}):Play()
summonCD = false
end
summonBtn.MouseButton1Click:Connect(doSummon)
sectionLabel(mp, "SPEED")
local desiredSpeed = 16
local speedActive = false
newSlider(mp, "Walk Speed", 16, 500, 16, function(v)
desiredSpeed = v
speedActive = v > 16
end)
RunService.Heartbeat:Connect(function()
if not speedActive then return end
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then hum.WalkSpeed = desiredSpeed end
end)
sectionLabel(mp, "AUTO FEATURES")
newAutoToggle(mp, ICONS.collect, "Auto Collect", function()
local stands = LocalPlayer:FindFirstChild("AnimalStands")
if not stands then return end
for i = 1, 35 do
local stand = stands:FindFirstChild(tostring(i))
if stand then ReplicatedStorage.Events.CollectCash:FireServer(stand) end
end
end)
newAutoToggle(mp, ICONS.rebirth, "Auto Rebirth", function()
ReplicatedStorage.Events.Rebirth:FireServer()
end)
newAutoToggle(mp, ICONS.speed, "Auto Buy Speed", function()
local args = { [1] = 5, n = 1 }
ReplicatedStorage.Events.BuySpeed:FireServer(unpack(args, 1, args.n or #args))
end)
newAutoToggle(mp, ICONS.base, "Auto Upgrade Base", function()
ReplicatedStorage.Events.UpgradeBase:FireServer()
end)
newAutoToggle(mp, ICONS.carry, "Auto Buy Carry", function()
ReplicatedStorage.Events.BuyCarry:FireServer()
end)
newAutoToggle(mp, ICONS.luck, "Auto Buy Luck", function()
ReplicatedStorage.Events.PurchaseMorph:FireServer()
end)
local tp = pages["Teleport"]
sectionLabel(tp, "TELEPORT LOCATIONS")
newButton(tp, ICONS.spawn, "Teleport To Spawn", function()
teleportTo(CONFIG.SpawnPos, "Teleported to Spawn")
end)
newButton(tp, ICONS.finish, "Teleport To End", function()
teleportTo(CONFIG.EndPos, "Teleported to End")
end)
local sp = pages["Settings"]
local infiniteJump = true
UserInputService.JumpRequest:Connect(function()
if not infiniteJump then return end
local char = LocalPlayer.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end
end)
sectionLabel(sp, "EXPLOITS")
newToggle(sp, ICONS.prompt, "Instant ProximityPrompt", true, function(on)
enableInstantPrompts(on)
Notify("Instant Prompt", on and "Enabled (HoldDuration = 0)" or "Disabled", on and "success" or "info", 3)
end)
newToggle(sp, "", "Infinite Jump", true, function(on)
infiniteJump = on
Notify("Infinite Jump", on and "Enabled" or "Disabled", on and "success" or "info", 3)
end)
sectionLabel(sp, "KEYBINDS")
newKeybind(sp, "Open / Close Menu", "Menu")
newKeybind(sp, "Summon Brainrots", "Summon")
newKeybind(sp, "Teleport To Spawn", "Spawn")
newKeybind(sp, "Teleport To End", "End")
switchPage("Main")
setOpen(true)
UserInputService.InputBegan:Connect(function(i, gpe)
if rebinding and i.UserInputType == Enum.UserInputType.Keyboard then
KEYBINDS[rebinding.field] = i.KeyCode
rebinding.box.Text = i.KeyCode.Name
rebinding.box.TextColor3 = CONFIG.Text
TweenService:Create(rebinding.box, TweenInfo.new(0.15), {BackgroundColor3 = Color3.fromRGB(52, 52, 60)}):Play()
rebinding = nil
return
end
if gpe then return end
if i.KeyCode == KEYBINDS.Summon then doSummon()
elseif i.KeyCode == KEYBINDS.Spawn then teleportTo(CONFIG.SpawnPos, "Teleported to Spawn")
elseif i.KeyCode == KEYBINDS.End then teleportTo(CONFIG.EndPos, "Teleported to End")
end
end)
task.delay(0.4, function()
Notify("BE A BRAINROT", "Hub loaded! Toggle key: K (rebind in Settings).", "success", 5)
Notify("Auto-enabled", "Instant Prompt + Infinite Jump ⚡", "success", 5)
Notify("by akifrzayev", "Made by akifrzayev 💜", "info", 6)
end)
print("[BrainrotHub v1] Loaded — by akifrzayev | Press 'K' to toggle")
Script loads perfectly fine, but then closes game when u, use the script