AutoCollect AutoRebirth AutoSpeed AutoLuck AutoCarry etc
Key Required

AutoCollect AutoRebirth AutoSpeed AutoLuck AutoCarry etc

[🥕] Become a Brainrotakifrzayev06akifrzayev06 646 views 4.4K executesUpdated Jun 21, 2026
Unrated
00
Lua Script•921 lines (35495 chars)
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")

Features & Information

Teleport To End Summon Brainroots Auto Collect Auto Rebirth Walk Speed Infinite Jump Auto Buy Carry Limit Auto Buy Speed Auto Buy Upgrade Base How to use the script? First you have to teleport the end then click "Summon Brainroots" on the Main after getting your brainroots you can click to teleport spawn and enjoy it! NOTE: The GUI made by AI if there's any problem or bugs sorry

Community Comments (1)

Ksorsby1Ksorsby1Aug 25, 2026

Script loads perfectly fine, but then closes game when u, use the script

More Scripts for [🥕] Become a Brainrot