
Keyless VerifiedUniversal

-- =============================================
-- Cub's Hub v2.1 | Built for Solara
-- =============================================
-- Cleanup old instances
pcall(function()
if gethui then
for _, v in pairs(gethui():GetChildren()) do
if v.Name == "CubsHub" then v:Destroy() end
end
end
for _, v in pairs(game.CoreGui:GetChildren()) do
if v.Name == "CubsHub" then v:Destroy() end
end
end)
task.wait(0.3)
-- Reset all globals
getgenv().InfJump = false
getgenv().Noclip = false
getgenv().Flying = false
getgenv().FlySpeed = 80
getgenv().GodMode = false
getgenv().AutoHeal = false
getgenv().NoRagdoll = false
getgenv().AntiFall = false
getgenv().RainbowBody = false
getgenv().Freecam = false
getgenv().Spinning = false
getgenv().KillAura = false
getgenv().AutoParry = false
getgenv().AttackRange = 15
getgenv().AttackSpeed = 5
getgenv().CubKeybind = true
getgenv().CubNotifs = true
-- Services
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UIS = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local HttpService = game:GetService("HttpService")
local LP = Players.LocalPlayer
-- Safe parent
local GuiParent
if gethui then
GuiParent = gethui()
else
GuiParent = game.CoreGui
end
-- =============================================
-- THEME
-- =============================================
local C = {
BG = Color3.fromRGB(18, 18, 28),
Bar = Color3.fromRGB(25, 25, 40),
Side = Color3.fromRGB(22, 22, 34),
Accent = Color3.fromRGB(85, 125, 255),
AccentDark = Color3.fromRGB(60, 90, 200),
Card = Color3.fromRGB(28, 28, 42),
Btn = Color3.fromRGB(35, 35, 52),
BtnHover = Color3.fromRGB(48, 48, 68),
Text = Color3.fromRGB(255, 255, 255),
TextDim = Color3.fromRGB(160, 160, 185),
TextDark = Color3.fromRGB(100, 100, 125),
Green = Color3.fromRGB(75, 195, 115),
Yellow = Color3.fromRGB(255, 175, 55),
Red = Color3.fromRGB(240, 65, 65),
Line = Color3.fromRGB(45, 45, 65),
Scroll = Color3.fromRGB(55, 55, 80),
}
-- =============================================
-- UTILITIES
-- =============================================
local function MakeCorner(p, r)
local c = Instance.new("UICorner")
c.CornerRadius = UDim.new(0, r or 8)
c.Parent = p
end
local function MakeStroke(p, col, t)
local s = Instance.new("UIStroke")
s.Color = col or C.Line
s.Thickness = t or 1
s.Parent = p
end
local function MakePad(p, t, b, l, r)
local pad = Instance.new("UIPadding")
pad.PaddingTop = UDim.new(0, t or 0)
pad.PaddingBottom = UDim.new(0, b or 0)
pad.PaddingLeft = UDim.new(0, l or 0)
pad.PaddingRight = UDim.new(0, r or 0)
pad.Parent = p
end
local function Anim(obj, props, dur)
TweenService:Create(obj, TweenInfo.new(dur or 0.25, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), props):Play()
end
-- =============================================
-- SCREEN GUI
-- =============================================
local Gui = Instance.new("ScreenGui")
Gui.Name = "CubsHub"
Gui.ResetOnSpawn = false
Gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
Gui.Parent = GuiParent
-- =============================================
-- NOTIFICATION SYSTEM
-- =============================================
local NotifHolder = Instance.new("Frame")
NotifHolder.Name = "Notifs"
NotifHolder.Size = UDim2.new(0, 290, 1, 0)
NotifHolder.Position = UDim2.new(1, -300, 0, 0)
NotifHolder.BackgroundTransparency = 1
NotifHolder.Parent = Gui
local NotifList = Instance.new("UIListLayout")
NotifList.SortOrder = Enum.SortOrder.LayoutOrder
NotifList.VerticalAlignment = Enum.VerticalAlignment.Bottom
NotifList.Padding = UDim.new(0, 6)
NotifList.Parent = NotifHolder
MakePad(NotifHolder, 0, 10, 0, 0)
local function Notify(title, msg, ntype)
local col = C.Accent
if ntype == "success" then col = C.Green
elseif ntype == "warning" then col = C.Yellow
elseif ntype == "error" then col = C.Red end
local n = Instance.new("Frame")
n.Size = UDim2.new(1, 0, 0, 60)
n.BackgroundColor3 = C.Card
n.BorderSizePixel = 0
n.Parent = NotifHolder
MakeCorner(n, 8)
MakeStroke(n, col, 1.2)
local bar = Instance.new("Frame")
bar.Size = UDim2.new(0, 3, 1, -8)
bar.Position = UDim2.new(0, 4, 0, 4)
bar.BackgroundColor3 = col
bar.BorderSizePixel = 0
bar.Parent = n
MakeCorner(bar, 2)
local t = Instance.new("TextLabel")
t.Size = UDim2.new(1, -20, 0, 22)
t.Position = UDim2.new(0, 14, 0, 6)
t.BackgroundTransparency = 1
t.Text = "đģ " .. title
t.TextColor3 = C.Text
t.TextSize = 13
t.Font = Enum.Font.GothamBold
t.TextXAlignment = Enum.TextXAlignment.Left
t.Parent = n
local m = Instance.new("TextLabel")
m.Size = UDim2.new(1, -20, 0, 22)
m.Position = UDim2.new(0, 14, 0, 28)
m.BackgroundTransparency = 1
m.Text = msg
m.TextColor3 = C.TextDim
m.TextSize = 11
m.Font = Enum.Font.Gotham
m.TextXAlignment = Enum.TextXAlignment.Left
m.TextWrapped = true
m.Parent = n
local prog = Instance.new("Frame")
prog.Size = UDim2.new(1, -8, 0, 2)
prog.Position = UDim2.new(0, 4, 1, -4)
prog.BackgroundColor3 = col
prog.BorderSizePixel = 0
prog.Parent = n
MakeCorner(prog, 1)
n.BackgroundTransparency = 1
Anim(n, {BackgroundTransparency = 0}, 0.3)
Anim(prog, {Size = UDim2.new(0, 0, 0, 2)}, 3.5)
task.delay(4, function()
Anim(n, {BackgroundTransparency = 1}, 0.3)
task.delay(0.35, function()
pcall(function() n:Destroy() end)
end)
end)
end
-- =============================================
-- MAIN WINDOW
-- =============================================
local Main = Instance.new("Frame")
Main.Name = "Main"
Main.Size = UDim2.new(0, 680, 0, 440)
Main.Position = UDim2.new(0.5, -340, 0.5, -220)
Main.BackgroundColor3 = C.BG
Main.BorderSizePixel = 0
Main.ClipsDescendants = true
Main.Parent = Gui
MakeCorner(Main, 12)
MakeStroke(Main, C.Accent, 1.5)
-- =============================================
-- TOP BAR
-- =============================================
local TopBar = Instance.new("Frame")
TopBar.Name = "TopBar"
TopBar.Size = UDim2.new(1, 0, 0, 48)
TopBar.BackgroundColor3 = C.Bar
TopBar.BorderSizePixel = 0
TopBar.Parent = Main
MakeCorner(TopBar, 12)
local BarFix = Instance.new("Frame")
BarFix.Size = UDim2.new(1, 0, 0, 14)
BarFix.Position = UDim2.new(0, 0, 1, -14)
BarFix.BackgroundColor3 = C.Bar
BarFix.BorderSizePixel = 0
BarFix.Parent = TopBar
local TitleLabel = Instance.new("TextLabel")
TitleLabel.Size = UDim2.new(0, 180, 1, 0)
TitleLabel.Position = UDim2.new(0, 18, 0, 0)
TitleLabel.BackgroundTransparency = 1
TitleLabel.Text = "đģ Cub's Hub"
TitleLabel.TextColor3 = C.Accent
TitleLabel.TextSize = 20
TitleLabel.Font = Enum.Font.GothamBold
TitleLabel.TextXAlignment = Enum.TextXAlignment.Left
TitleLabel.Parent = TopBar
local Badge = Instance.new("TextLabel")
Badge.Size = UDim2.new(0, 45, 0, 18)
Badge.Position = UDim2.new(0, 162, 0.5, -9)
Badge.BackgroundColor3 = C.Accent
Badge.BackgroundTransparency = 0.8
Badge.Text = "v2.1"
Badge.TextColor3 = C.Accent
Badge.TextSize = 10
Badge.Font = Enum.Font.GothamBold
Badge.Parent = TopBar
MakeCorner(Badge, 4)
local PlayerLabel = Instance.new("TextLabel")
PlayerLabel.Size = UDim2.new(0, 200, 1, 0)
PlayerLabel.Position = UDim2.new(1, -310, 0, 0)
PlayerLabel.BackgroundTransparency = 1
PlayerLabel.Text = "đ¤ " .. LP.Name
PlayerLabel.TextColor3 = C.TextDim
PlayerLabel.TextSize = 12
PlayerLabel.Font = Enum.Font.Gotham
PlayerLabel.TextXAlignment = Enum.TextXAlignment.Right
PlayerLabel.Parent = TopBar
local MinBtn = Instance.new("TextButton")
MinBtn.Size = UDim2.new(0, 34, 0, 34)
MinBtn.Position = UDim2.new(1, -80, 0.5, -17)
MinBtn.BackgroundColor3 = C.Yellow
MinBtn.BackgroundTransparency = 0.75
MinBtn.Text = "â"
MinBtn.TextColor3 = C.Yellow
MinBtn.TextSize = 16
MinBtn.Font = Enum.Font.GothamBold
MinBtn.BorderSizePixel = 0
MinBtn.Parent = TopBar
MakeCorner(MinBtn, 8)
MinBtn.MouseEnter:Connect(function() Anim(MinBtn, {BackgroundTransparency = 0.4}, 0.15) end)
MinBtn.MouseLeave:Connect(function() Anim(MinBtn, {BackgroundTransparency = 0.75}, 0.15) end)
local CloseBtn = Instance.new("TextButton")
CloseBtn.Size = UDim2.new(0, 34, 0, 34)
CloseBtn.Position = UDim2.new(1, -42, 0.5, -17)
CloseBtn.BackgroundColor3 = C.Red
CloseBtn.BackgroundTransparency = 0.75
CloseBtn.Text = "â"
CloseBtn.TextColor3 = C.Red
CloseBtn.TextSize = 14
CloseBtn.Font = Enum.Font.GothamBold
CloseBtn.BorderSizePixel = 0
CloseBtn.Parent = TopBar
MakeCorner(CloseBtn, 8)
CloseBtn.MouseEnter:Connect(function() Anim(CloseBtn, {BackgroundTransparency = 0.4}, 0.15) end)
CloseBtn.MouseLeave:Connect(function() Anim(CloseBtn, {BackgroundTransparency = 0.75}, 0.15) end)
CloseBtn.MouseButton1Click:Connect(function()
-- Reset all toggles
getgenv().InfJump = false
getgenv().Noclip = false
getgenv().Flying = false
getgenv().GodMode = false
getgenv().AutoHeal = false
getgenv().NoRagdoll = false
getgenv().AntiFall = false
getgenv().RainbowBody = false
getgenv().Freecam = false
getgenv().Spinning = false
getgenv().KillAura = false
Anim(Main, {Size = UDim2.new(0, 0, 0, 0), Position = UDim2.new(0.5, 0, 0.5, 0)}, 0.35)
task.delay(0.4, function()
pcall(function() Gui:Destroy() end)
end)
end)
local minimized = false
MinBtn.MouseButton1Click:Connect(function()
minimized = not minimized
if minimized then
Anim(Main, {Size = UDim2.new(0, 680, 0, 48)}, 0.3)
else
Anim(Main, {Size = UDim2.new(0, 680, 0, 440)}, 0.3)
end
end)
-- =============================================
-- DRAGGING
-- =============================================
do
local dragToggle = false
local dragStart = Vector2.new(0, 0)
local startPos = UDim2.new(0, 0, 0, 0)
TopBar.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then
dragToggle = true
dragStart = input.Position
startPos = Main.Position
local moveConn
local endConn
moveConn = UIS.InputChanged:Connect(function(moved)
if moved.UserInputType == Enum.UserInputType.MouseMovement and dragToggle then
local delta = moved.Position - dragStart
Main.Position = UDim2.new(
startPos.X.Scale, startPos.X.Offset + delta.X,
startPos.Y.Scale, startPos.Y.Offset + delta.Y
)
end
end)
endConn = UIS.InputEnded:Connect(function(ended)
if ended.UserInputType == Enum.UserInputType.MouseButton1 then
dragToggle = false
pcall(function() moveConn:Disconnect() end)
pcall(function() endConn:Disconnect() end)
end
end)
end
end)
end
-- =============================================
-- SIDEBAR
-- =============================================
local SidebarHolder = Instance.new("Frame")
SidebarHolder.Name = "SidebarHolder"
SidebarHolder.Size = UDim2.new(0, 155, 1, -48)
SidebarHolder.Position = UDim2.new(0, 0, 0, 48)
SidebarHolder.BackgroundColor3 = C.Side
SidebarHolder.BorderSizePixel = 0
SidebarHolder.Parent = Main
local SideLine = Instance.new("Frame")
SideLine.Size = UDim2.new(0, 1, 1, 0)
SideLine.Position = UDim2.new(1, 0, 0, 0)
SideLine.BackgroundColor3 = C.Line
SideLine.BorderSizePixel = 0
SideLine.Parent = SidebarHolder
local Sidebar = Instance.new("ScrollingFrame")
Sidebar.Name = "Sidebar"
Sidebar.Size = UDim2.new(1, -1, 1, 0)
Sidebar.Position = UDim2.new(0, 0, 0, 0)
Sidebar.BackgroundTransparency = 1
Sidebar.BorderSizePixel = 0
Sidebar.ScrollBarThickness = 0
Sidebar.CanvasSize = UDim2.new(0, 0, 0, 0)
Sidebar.AutomaticCanvasSize = Enum.AutomaticSize.Y
Sidebar.Parent = SidebarHolder
local SideLayout = Instance.new("UIListLayout")
SideLayout.SortOrder = Enum.SortOrder.LayoutOrder
SideLayout.Padding = UDim.new(0, 4)
SideLayout.VerticalAlignment = Enum.VerticalAlignment.Top
SideLayout.Parent = Sidebar
local SidePad = Instance.new("UIPadding")
SidePad.PaddingTop = UDim.new(0, 8)
SidePad.PaddingBottom = UDim.new(0, 8)
SidePad.PaddingLeft = UDim.new(0, 6)
SidePad.PaddingRight = UDim.new(0, 6)
SidePad.Parent = Sidebar
-- =============================================
-- CONTENT AREA
-- =============================================
local Content = Instance.new("Frame")
Content.Name = "Content"
Content.Size = UDim2.new(1, -156, 1, -48)
Content.Position = UDim2.new(0, 156, 0, 48)
Content.BackgroundTransparency = 1
Content.Parent = Main
-- =============================================
-- TAB SYSTEM
-- =============================================
local Pages = {}
local Buttons = {}
local ActiveTab = nil
local TabList = {
{Name = "đ Home", ID = "Home", Order = 1},
{Name = "âī¸ Combat", ID = "Combat", Order = 2},
{Name = "đ World", ID = "World", Order = 3},
{Name = "đ Player", ID = "Player", Order = 4},
{Name = "đ§ Misc", ID = "Misc", Order = 5},
{Name = "âī¸ Settings", ID = "Settings", Order = 6},
}
local function MakePage(id)
local page = Instance.new("ScrollingFrame")
page.Name = id
page.Size = UDim2.new(1, 0, 1, 0)
page.BackgroundTransparency = 1
page.BorderSizePixel = 0
page.ScrollBarThickness = 4
page.ScrollBarImageColor3 = C.Scroll
page.Visible = false
page.CanvasSize = UDim2.new(0, 0, 0, 0)
page.AutomaticCanvasSize = Enum.AutomaticSize.Y
page.Parent = Content
local layout = Instance.new("UIListLayout")
layout.SortOrder = Enum.SortOrder.LayoutOrder
layout.Padding = UDim.new(0, 8)
layout.Parent = page
MakePad(page, 10, 10, 12, 12)
return page
end
local function SwitchTab(id)
for k, v in pairs(Pages) do
v.Visible = false
end
for k, v in pairs(Buttons) do
Anim(v, {BackgroundColor3 = C.Btn, BackgroundTransparency = 0.5}, 0.2)
local txt = v:FindFirstChildWhichIsA("TextLabel")
if txt then Anim(txt, {TextColor3 = C.TextDim}, 0.2) end
end
if Pages[id] then Pages[id].Visible = true end
if Buttons[id] then
Anim(Buttons[id], {BackgroundColor3 = C.Accent, BackgroundTransparency = 0.15}, 0.2)
local txt = Buttons[id]:FindFirstChildWhichIsA("TextLabel")
if txt then Anim(txt, {TextColor3 = C.Text}, 0.2) end
end
ActiveTab = id
end
for _, tab in ipairs(TabList) do
local btn = Instance.new("TextButton")
btn.Name = tab.ID
btn.Size = UDim2.new(1, 0, 0, 34)
btn.BackgroundColor3 = C.Btn
btn.BackgroundTransparency = 0.5
btn.Text = ""
btn.BorderSizePixel = 0
btn.LayoutOrder = tab.Order
btn.Parent = Sidebar
MakeCorner(btn, 7)
local label = Instance.new("TextLabel")
label.Size = UDim2.new(1, -12, 1, 0)
label.Position = UDim2.new(0, 6, 0, 0)
label.BackgroundTransparency = 1
label.Text = tab.Name
label.TextColor3 = C.TextDim
label.TextSize = 13
label.Font = Enum.Font.GothamSemibold
label.TextXAlignment = Enum.TextXAlignment.Left
label.Parent = btn
btn.MouseEnter:Connect(function()
if ActiveTab ~= tab.ID then
Anim(btn, {BackgroundTransparency = 0.3}, 0.15)
end
end)
btn.MouseLeave:Connect(function()
if ActiveTab ~= tab.ID then
Anim(btn, {BackgroundTransparency = 0.5}, 0.15)
end
end)
btn.MouseButton1Click:Connect(function()
SwitchTab(tab.ID)
end)
Buttons[tab.ID] = btn
Pages[tab.ID] = MakePage(tab.ID)
end
-- =============================================
-- UI ELEMENT BUILDERS
-- =============================================
local function Section(parent, title, order)
local sec = Instance.new("Frame")
sec.Size = UDim2.new(1, 0, 0, 0)
sec.AutomaticSize = Enum.AutomaticSize.Y
sec.BackgroundColor3 = C.Card
sec.BorderSizePixel = 0
sec.LayoutOrder = order or 1
sec.Parent = parent
MakeCorner(sec, 8)
MakeStroke(sec, C.Line)
local lay = Instance.new("UIListLayout")
lay.SortOrder = Enum.SortOrder.LayoutOrder
lay.Padding = UDim.new(0, 5)
lay.Parent = sec
MakePad(sec, 10, 10, 12, 12)
local t = Instance.new("TextLabel")
t.Size = UDim2.new(1, 0, 0, 22)
t.BackgroundTransparency = 1
t.Text = title or "Section"
t.TextColor3 = C.Accent
t.TextSize = 14
t.Font = Enum.Font.GothamBold
t.TextXAlignment = Enum.TextXAlignment.Left
t.LayoutOrder = 0
t.Parent = sec
local div = Instance.new("Frame")
div.Size = UDim2.new(1, 0, 0, 1)
div.BackgroundColor3 = C.Line
div.BorderSizePixel = 0
div.LayoutOrder = 1
div.Parent = sec
return sec
end
local function Button(parent, text, desc, callback, order)
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, 0, 0, 36)
btn.BackgroundColor3 = C.Btn
btn.Text = ""
btn.BorderSizePixel = 0
btn.LayoutOrder = order or 10
btn.Parent = parent
btn.ClipsDescendants = true
MakeCorner(btn, 6)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0.6, 0, 1, 0)
lbl.Position = UDim2.new(0, 10, 0, 0)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.TextColor3 = C.Text
lbl.TextSize = 13
lbl.Font = Enum.Font.GothamSemibold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = btn
if desc then
local d = Instance.new("TextLabel")
d.Size = UDim2.new(0.38, 0, 1, 0)
d.Position = UDim2.new(0.6, 0, 0, 0)
d.BackgroundTransparency = 1
d.Text = desc
d.TextColor3 = C.TextDark
d.TextSize = 11
d.Font = Enum.Font.Gotham
d.TextXAlignment = Enum.TextXAlignment.Right
d.Parent = btn
end
btn.MouseEnter:Connect(function() Anim(btn, {BackgroundColor3 = C.BtnHover}, 0.15) end)
btn.MouseLeave:Connect(function() Anim(btn, {BackgroundColor3 = C.Btn}, 0.15) end)
btn.MouseButton1Click:Connect(function()
local ripple = Instance.new("Frame")
ripple.Size = UDim2.new(0, 0, 0, 0)
ripple.Position = UDim2.new(0.5, 0, 0.5, 0)
ripple.AnchorPoint = Vector2.new(0.5, 0.5)
ripple.BackgroundColor3 = Color3.new(1, 1, 1)
ripple.BackgroundTransparency = 0.75
ripple.BorderSizePixel = 0
ripple.Parent = btn
MakeCorner(ripple, 100)
Anim(ripple, {Size = UDim2.new(2, 0, 2, 0), BackgroundTransparency = 1}, 0.4)
task.delay(0.45, function() pcall(function() ripple:Destroy() end) end)
if callback then callback() end
end)
return btn
end
local function Toggle(parent, text, default, callback, order)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, 0, 0, 38)
frame.BackgroundColor3 = C.Btn
frame.BorderSizePixel = 0
frame.LayoutOrder = order or 10
frame.Parent = parent
MakeCorner(frame, 6)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, -60, 1, 0)
lbl.Position = UDim2.new(0, 10, 0, 0)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.TextColor3 = C.Text
lbl.TextSize = 13
lbl.Font = Enum.Font.GothamSemibold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = frame
local toggled = default or false
local bg = Instance.new("Frame")
bg.Size = UDim2.new(0, 42, 0, 22)
bg.Position = UDim2.new(1, -52, 0.5, -11)
bg.BackgroundColor3 = toggled and C.Accent or Color3.fromRGB(55, 55, 75)
bg.BorderSizePixel = 0
bg.Parent = frame
MakeCorner(bg, 11)
local circle = Instance.new("Frame")
circle.Size = UDim2.new(0, 16, 0, 16)
circle.Position = toggled and UDim2.new(1, -19, 0.5, -8) or UDim2.new(0, 3, 0.5, -8)
circle.BackgroundColor3 = Color3.new(1, 1, 1)
circle.BorderSizePixel = 0
circle.Parent = bg
MakeCorner(circle, 8)
local clickBtn = Instance.new("TextButton")
clickBtn.Size = UDim2.new(1, 0, 1, 0)
clickBtn.BackgroundTransparency = 1
clickBtn.Text = ""
clickBtn.Parent = frame
clickBtn.MouseButton1Click:Connect(function()
toggled = not toggled
Anim(bg, {BackgroundColor3 = toggled and C.Accent or Color3.fromRGB(55, 55, 75)}, 0.2)
Anim(circle, {Position = toggled and UDim2.new(1, -19, 0.5, -8) or UDim2.new(0, 3, 0.5, -8)}, 0.2)
if callback then callback(toggled) end
end)
return frame
end
local function Slider(parent, text, min, max, default, callback, order)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, 0, 0, 52)
frame.BackgroundColor3 = C.Btn
frame.BorderSizePixel = 0
frame.LayoutOrder = order or 10
frame.Parent = parent
MakeCorner(frame, 6)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, -55, 0, 22)
lbl.Position = UDim2.new(0, 10, 0, 4)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.TextColor3 = C.Text
lbl.TextSize = 13
lbl.Font = Enum.Font.GothamSemibold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = frame
local val = Instance.new("TextLabel")
val.Size = UDim2.new(0, 45, 0, 22)
val.Position = UDim2.new(1, -55, 0, 4)
val.BackgroundTransparency = 1
val.Text = tostring(default or min)
val.TextColor3 = C.Accent
val.TextSize = 13
val.Font = Enum.Font.GothamBold
val.TextXAlignment = Enum.TextXAlignment.Right
val.Parent = frame
local track = Instance.new("Frame")
track.Size = UDim2.new(1, -24, 0, 5)
track.Position = UDim2.new(0, 12, 0, 36)
track.BackgroundColor3 = Color3.fromRGB(45, 45, 60)
track.BorderSizePixel = 0
track.Parent = frame
MakeCorner(track, 3)
local pct = math.clamp(((default or min) - min) / (max - min), 0, 1)
local fill = Instance.new("Frame")
fill.Size = UDim2.new(pct, 0, 1, 0)
fill.BackgroundColor3 = C.Accent
fill.BorderSizePixel = 0
fill.Parent = track
MakeCorner(fill, 3)
local hitbox = Instance.new("TextButton")
hitbox.Size = UDim2.new(1, 0, 0, 22)
hitbox.Position = UDim2.new(0, 0, 0, 28)
hitbox.BackgroundTransparency = 1
hitbox.Text = ""
hitbox.Parent = frame
local sliding = false
hitbox.MouseButton1Down:Connect(function() sliding = true end)
UIS.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 then sliding = false end
end)
UIS.InputChanged:Connect(function(input)
if sliding and input.UserInputType == Enum.UserInputType.MouseMovement then
local p = math.clamp((input.Position.X - track.AbsolutePosition.X) / track.AbsoluteSize.X, 0, 1)
local v = math.floor(min + (max - min) * p)
fill.Size = UDim2.new(p, 0, 1, 0)
val.Text = tostring(v)
if callback then callback(v) end
end
end)
return frame
end
local function Textbox(parent, text, placeholder, callback, order)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(1, 0, 0, 38)
frame.BackgroundColor3 = C.Btn
frame.BorderSizePixel = 0
frame.LayoutOrder = order or 10
frame.Parent = parent
MakeCorner(frame, 6)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0.4, 0, 1, 0)
lbl.Position = UDim2.new(0, 10, 0, 0)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.TextColor3 = C.Text
lbl.TextSize = 13
lbl.Font = Enum.Font.GothamSemibold
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = frame
local box = Instance.new("TextBox")
box.Size = UDim2.new(0.55, -10, 0, 26)
box.Position = UDim2.new(0.45, 0, 0.5, -13)
box.BackgroundColor3 = C.BG
box.Text = ""
box.PlaceholderText = placeholder or "Type here..."
box.PlaceholderColor3 = C.TextDark
box.TextColor3 = C.Text
box.TextSize = 12
box.Font = Enum.Font.Gotham
box.BorderSizePixel = 0
box.ClearTextOnFocus = false
box.Parent = frame
MakeCorner(box, 5)
MakePad(box, 0, 0, 6, 6)
box.FocusLost:Connect(function(enter)
if enter and callback then callback(box.Text) end
end)
return box
end
local function Label(parent, text, order)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(1, 0, 0, 18)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.TextColor3 = C.TextDim
lbl.TextSize = 12
lbl.Font = Enum.Font.Gotham
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.TextWrapped = true
lbl.AutomaticSize = Enum.AutomaticSize.Y
lbl.LayoutOrder = order or 10
lbl.Parent = parent
return lbl
end
-- =============================================
-- HOME TAB
-- =============================================
do
local s1 = Section(Pages.Home, "đģ Welcome to Cub's Hub", 1)
Label(s1, "Your all-in-one universal Roblox script hub!", 2)
Label(s1, "Browse the tabs on the left to find tools and scripts.", 3)
Label(s1, "Press Right Shift to toggle the UI on/off.", 4)
local s2 = Section(Pages.Home, "đ Session Info", 2)
local gameName = "Unknown"
pcall(function()
gameName = game:GetService("MarketplaceService"):GetProductInfo(game.PlaceId).Name
end)
Label(s2, "Game: " .. gameName, 2)
Label(s2, "Place ID: " .. tostring(game.PlaceId), 3)
Label(s2, "Player: " .. LP.Name .. " (ID: " .. LP.UserId .. ")", 4)
Label(s2, "Server: " .. #Players:GetPlayers() .. "/" .. Players.MaxPlayers .. " players", 5)
local s3 = Section(Pages.Home, "đ Credits", 3)
Label(s3, "Developer: Cub", 2)
Label(s3, "Version: 2.1 | Optimized for Solara", 3)
Label(s3, "Thank you for using Cub's Hub! đģâ¤ī¸", 4)
end
-- =============================================
-- COMBAT TAB
-- =============================================
do
local s1 = Section(Pages.Combat, "âī¸ Combat Tools", 1)
Toggle(s1, "Hit Expansion", false, function(state)
Notify("Combat", "Hit Expansion " .. (state and "ON" or "OFF"), state and "success" or "warning")
for _, p in pairs(Players:GetPlayers()) do
if p ~= LP and p.Character then
local hrp = p.Character:FindFirstChild("HumanoidRootPart")
if hrp then
hrp.Size = state and Vector3.new(15, 15, 15) or Vector3.new(2, 2, 1)
hrp.Transparency = state and 0.6 or 1
end
end
end
end, 2)
Toggle(s1, "Auto Parry", false, function(state)
getgenv().AutoParry = state
Notify("Combat", "Auto Parry " .. (state and "ON" or "OFF"), state and "success" or "warning")
end, 3)
Toggle(s1, "Kill Aura", false, function(state)
getgenv().KillAura = state
Notify("Combat", "Kill Aura " .. (state and "ON" or "OFF"), state and "success" or "warning")
if state then
task.spawn(function()
while getgenv().KillAura and task.wait(0.1) do
pcall(function()
local char = LP.Character
if not char or not char:FindFirstChild("HumanoidRootPart") then return end
for _, p in pairs(Players:GetPlayers()) do
if p ~= LP and p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
local dist = (char.HumanoidRootPart.Position - p.Character.HumanoidRootPart.Position).Magnitude
if dist < (getgenv().AttackRange or 15) then
-- game specific attack logic
end
end
end
end)
end
end)
end
end, 4)
Slider(s1, "Attack Range", 5, 50, 15, function(v)
getgenv().AttackRange = v
end, 5)
Slider(s1, "Attack Speed", 1, 10, 5, function(v)
getgenv().AttackSpeed = v
end, 6)
end
-- =============================================
-- WORLD TAB
-- =============================================
do
local s1 = Section(Pages.World, "đ World Scripts", 1)
Button(s1, "ESP - All Players", "Highlight everyone", function()
for _, p in pairs(Players:GetPlayers()) do
if p ~= LP and p.Character then
pcall(function()
local old = p.Character:FindFirstChild("CubESP")
if old then old:Destroy() end
local h = Instance.new("Highlight")
h.Name = "CubESP"
h.FillColor = C.Accent
h.FillTransparency = 0.5
h.OutlineColor = Color3.new(1, 1, 1)
h.Parent = p.Character
end)
end
end
Notify("World", "ESP enabled!", "success")
end, 2)
Button(s1, "Remove ESP", "Remove highlights", function()
for _, p in pairs(Players:GetPlayers()) do
pcall(function()
if p.Character then
local h = p.Character:FindFirstChild("CubESP")
if h then h:Destroy() end
end
end)
end
Notify("World", "ESP removed!", "warning")
end, 3)
Toggle(s1, "Fullbright", false, function(state)
if state then
Lighting.Brightness = 2
Lighting.ClockTime = 14
Lighting.FogEnd = 100000
Lighting.GlobalShadows = false
else
Lighting.Brightness = 1
Lighting.ClockTime = 14
Lighting.FogEnd = 1000
Lighting.GlobalShadows = true
end
Notify("World", "Fullbright " .. (state and "ON" or "OFF"), state and "success" or "warning")
end, 4)
Toggle(s1, "No Fog", false, function(state)
Lighting.FogEnd = state and 999999 or 1000
Lighting.FogStart = state and 999999 or 0
Notify("World", "No Fog " .. (state and "ON" or "OFF"), state and "success" or "warning")
end, 5)
local s2 = Section(Pages.World, "đŽ Teleportation", 2)
Textbox(s2, "Teleport To", "Player name...", function(txt)
for _, p in pairs(Players:GetPlayers()) do
if string.lower(p.Name):find(string.lower(txt)) then
pcall(function()
LP.Character.HumanoidRootPart.CFrame = p.Character.HumanoidRootPart.CFrame * CFrame.new(0, 0, 3)
end)
Notify("Teleport", "Teleported to " .. p.Name, "success")
return
end
end
Notify("Teleport", "Player not found!", "error")
end, 2)
Button(s2, "Infinite Yield", "Load IY admin", function()
Notify("World", "Loading Infinite Yield...", "warning")
pcall(function()
loadstring(game:HttpGet("https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source"))()
end)
end, 3)
end
-- =============================================
-- PLAYER TAB (FULL MODIFIERS)
-- =============================================
do
-- MOVEMENT
local s1 = Section(Pages.Player, "đ Movement", 1)
Slider(s1, "Walk Speed", 16, 500, 16, function(v)
pcall(function() LP.Character.Humanoid.WalkSpeed = v end)
end, 2)
Slider(s1, "Jump Power", 50, 500, 50, function(v)
pcall(function() LP.Character.Humanoid.JumpPower = v end)
end, 3)
Toggle(s1, "Infinite Jump", false, function(state)
getgenv().InfJump = state
Notify("Player", "Infinite Jump " .. (state and "ON" or "OFF"), state and "success" or "warning")
end, 4)
UIS.JumpRequest:Connect(function()
if getgenv().InfJump then
pcall(function()
LP.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end)
end
end)
Toggle(s1, "Noclip", false, function(state)
getgenv().Noclip = state
Notify("Player", "Noclip " .. (state and "ON" or "OFF"), state and "success" or "warning")
end, 5)
RunService.Stepped:Connect(function()
if getgenv().Noclip and LP.Character then
pcall(function()
for _, part in pairs(LP.Character:GetDescendants()) do
if part:IsA("BasePart") then
part.CanCollide = false
end
end
end)
end
end)
Toggle(s1, "Fly", false, function(state)
getgenv().Flying = state
Notify("Player", "Fly " .. (state and "ON" or "OFF"), state and "success" or "warning")
if state then
task.spawn(function()
local char = LP.Character
if not char then return end
local hrp = char:FindFirstChild("HumanoidRootPart")
local hum = char:FindFirstChildOfClass("Humanoid")
if not hrp or not hum then return end
local bv = Instance.new("BodyVelocity")
bv.Name = "CubFly"
bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
bv.Velocity = Vector3.new(0, 0, 0)
bv.Parent = hrp
local bg = Instance.new("BodyGyro")
bg.Name = "CubGyro"
bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
bg.D = 200
bg.P = 10000
bg.Parent = hrp
while getgenv().Flying and char and char.Parent do
local speed = getgenv().FlySpeed or 80
local cam = workspace.CurrentCamera
local dir = Vector3.new(0, 0, 0)
if UIS:IsKeyDown(Enum.KeyCode.W) then dir = dir + cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then dir = dir - cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then dir = dir - cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then dir = dir + cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.Space) then dir = dir + Vector3.new(0, 1, 0) end
if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then dir = dir - Vector3.new(0, 1, 0) end
if dir.Magnitude > 0 then dir = dir.Unit * speed end
bv.Velocity = dir
bg.CFrame = cam.CFrame
hum.PlatformStand = true
RunService.Heartbeat:Wait()
end
pcall(function()
hum.PlatformStand = false
if hrp:FindFirstChild("CubFly") then hrp.CubFly:Destroy() end
if hrp:FindFirstChild("CubGyro") then hrp.CubGyro:Destroy() end
end)
end)
else
pcall(function()
local hrp = LP.Character:FindFirstChild("HumanoidRootPart")
if hrp then
if hrp:FindFirstChild("CubFly") then hrp.CubFly:Destroy() end
if hrp:FindFirstChild("CubGyro") then hrp.CubGyro:Destroy() end
end
LP.Character:FindFirstChildOfClass("Humanoid").PlatformStand = false
end)
end
end, 6)
Slider(s1, "Fly Speed", 20, 500, 80, function(v)
getgenv().FlySpeed = v
end, 7)
Toggle(s1, "Anti Fall Damage", false, function(state)
getgenv().AntiFall = state
Notify("Player", "Anti Fall Damage " .. (state and "ON" or "OFF"), state and "success" or "warning")
if state then
task.spawn(function()
while getgenv().AntiFall and task.wait(0.1) do
pcall(function()
local hum = LP.Character:FindFirstChildOfClass("Humanoid")
if hum then
hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
hum:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
end
end)
end
end)
end
end, 8)
-- HEALTH & STATS
local s2 = Section(Pages.Player, "â¤ī¸ Health & Stats", 2)
Toggle(s2, "God Mode (Client)", false, function(state)
getgenv().GodMode = state
Notify("Player", "God Mode " .. (state and "ON" or "OFF"), state and "success" or "warning")
if state then
task.spawn(function()
while getgenv().GodMode and task.wait(0.1) do
pcall(function()
local hum = LP.Character:FindFirstChildOfClass("Humanoid")
if hum then
hum.MaxHealth = math.huge
hum.Health = math.huge
end
end)
end
end)
else
pcall(function()
LP.Character:FindFirstChildOfClass("Humanoid").MaxHealth = 100
LP.Character:FindFirstChildOfClass("Humanoid").Health = 100
end)
end
end, 2)
Toggle(s2, "Auto Heal", false, function(state)
getgenv().AutoHeal = state
Notify("Player", "Auto Heal " .. (state and "ON" or "OFF"), state and "success" or "warning")
if state then
task.spawn(function()
while getgenv().AutoHeal and task.wait(0.5) do
pcall(function()
local hum = LP.Character:FindFirstChildOfClass("Humanoid")
if hum and hum.Health < hum.MaxHealth then
hum.Health = hum.MaxHealth
end
end)
end
end)
end
end, 3)
Slider(s2, "Set Max Health", 100, 10000, 100, function(v)
pcall(function()
local hum = LP.Character:FindFirstChildOfClass("Humanoid")
hum.MaxHealth = v
hum.Health = v
end)
end, 4)
Toggle(s2, "No Ragdoll", false, function(state)
getgenv().NoRagdoll = state
Notify("Player", "No Ragdoll " .. (state and "ON" or "OFF"), state and "success" or "warning")
if state then
task.spawn(function()
while getgenv().NoRagdoll and task.wait(0.1) do
pcall(function()
local hum = LP.Character:FindFirstChildOfClass("Humanoid")
if hum then
hum:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
end
end)
end
end)
end
end, 5)
-- SIZE & SCALE
local s3 = Section(Pages.Player, "đ Size & Scale", 3)
Slider(s3, "Head Size", 1, 10, 1, function(v)
pcall(function()
local head = LP.Character:FindFirstChild("Head")
if head then
head.Size = Vector3.new(v, v, v)
local mesh = head:FindFirstChildOfClass("SpecialMesh")
if mesh then mesh.Scale = Vector3.new(v * 0.8, v * 0.8, v * 0.8) end
end
end)
end, 2)
Slider(s3, "Hip Height", 0, 50, 2, function(v)
pcall(function()
LP.Character:FindFirstChildOfClass("Humanoid").HipHeight = v
end)
end, 3)
Button(s3, "Long Arms", "Stretch arms", function()
pcall(function()
local char = LP.Character
local la = char:FindFirstChild("Left Arm") or char:FindFirstChild("LeftUpperArm")
local ra = char:FindFirstChild("Right Arm") or char:FindFirstChild("RightUpperArm")
if la then la.Size = Vector3.new(1, 4, 1) end
if ra then ra.Size = Vector3.new(1, 4, 1) end
end)
Notify("Player", "Long arms applied!", "success")
end, 4)
Button(s3, "Long Legs", "Stretch legs", function()
pcall(function()
local char = LP.Character
local ll = char:FindFirstChild("Left Leg") or char:FindFirstChild("LeftUpperLeg")
local rl = char:FindFirstChild("Right Leg") or char:FindFirstChild("RightUpperLeg")
if ll then ll.Size = Vector3.new(1, 4, 1) end
if rl then rl.Size = Vector3.new(1, 4, 1) end
end)
Notify("Player", "Long legs applied!", "success")
end, 5)
Button(s3, "Reset Size", "Normal size", function()
pcall(function()
LP.Character:FindFirstChildOfClass("Humanoid").HipHeight = 2
local head = LP.Character:FindFirstChild("Head")
if head then head.Size = Vector3.new(2, 1, 1) end
local la = LP.Character:FindFirstChild("Left Arm") or LP.Character:FindFirstChild("LeftUpperArm")
local ra = LP.Character:FindFirstChild("Right Arm") or LP.Character:FindFirstChild("RightUpperArm")
local ll = LP.Character:FindFirstChild("Left Leg") or LP.Character:FindFirstChild("LeftUpperLeg")
local rl = LP.Character:FindFirstChild("Right Leg") or LP.Character:FindFirstChild("RightUpperLeg")
if la then la.Size = Vector3.new(1, 2, 1) end
if ra then ra.Size = Vector3.new(1, 2, 1) end
if ll then ll.Size = Vector3.new(1, 2, 1) end
if rl then rl.Size = Vector3.new(1, 2, 1) end
end)
Notify("Player", "Size reset!", "success")
end, 6)
-- APPEARANCE
local s4 = Section(Pages.Player, "đ¨ Appearance", 4)
Button(s4, "Invisible (Client)", "Hide yourself", function()
pcall(function()
for _, p in pairs(LP.Character:GetDescendants()) do
if p:IsA("BasePart") then p.Transparency = 1
elseif p:IsA("Decal") then p.Transparency = 1 end
end
end)
Notify("Player", "Invisible!", "success")
end, 2)
Button(s4, "Visible", "Show yourself", function()
pcall(function()
for _, p in pairs(LP.Character:GetDescendants()) do
if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then p.Transparency = 0
elseif p:IsA("Decal") then p.Transparency = 0 end
end
end)
Notify("Player", "Visible!", "success")
end, 3)
Button(s4, "Glass Body", "Semi transparent", function()
pcall(function()
for _, p in pairs(LP.Character:GetDescendants()) do
if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then
p.Transparency = 0.6
p.Material = Enum.Material.Glass
p.Reflectance = 0.3
end
end
end)
Notify("Player", "Glass body!", "success")
end, 4)
Button(s4, "Neon Body", "Glow effect", function()
pcall(function()
for _, p in pairs(LP.Character:GetDescendants()) do
if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then
p.Material = Enum.Material.Neon
p.Color = C.Accent
end
end
end)
Notify("Player", "Neon body!", "success")
end, 5)
Button(s4, "Forcefield Body", "Force field look", function()
pcall(function()
for _, p in pairs(LP.Character:GetDescendants()) do
if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then
p.Material = Enum.Material.ForceField
end
end
end)
Notify("Player", "Forcefield body!", "success")
end, 6)
Button(s4, "Rainbow Body", "Cycling colors", function()
getgenv().RainbowBody = true
Notify("Player", "Rainbow ON! Click Stop Rainbow to stop", "success")
task.spawn(function()
local hue = 0
while getgenv().RainbowBody and task.wait(0.05) do
pcall(function()
hue = (hue + 0.01) % 1
local color = Color3.fromHSV(hue, 1, 1)
for _, p in pairs(LP.Character:GetDescendants()) do
if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then
p.Color = color
end
end
end)
end
end)
end, 7)
Button(s4, "Stop Rainbow", "Stop effect", function()
getgenv().RainbowBody = false
Notify("Player", "Rainbow stopped!", "warning")
end, 8)
Button(s4, "Reset Appearance", "Back to normal", function()
getgenv().RainbowBody = false
pcall(function()
for _, p in pairs(LP.Character:GetDescendants()) do
if p:IsA("BasePart") and p.Name ~= "HumanoidRootPart" then
p.Transparency = 0
p.Material = Enum.Material.SmoothPlastic
p.Reflectance = 0
end
end
end)
Notify("Player", "Appearance reset!", "success")
end, 9)
-- CAMERA
local s5 = Section(Pages.Player, "đˇ Camera", 5)
Slider(s5, "FOV", 30, 120, 70, function(v)
pcall(function() workspace.CurrentCamera.FieldOfView = v end)
end, 2)
Slider(s5, "Zoom Distance", 0, 200, 50, function(v)
pcall(function() LP.CameraMaxZoomDistance = v end)
end, 3)
Toggle(s5, "First Person Lock", false, function(state)
pcall(function()
if state then
LP.CameraMaxZoomDistance = 0.5
LP.CameraMinZoomDistance = 0.5
else
LP.CameraMaxZoomDistance = 128
LP.CameraMinZoomDistance = 0.5
end
end)
Notify("Player", "First Person " .. (state and "ON" or "OFF"), state and "success" or "warning")
end, 4)
Toggle(s5, "Freecam", false, function(state)
getgenv().Freecam = state
Notify("Player", "Freecam " .. (state and "ON" or "OFF"), state and "success" or "warning")
if state then
task.spawn(function()
local cam = workspace.CurrentCamera
cam.CameraType = Enum.CameraType.Scriptable
while getgenv().Freecam and task.wait() do
pcall(function()
local moveDir = Vector3.new(0, 0, 0)
local speed = 1
if UIS:IsKeyDown(Enum.KeyCode.W) then moveDir = moveDir + cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then moveDir = moveDir - cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then moveDir = moveDir - cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then moveDir = moveDir + cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.Space) then moveDir = moveDir + Vector3.new(0, 1, 0) end
if UIS:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir = moveDir - Vector3.new(0, 1, 0) end
if UIS:IsKeyDown(Enum.KeyCode.LeftControl) then speed = 3 end
cam.CFrame = cam.CFrame + moveDir * speed
end)
end
pcall(function()
cam.CameraType = Enum.CameraType.Custom
cam.CameraSubject = LP.Character:FindFirstChildOfClass("Humanoid")
end)
end)
else
pcall(function()
workspace.CurrentCamera.CameraType = Enum.CameraType.Custom
workspace.CurrentCamera.CameraSubject = LP.Character:FindFirstChildOfClass("Humanoid")
end)
end
end, 5)
-- POSITION & SPAWN
local s6 = Section(Pages.Player, "đ Position & Spawn", 6)
Button(s6, "Save Position", "Save current spot", function()
pcall(function()
getgenv().SavedPos = LP.Character.HumanoidRootPart.CFrame
end)
Notify("Player", "Position saved!", "success")
end, 2)
Button(s6, "Load Position", "Go to saved spot", function()
if getgenv().SavedPos then
pcall(function()
LP.Character.HumanoidRootPart.CFrame = getgenv().SavedPos
end)
Notify("Player", "Teleported to saved position!", "success")
else
Notify("Player", "No position saved!", "error")
end
end, 3)
Button(s6, "Go To Sky", "Teleport up high", function()
pcall(function()
LP.Character.HumanoidRootPart.CFrame = LP.Character.HumanoidRootPart.CFrame + Vector3.new(0, 1000, 0)
end)
Notify("Player", "Sent to sky!", "success")
end, 4)
Button(s6, "Go To Ground", "Teleport to origin", function()
pcall(function()
LP.Character.HumanoidRootPart.CFrame = CFrame.new(0, 50, 0)
end)
Notify("Player", "Teleported to ground!", "success")
end, 5)
Textbox(s6, "TP to Coords", "X, Y, Z", function(txt)
pcall(function()
local coords = {}
for num in string.gmatch(txt, "%-?%d+%.?%d*") do
table.insert(coords, tonumber(num))
end
if #coords >= 3 then
LP.Character.HumanoidRootPart.CFrame = CFrame.new(coords[1], coords[2], coords[3])
Notify("Player", "Teleported to " .. txt, "success")
else
Notify("Player", "Use format: X, Y, Z", "error")
end
end)
end, 6)
-- ACTIONS
local s7 = Section(Pages.Player, "đŦ Actions", 7)
Button(s7, "Spin Character", "Start spinning", function()
getgenv().Spinning = true
Notify("Player", "Spinning!", "success")
task.spawn(function()
pcall(function()
local hrp = LP.Character:FindFirstChild("HumanoidRootPart")
local av = Instance.new("BodyAngularVelocity")
av.Name = "CubSpin"
av.AngularVelocity = Vector3.new(0, 30, 0)
av.MaxTorque = Vector3.new(0, math.huge, 0)
av.Parent = hrp
while getgenv().Spinning and task.wait(0.1) do end
if hrp:FindFirstChild("CubSpin") then hrp.CubSpin:Destroy() end
end)
end)
end, 2)
Button(s7, "Stop Spin", "Stop spinning", function()
getgenv().Spinning = false
pcall(function()
local hrp = LP.Character:FindFirstChild("HumanoidRootPart")
if hrp and hrp:FindFirstChild("CubSpin") then hrp.CubSpin:Destroy() end
end)
Notify("Player", "Stopped!", "warning")
end, 3)
Button(s7, "Sit", "Force sit", function()
pcall(function() LP.Character:FindFirstChildOfClass("Humanoid").Sit = true end)
Notify("Player", "Sitting!", "success")
end, 4)
Button(s7, "Super Jump", "Jump really high", function()
pcall(function()
LP.Character.HumanoidRootPart.Velocity = Vector3.new(0, 200, 0)
end)
Notify("Player", "Super jump!", "success")
end, 5)
Button(s7, "Fling Self", "Launch yourself", function()
pcall(function()
local hrp = LP.Character.HumanoidRootPart
hrp.Velocity = Vector3.new(math.random(-300, 300), 300, math.random(-300, 300))
end)
Notify("Player", "Flung!", "warning")
end, 6)
Button(s7, "Reset Character", "Respawn", function()
pcall(function()
LP.Character:FindFirstChildOfClass("Humanoid").Health = 0
end)
Notify("Player", "Reset!", "warning")
end, 7)
end
-- =============================================
-- MISC TAB
-- =============================================
do
local s1 = Section(Pages.Misc, "đ§ Miscellaneous", 1)
Button(s1, "Anti AFK", "Prevent idle kick", function()
pcall(function()
local vu = game:GetService("VirtualUser")
LP.Idled:Connect(function()
vu:CaptureController()
vu:ClickButton2(Vector2.new())
end)
end)
Notify("Misc", "Anti-AFK enabled!", "success")
end, 2)
Button(s1, "Rejoin Server", "Rejoin this server", function()
Notify("Misc", "Rejoining...", "warning")
task.delay(1, function()
pcall(function()
game:GetService("TeleportService"):Teleport(game.PlaceId, LP)
end)
end)
end, 3)
Button(s1, "Server Hop", "Join different server", function()
Notify("Misc", "Finding server...", "warning")
pcall(function()
local url = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100"
local data = HttpService:JSONDecode(game:HttpGet(url))
for _, s in pairs(data.data) do
if s.playing < s.maxPlayers and s.id ~= game.JobId then
game:GetService("TeleportService"):TeleportToPlaceInstance(game.PlaceId, s.id, LP)
break
end
end
end)
end, 4)
Button(s1, "Copy Game Link", "Copy place URL", function()
pcall(function()
if setclipboard then
setclipboard("https://www.roblox.com/games/" .. game.PlaceId)
Notify("Misc", "Link copied!", "success")
else
Notify("Misc", "Not supported!", "error")
end
end)
end, 5)
Toggle(s1, "FPS Unlocker", false, function(state)
pcall(function()
if setfpscap then
setfpscap(state and 9999 or 60)
Notify("Misc", "FPS " .. (state and "Uncapped" or "Capped"), state and "success" or "warning")
else
Notify("Misc", "Not supported!", "error")
end
end)
end, 6)
local s2 = Section(Pages.Misc, "đ Script Executor", 2)
local execBox = Instance.new("TextBox")
execBox.Size = UDim2.new(1, 0, 0, 100)
execBox.BackgroundColor3 = C.BG
execBox.Text = ""
execBox.PlaceholderText = "-- Paste your script here..."
execBox.PlaceholderColor3 = C.TextDark
execBox.TextColor3 = C.Text
execBox.TextSize = 12
execBox.Font = Enum.Font.Code
execBox.TextXAlignment = Enum.TextXAlignment.Left
execBox.TextYAlignment = Enum.TextYAlignment.Top
execBox.ClearTextOnFocus = false
execBox.MultiLine = true
execBox.TextWrapped = true
execBox.BorderSizePixel = 0
execBox.LayoutOrder = 2
execBox.Parent = s2
MakeCorner(execBox, 6)
MakePad(execBox, 8, 8, 8, 8)
MakeStroke(execBox, C.Line)
Button(s2, "âļ Execute", "Run script", function()
if execBox.Text == "" then
Notify("Executor", "Nothing to execute!", "warning")
return
end
local ok, err = pcall(function()
loadstring(execBox.Text)()
end)
if ok then
Notify("Executor", "Executed!", "success")
else
Notify("Executor", "Error: " .. tostring(err), "error")
end
end, 3)
Button(s2, "đī¸ Clear", "Clear box", function()
execBox.Text = ""
Notify("Executor", "Cleared!", "success")
end, 4)
end
-- =============================================
-- SETTINGS TAB
-- =============================================
do
local s1 = Section(Pages.Settings, "âī¸ UI Settings", 1)
Toggle(s1, "Keybind (Right Shift)", true, function(state)
getgenv().CubKeybind = state
end, 2)
Toggle(s1, "Notifications", true, function(state)
getgenv().CubNotifs = state
end, 3)
local s2 = Section(Pages.Settings, "âšī¸ Hub Information", 2)
Label(s2, "Name: Cub's Hub", 2)
Label(s2, "Version: 2.1", 3)
Label(s2, "Author: Cub", 4)
Label(s2, "Executor: Solara", 5)
Label(s2, "Status: Active â
", 6)
Button(s2, "đī¸ Destroy Hub", "Remove completely", function()
Notify("Goodbye!", "Cub's Hub destroyed! đģ", "warning")
getgenv().InfJump = false
getgenv().Noclip = false
getgenv().Flying = false
getgenv().GodMode = false
getgenv().AutoHeal = false
getgenv().RainbowBody = false
getgenv().Freecam = false
getgenv().Spinning = false
getgenv().KillAura = false
task.delay(2, function()
pcall(function() Gui:Destroy() end)
end)
end, 7)
end
-- =============================================
-- KEYBIND (Right Shift)
-- =============================================
UIS.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == Enum.KeyCode.RightShift and getgenv().CubKeybind then
Gui.Enabled = not Gui.Enabled
end
end)
-- =============================================
-- STARTUP ANIMATION
-- =============================================
Main.Size = UDim2.new(0, 0, 0, 0)
Main.Position = UDim2.new(0.5, 0, 0.5, 0)
task.wait(0.2)
Anim(Main, {
Size = UDim2.new(0, 680, 0, 440),
Position = UDim2.new(0.5, -340, 0.5, -220)
}, 0.45)
SwitchTab("Home")
task.delay(0.8, function()
Notify("Cub's Hub", "Welcome, " .. LP.Name .. "!", "success")
end)
task.delay(2, function()
Notify("Tip", "Press Right Shift to toggle the hub", "info")
end)
print("đģ Cub's Hub v2.1 | Loaded | Solara")No comments yet for this script.


![Sir Meme Hub | [16 GAMES] [$14.99 LIFETIME] | FARM/AIM/ESP](https://scriptblox.com/images/sb/-1-1791044877945.webp)
