-- ============================================= -- 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")