local Players = game:GetService("Players") local RunService = game:GetService("RunService") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local Workspace = game:GetService("Workspace") local TeleportService = game:GetService("TeleportService") local VirtualUser = game:GetService("VirtualUser") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local Camera = Workspace.CurrentCamera local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait() local Humanoid = Character:WaitForChild("Humanoid") local RootPart = Character:WaitForChild("HumanoidRootPart") local Theme = { Sky = Color3.fromRGB(120, 185, 240), SkyDeep = Color3.fromRGB(70, 140, 210), Cloud = Color3.fromRGB(255, 255, 255), Panel = Color3.fromRGB(255, 255, 255), Stroke = Color3.fromRGB(190, 222, 245), Toggle = Color3.fromRGB(222, 238, 250), ToggleOn = Color3.fromRGB(96, 178, 240), Close = Color3.fromRGB(240, 140, 140), Text = Color3.fromRGB(35, 55, 80), SubText = Color3.fromRGB(95, 120, 150), Accent = Color3.fromRGB(96, 178, 240), Sun = Color3.fromRGB(255, 226, 150), } local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "HubGui" ScreenGui.ResetOnSpawn = false ScreenGui.IgnoreGuiInset = true ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Parent = PlayerGui local function corner(inst, radius) local c = Instance.new("UICorner") c.CornerRadius = UDim.new(0, radius or 10) c.Parent = inst return c end local function stroke(inst, color, thickness) local s = Instance.new("UIStroke") s.Color = color or Theme.Stroke s.Thickness = thickness or 1 s.Transparency = 0.2 s.Parent = inst return s end local function gradient(inst, c1, c2, rotation) local g = Instance.new("UIGradient") g.Color = ColorSequence.new(c1, c2) g.Rotation = rotation or 90 g.Parent = inst return g end local function notify(text, duration) local holder = ScreenGui:FindFirstChild("NotifyHolder") if not holder then holder = Instance.new("Frame") holder.Name = "NotifyHolder" holder.BackgroundTransparency = 1 holder.AnchorPoint = Vector2.new(0.5, 0) holder.Position = UDim2.new(0.5, 0, 0, 40) holder.Size = UDim2.new(0, 260, 1, -40) holder.Parent = ScreenGui local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 6) layout.HorizontalAlignment = Enum.HorizontalAlignment.Center layout.Parent = holder end local toast = Instance.new("Frame") toast.BackgroundColor3 = Theme.Panel toast.Size = UDim2.new(1, 0, 0, 32) toast.BackgroundTransparency = 1 toast.Parent = holder corner(toast, 8) stroke(toast, Theme.Stroke) local label = Instance.new("TextLabel") label.BackgroundTransparency = 1 label.Size = UDim2.new(1, -12, 1, 0) label.Position = UDim2.new(0, 6, 0, 0) label.Font = Enum.Font.SourceSansBold label.TextColor3 = Theme.Text label.TextSize = 15 label.TextXAlignment = Enum.TextXAlignment.Center label.TextTransparency = 1 label.Text = text label.Parent = toast TweenService:Create(toast, TweenInfo.new(0.25), {BackgroundTransparency = 0.08}):Play() TweenService:Create(label, TweenInfo.new(0.25), {TextTransparency = 0}):Play() task.delay(duration or 1.6, function() if toast and toast.Parent then TweenService:Create(toast, TweenInfo.new(0.3), {BackgroundTransparency = 1}):Play() TweenService:Create(label, TweenInfo.new(0.3), {TextTransparency = 1}):Play() task.wait(0.3) toast:Destroy() end end) end local IntroFrame = Instance.new("Frame") IntroFrame.Name = "Intro" IntroFrame.Size = UDim2.new(1, 0, 1, 0) IntroFrame.BackgroundColor3 = Theme.Sky IntroFrame.ZIndex = 100 IntroFrame.Parent = ScreenGui local IntroGradient = gradient(IntroFrame, Color3.fromRGB(255, 200, 150), Theme.SkyDeep, 90) IntroGradient.Offset = Vector2.new(0, -1) local Sun = Instance.new("Frame") Sun.AnchorPoint = Vector2.new(0.5, 0.5) Sun.Size = UDim2.new(0, 26, 0, 26) Sun.Position = UDim2.new(0.5, 0, 0.65, 0) Sun.BackgroundColor3 = Theme.Sun Sun.BackgroundTransparency = 1 Sun.ZIndex = 101 Sun.Parent = IntroFrame corner(Sun, 13) local function makeCloud(x, y, scale) local holder = Instance.new("Frame") holder.BackgroundTransparency = 1 holder.Size = UDim2.new(0, 90 * scale, 0, 40 * scale) holder.Position = UDim2.new(x, 0, y, 0) holder.ZIndex = 102 holder.Parent = IntroFrame local puffData = { {0.0, 0.35, 0.55}, {0.28, 0.1, 0.75}, {0.55, 0.3, 0.6}, {0.75, 0.4, 0.45}, } for _, d in ipairs(puffData) do local puff = Instance.new("Frame") puff.AnchorPoint = Vector2.new(0.5, 0.5) puff.Position = UDim2.new(d[1], 0, d[2], 0) puff.Size = UDim2.new(d[3], 0, d[3] * 1.6, 0) puff.BackgroundColor3 = Theme.Cloud puff.BackgroundTransparency = 1 puff.ZIndex = 102 puff.Parent = holder corner(puff, 100) end return holder end local clouds = { makeCloud(-0.3, 0.2, 1), makeCloud(-0.6, 0.45, 1.4), makeCloud(1.1, 0.3, 1.1), makeCloud(1.4, 0.55, 0.9), } local IntroTitle = Instance.new("TextLabel") IntroTitle.BackgroundTransparency = 1 IntroTitle.AnchorPoint = Vector2.new(0.5, 0.5) IntroTitle.Position = UDim2.new(0.5, 0, 0.5, 0) IntroTitle.Size = UDim2.new(0, 10, 0, 60) IntroTitle.Font = Enum.Font.SourceSansBold IntroTitle.TextColor3 = Color3.fromRGB(255, 255, 255) IntroTitle.TextSize = 40 IntroTitle.TextTransparency = 1 IntroTitle.TextStrokeTransparency = 0.6 IntroTitle.TextStrokeColor3 = Theme.SkyDeep IntroTitle.Text = "SKY HUB" IntroTitle.ZIndex = 103 IntroTitle.Parent = IntroFrame local IntroSub = Instance.new("TextLabel") IntroSub.BackgroundTransparency = 1 IntroSub.AnchorPoint = Vector2.new(0.5, 0.5) IntroSub.Position = UDim2.new(0.5, 0, 0.5, 42) IntroSub.Size = UDim2.new(0, 300, 0, 20) IntroSub.Font = Enum.Font.SourceSans IntroSub.TextColor3 = Color3.fromRGB(255, 255, 255) IntroSub.TextSize = 16 IntroSub.TextTransparency = 1 IntroSub.Text = "loading control panel" IntroSub.ZIndex = 103 IntroSub.Parent = IntroFrame local BarBack = Instance.new("Frame") BarBack.AnchorPoint = Vector2.new(0.5, 0.5) BarBack.Position = UDim2.new(0.5, 0, 0.5, 78) BarBack.Size = UDim2.new(0, 220, 0, 5) BarBack.BackgroundColor3 = Color3.new(1, 1, 1) BarBack.BackgroundTransparency = 1 BarBack.ZIndex = 103 BarBack.Parent = IntroFrame corner(BarBack, 3) local BarFill = Instance.new("Frame") BarFill.Size = UDim2.new(0, 0, 1, 0) BarFill.BackgroundColor3 = Theme.Sun BarFill.ZIndex = 104 BarFill.Parent = BarBack corner(BarFill, 3) local stars = {} for i = 1, 14 do local star = Instance.new("Frame") star.Size = UDim2.new(0, 3, 0, 3) star.Position = UDim2.new(math.random(0, 100) / 100, 0, math.random(0, 60) / 100, 0) star.BackgroundColor3 = Color3.new(1, 1, 1) star.BackgroundTransparency = 1 star.ZIndex = 101 star.Parent = IntroFrame corner(star, 2) stars[#stars + 1] = star end task.spawn(function() TweenService:Create(Sun, TweenInfo.new(1, Enum.EasingStyle.Sine), {BackgroundTransparency = 0.1}):Play() for i, c in ipairs(clouds) do local targetX = i <= 2 and 0.15 + (i * 0.1) or 0.6 - ((i - 2) * 0.1) for _, puff in ipairs(c:GetChildren()) do if puff:IsA("Frame") then TweenService:Create(puff, TweenInfo.new(1.5, Enum.EasingStyle.Sine), {BackgroundTransparency = 0.05}):Play() end end TweenService:Create(c, TweenInfo.new(3.4, Enum.EasingStyle.Sine), {Position = UDim2.new(targetX, 0, c.Position.Y.Scale, 0)}):Play() end for _, star in ipairs(stars) do task.spawn(function() task.wait(math.random(0, 100) / 100) while star.Parent do TweenService:Create(star, TweenInfo.new(0.6), {BackgroundTransparency = 0.2}):Play() task.wait(0.6) TweenService:Create(star, TweenInfo.new(0.6), {BackgroundTransparency = 1}):Play() task.wait(0.6) end end) end task.wait(0.3) IntroTitle.Size = UDim2.new(0, 300, 0, 60) TweenService:Create(IntroTitle, TweenInfo.new(0.7, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {TextTransparency = 0}):Play() task.wait(0.4) TweenService:Create(IntroSub, TweenInfo.new(0.5), {TextTransparency = 0.15}):Play() TweenService:Create(BarBack, TweenInfo.new(0.3), {BackgroundTransparency = 0.7}):Play() TweenService:Create(BarFill, TweenInfo.new(1.6, Enum.EasingStyle.Quad), {Size = UDim2.new(1, 0, 1, 0)}):Play() task.wait(2) local fadeItems = {IntroTitle, IntroSub, BarBack, BarFill, Sun} for _, item in ipairs(fadeItems) do if item:IsA("TextLabel") then TweenService:Create(item, TweenInfo.new(0.4), {TextTransparency = 1}):Play() else TweenService:Create(item, TweenInfo.new(0.4), {BackgroundTransparency = 1}):Play() end end for _, c in ipairs(clouds) do for _, puff in ipairs(c:GetChildren()) do if puff:IsA("Frame") then TweenService:Create(puff, TweenInfo.new(0.4), {BackgroundTransparency = 1}):Play() end end end local fade = TweenService:Create(IntroFrame, TweenInfo.new(0.5), {BackgroundTransparency = 1}) fade:Play() fade.Completed:Wait() IntroFrame:Destroy() end) local Main = Instance.new("Frame") Main.Name = "Main" Main.Size = UDim2.new(0, 330, 0, 420) Main.Position = UDim2.new(0.5, -165, 0.5, -210) Main.BackgroundColor3 = Theme.Panel Main.BackgroundTransparency = 1 Main.Visible = false Main.Parent = ScreenGui corner(Main, 14) stroke(Main, Theme.Stroke, 1.5) gradient(Main, Color3.fromRGB(255, 255, 255), Color3.fromRGB(232, 244, 253), 90) task.delay(3.2, function() Main.Visible = true TweenService:Create(Main, TweenInfo.new(0.4), {BackgroundTransparency = 0.05}):Play() end) local TopBar = Instance.new("Frame") TopBar.Size = UDim2.new(1, 0, 0, 40) TopBar.BackgroundColor3 = Theme.Sky TopBar.Parent = Main corner(TopBar, 14) gradient(TopBar, Theme.Sky, Theme.SkyDeep, 90) local TopBarFix = Instance.new("Frame") TopBarFix.Size = UDim2.new(1, 0, 0, 12) TopBarFix.Position = UDim2.new(0, 0, 1, -12) TopBarFix.BackgroundColor3 = Theme.SkyDeep TopBarFix.BorderSizePixel = 0 TopBarFix.Parent = TopBar local Title = Instance.new("TextLabel") Title.BackgroundTransparency = 1 Title.Position = UDim2.new(0, 14, 0, 0) Title.Size = UDim2.new(1, -90, 1, 0) Title.Font = Enum.Font.SourceSansBold Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 18 Title.TextXAlignment = Enum.TextXAlignment.Left Title.Text = "SKY HUB" Title.Parent = TopBar local CloseBtn = Instance.new("TextButton") CloseBtn.Size = UDim2.new(0, 26, 0, 26) CloseBtn.Position = UDim2.new(1, -34, 0.5, -13) CloseBtn.BackgroundColor3 = Theme.Close CloseBtn.Font = Enum.Font.SourceSansBold CloseBtn.TextColor3 = Color3.new(1, 1, 1) CloseBtn.TextSize = 16 CloseBtn.Text = "X" CloseBtn.Parent = TopBar corner(CloseBtn, 8) local MinBtn = Instance.new("TextButton") MinBtn.Size = UDim2.new(0, 26, 0, 26) MinBtn.Position = UDim2.new(1, -66, 0.5, -13) MinBtn.BackgroundColor3 = Color3.fromRGB(255, 255, 255) MinBtn.BackgroundTransparency = 0.3 MinBtn.Font = Enum.Font.SourceSansBold MinBtn.TextColor3 = Theme.SkyDeep MinBtn.TextSize = 16 MinBtn.Text = "-" MinBtn.Parent = TopBar corner(MinBtn, 8) local Body = Instance.new("Frame") Body.Position = UDim2.new(0, 0, 0, 40) Body.Size = UDim2.new(1, 0, 1, -40) Body.BackgroundTransparency = 1 Body.Parent = Main local TabBar = Instance.new("Frame") TabBar.Size = UDim2.new(1, -12, 0, 28) TabBar.Position = UDim2.new(0, 6, 0, 6) TabBar.BackgroundTransparency = 1 TabBar.Parent = Body local TabLayout = Instance.new("UIListLayout") TabLayout.FillDirection = Enum.FillDirection.Horizontal TabLayout.Padding = UDim.new(0, 4) TabLayout.Parent = TabBar local Pages = Instance.new("Frame") Pages.Position = UDim2.new(0, 6, 0, 40) Pages.Size = UDim2.new(1, -12, 1, -46) Pages.BackgroundTransparency = 1 Pages.Parent = Body local FloatBtn = Instance.new("TextButton") FloatBtn.Size = UDim2.new(0, 48, 0, 48) FloatBtn.Position = UDim2.new(0, 20, 0, 120) FloatBtn.BackgroundColor3 = Theme.Sky FloatBtn.Font = Enum.Font.SourceSansBold FloatBtn.TextColor3 = Color3.new(1, 1, 1) FloatBtn.TextSize = 16 FloatBtn.Text = "SKY" FloatBtn.Visible = false FloatBtn.Parent = ScreenGui corner(FloatBtn, 24) stroke(FloatBtn, Theme.Stroke) local function makeDraggable(frame, dragHandle) local dragging = false local dragStart, startPos dragHandle.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) dragHandle.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) end makeDraggable(Main, TopBar) makeDraggable(FloatBtn, FloatBtn) local minimized = false MinBtn.MouseButton1Click:Connect(function() minimized = not minimized local targetSize = minimized and UDim2.new(0, 330, 0, 40) or UDim2.new(0, 330, 0, 420) Body.Visible = not minimized TweenService:Create(Main, TweenInfo.new(0.2, Enum.EasingStyle.Quad), {Size = targetSize}):Play() end) CloseBtn.MouseButton1Click:Connect(function() TweenService:Create(Main, TweenInfo.new(0.2), {BackgroundTransparency = 1}):Play() task.wait(0.2) Main.Visible = false FloatBtn.Visible = true end) FloatBtn.MouseButton1Click:Connect(function() FloatBtn.Visible = false Main.Visible = true Main.BackgroundTransparency = 1 TweenService:Create(Main, TweenInfo.new(0.2), {BackgroundTransparency = 0.05}):Play() end) local State = { speed = false, jump = false, noclip = false, fly = false, infJump = false, rainbow = false, esp = false, cinematic = false, blur = false, fog = false, nightVision = false, sunset = false, strobe = false, earthquake = false, giant = false, tiny = false, music = false, moonGravity = false, rainbowChar = false, antiAfk = false, } local ActiveConnections = {} local function setConn(key, conn) if ActiveConnections[key] then ActiveConnections[key]:Disconnect() end ActiveConnections[key] = conn end local Tabs = {} local TabButtons = {} local currentTab = nil local function selectTab(name) if currentTab == name then return end currentTab = name for tabName, page in pairs(Tabs) do page.Visible = tabName == name end for tabName, btn in pairs(TabButtons) do btn.BackgroundColor3 = tabName == name and Theme.Accent or Theme.Toggle btn.TextColor3 = tabName == name and Color3.new(1, 1, 1) or Theme.Text end end local function createTab(name) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0, 58, 1, 0) btn.BackgroundColor3 = Theme.Toggle btn.Font = Enum.Font.SourceSansBold btn.TextColor3 = Theme.Text btn.TextSize = 12 btn.Text = name btn.Parent = TabBar corner(btn, 8) TabButtons[name] = btn local page = Instance.new("ScrollingFrame") page.Size = UDim2.new(1, 0, 1, 0) page.BackgroundTransparency = 1 page.BorderSizePixel = 0 page.ScrollBarThickness = 4 page.ScrollBarImageColor3 = Theme.Accent page.CanvasSize = UDim2.new(0, 0, 0, 0) page.AutomaticCanvasSize = Enum.AutomaticSize.Y page.Visible = false page.Parent = Pages local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 6) layout.Parent = page btn.MouseButton1Click:Connect(function() selectTab(name) end) Tabs[name] = page return page end local function createToggle(page, text, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 32) btn.BackgroundColor3 = Theme.Toggle btn.Font = Enum.Font.SourceSansBold btn.TextColor3 = Theme.Text btn.TextSize = 14 btn.Text = text btn.AutoButtonColor = false btn.Parent = page corner(btn, 8) stroke(btn, Theme.Stroke) local on = false btn.MouseButton1Click:Connect(function() on = not on TweenService:Create(btn, TweenInfo.new(0.15), {BackgroundColor3 = on and Theme.ToggleOn or Theme.Toggle}):Play() btn.TextColor3 = on and Color3.new(1, 1, 1) or Theme.Text callback(on) end) return btn end local function createButton(page, text, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 32) btn.BackgroundColor3 = Theme.Toggle btn.Font = Enum.Font.SourceSansBold btn.TextColor3 = Theme.Text btn.TextSize = 14 btn.Text = text btn.Parent = page corner(btn, 8) stroke(btn, Theme.Stroke) btn.MouseButton1Click:Connect(function() TweenService:Create(btn, TweenInfo.new(0.1), {BackgroundColor3 = Theme.ToggleOn}):Play() task.delay(0.15, function() TweenService:Create(btn, TweenInfo.new(0.2), {BackgroundColor3 = Theme.Toggle}):Play() end) callback() end) return btn end local function createSlider(page, text, min, max, default, callback) local holder = Instance.new("Frame") holder.Size = UDim2.new(1, 0, 0, 46) holder.BackgroundColor3 = Theme.Toggle holder.Parent = page corner(holder, 8) stroke(holder, Theme.Stroke) local label = Instance.new("TextLabel") label.BackgroundTransparency = 1 label.Position = UDim2.new(0, 8, 0, 2) label.Size = UDim2.new(1, -16, 0, 16) label.Font = Enum.Font.SourceSansBold label.TextColor3 = Theme.Text label.TextSize = 13 label.TextXAlignment = Enum.TextXAlignment.Left label.Text = text label.Parent = holder local track = Instance.new("Frame") track.Position = UDim2.new(0, 8, 0, 28) track.Size = UDim2.new(1, -16, 0, 6) track.BackgroundColor3 = Color3.fromRGB(255, 255, 255) track.Parent = holder corner(track, 3) local fill = Instance.new("Frame") fill.BackgroundColor3 = Theme.Accent fill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0) fill.Parent = track corner(fill, 3) local dragging = false local function update(inputPos) local rel = math.clamp((inputPos.X - track.AbsolutePosition.X) / track.AbsoluteSize.X, 0, 1) fill.Size = UDim2.new(rel, 0, 1, 0) local value = min + (max - min) * rel callback(value) end track.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true update(input.Position) end end) track.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end end) UserInputService.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then update(input.Position) end end) return holder end local function getRoot() Character = LocalPlayer.Character if not Character then return nil end Humanoid = Character:FindFirstChildOfClass("Humanoid") RootPart = Character:FindFirstChild("HumanoidRootPart") return RootPart end local MoveTab = createTab("MOVE") local VisualTab = createTab("VISUAL") local ChaosTab = createTab("CHAOS") local FunTab = createTab("FUN") local UtilTab = createTab("UTIL") selectTab("MOVE") createToggle(MoveTab, "Speed Boost", function(on) State.speed = on if Humanoid then Humanoid.WalkSpeed = on and 55 or 16 end notify(on and "Speed Boost: ON" or "Speed Boost: OFF") end) createToggle(MoveTab, "Jump Boost", function(on) State.jump = on if Humanoid then Humanoid.JumpPower = on and 90 or 50 end notify(on and "Jump Boost: ON" or "Jump Boost: OFF") end) createToggle(MoveTab, "Infinite Jump", function(on) State.infJump = on if on then setConn("infjump", UserInputService.JumpRequest:Connect(function() if Humanoid then Humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end)) else setConn("infjump", nil) end notify(on and "Infinite Jump: ON" or "Infinite Jump: OFF") end) createToggle(MoveTab, "Noclip", function(on) State.noclip = on if on then setConn("noclip", RunService.Stepped:Connect(function() if Character then for _, part in ipairs(Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end)) else setConn("noclip", nil) end notify(on and "Noclip: ON" or "Noclip: OFF") end) local flyUp, flyDown = false, false createToggle(MoveTab, "Fly", function(on) State.fly = on local root = getRoot() if on and root then local bv = Instance.new("BodyVelocity") bv.Name = "HubFlyForce" bv.MaxForce = Vector3.new(1e5, 1e5, 1e5) bv.Velocity = Vector3.new(0, 0, 0) bv.Parent = root Humanoid.PlatformStand = true setConn("fly", RunService.RenderStepped:Connect(function() local force = root:FindFirstChild("HubFlyForce") if not force then return end local moveDir = Humanoid.MoveDirection local camCF = Camera.CFrame local dir = Vector3.new() if moveDir.Magnitude > 0 then dir = (camCF.LookVector * moveDir:Dot(camCF.LookVector) + camCF.RightVector * moveDir:Dot(camCF.RightVector)) end local vertical = 0 if flyUp then vertical = vertical + 1 end if flyDown then vertical = vertical - 1 end local velocity = (dir.Magnitude > 0 and dir.Unit * moveDir.Magnitude or Vector3.new()) * 60 velocity = velocity + Vector3.new(0, vertical * 60, 0) force.Velocity = velocity end)) else setConn("fly", nil) local root2 = getRoot() if root2 then local force = root2:FindFirstChild("HubFlyForce") if force then force:Destroy() end end if Humanoid then Humanoid.PlatformStand = false end end notify(on and "Fly: ON" or "Fly: OFF") end) local flyControls = Instance.new("Frame") flyControls.Size = UDim2.new(1, 0, 0, 36) flyControls.BackgroundTransparency = 1 flyControls.Parent = MoveTab local upBtn = Instance.new("TextButton") upBtn.Size = UDim2.new(0.48, 0, 1, 0) upBtn.BackgroundColor3 = Theme.Toggle upBtn.Text = "UP (hold)" upBtn.Font = Enum.Font.SourceSansBold upBtn.TextColor3 = Theme.Text upBtn.TextSize = 13 upBtn.Parent = flyControls corner(upBtn, 8) stroke(upBtn, Theme.Stroke) local downBtn = Instance.new("TextButton") downBtn.Size = UDim2.new(0.48, 0, 1, 0) downBtn.Position = UDim2.new(0.52, 0, 0, 0) downBtn.BackgroundColor3 = Theme.Toggle downBtn.Text = "DOWN (hold)" downBtn.Font = Enum.Font.SourceSansBold downBtn.TextColor3 = Theme.Text downBtn.TextSize = 13 downBtn.Parent = flyControls corner(downBtn, 8) stroke(downBtn, Theme.Stroke) upBtn.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then flyUp = true end end) upBtn.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then flyUp = false end end) downBtn.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then flyDown = true end end) downBtn.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then flyDown = false end end) UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if State.fly then if input.KeyCode == Enum.KeyCode.Space then flyUp = true end if input.KeyCode == Enum.KeyCode.LeftControl then flyDown = true end end end) UserInputService.InputEnded:Connect(function(input) if input.KeyCode == Enum.KeyCode.Space then flyUp = false end if input.KeyCode == Enum.KeyCode.LeftControl then flyDown = false end end) createSlider(MoveTab, "Walk Speed", 16, 200, 16, function(value) if Humanoid then Humanoid.WalkSpeed = value end end) createSlider(MoveTab, "Jump Power", 50, 300, 50, function(value) if Humanoid then Humanoid.JumpPower = value end end) createButton(MoveTab, "Reset Character", function() Humanoid.Health = 0 notify("Resetting...") end) createToggle(VisualTab, "Rainbow Trail", function(on) State.rainbow = on local root = getRoot() if on and root then local a0 = Instance.new("Attachment") a0.Position = Vector3.new(0, 1, 0) a0.Name = "HubTrailA0" a0.Parent = root local a1 = Instance.new("Attachment") a1.Position = Vector3.new(0, -1, 0) a1.Name = "HubTrailA1" a1.Parent = root local trail = Instance.new("Trail") trail.Name = "HubTrail" trail.Attachment0 = a0 trail.Attachment1 = a1 trail.Lifetime = 1 trail.Parent = root local hue = 0 setConn("rainbow", RunService.RenderStepped:Connect(function(dt) hue = (hue + dt * 0.3) % 1 trail.Color = ColorSequence.new(Color3.fromHSV(hue, 1, 1)) end)) else setConn("rainbow", nil) local root2 = getRoot() if root2 then local t = root2:FindFirstChild("HubTrail") if t then t:Destroy() end local x0 = root2:FindFirstChild("HubTrailA0") if x0 then x0:Destroy() end local x1 = root2:FindFirstChild("HubTrailA1") if x1 then x1:Destroy() end end end notify(on and "Rainbow Trail: ON" or "Rainbow Trail: OFF") end) createToggle(VisualTab, "Cinematic Mode", function(on) State.cinematic = on local cc = Lighting:FindFirstChild("HubCC") if on then if not cc then cc = Instance.new("ColorCorrectionEffect") cc.Name = "HubCC" cc.Contrast = 0.15 cc.Saturation = 0.1 cc.TintColor = Color3.fromRGB(255, 245, 230) cc.Parent = Lighting end else if cc then cc:Destroy() end end notify(on and "Cinematic: ON" or "Cinematic: OFF") end) createToggle(VisualTab, "Blur", function(on) State.blur = on local blur = Lighting:FindFirstChild("HubBlur") if on then if not blur then blur = Instance.new("BlurEffect") blur.Name = "HubBlur" blur.Size = 12 blur.Parent = Lighting end else if blur then blur:Destroy() end end notify(on and "Blur: ON" or "Blur: OFF") end) createToggle(VisualTab, "Heavy Fog", function(on) State.fog = on if on then Lighting:SetAttribute("HubOldFogEnd", Lighting.FogEnd) Lighting:SetAttribute("HubOldFogStart", Lighting.FogStart) Lighting.FogStart = 5 Lighting.FogEnd = 80 else local oldEnd = Lighting:GetAttribute("HubOldFogEnd") local oldStart = Lighting:GetAttribute("HubOldFogStart") Lighting.FogEnd = oldEnd or 100000 Lighting.FogStart = oldStart or 0 end notify(on and "Fog: ON" or "Fog: OFF") end) createToggle(VisualTab, "Night Vision", function(on) State.nightVision = on local cc = Lighting:FindFirstChild("HubNightCC") if on then if not cc then cc = Instance.new("ColorCorrectionEffect") cc.Name = "HubNightCC" cc.Brightness = 0.3 cc.TintColor = Color3.fromRGB(150, 255, 170) cc.Parent = Lighting end else if cc then cc:Destroy() end end notify(on and "Night Vision: ON" or "Night Vision: OFF") end) createToggle(VisualTab, "Sunset Mode", function(on) State.sunset = on if on then Lighting:SetAttribute("HubOldClock", Lighting.ClockTime) Lighting.ClockTime = 18 else local oldClock = Lighting:GetAttribute("HubOldClock") Lighting.ClockTime = oldClock or 14 end notify(on and "Sunset Mode: ON" or "Sunset Mode: OFF") end) createSlider(VisualTab, "Time Of Day", 0, 24, Lighting.ClockTime, function(value) Lighting.ClockTime = value end) createSlider(VisualTab, "Field Of View", 40, 120, Camera.FieldOfView, function(value) Camera.FieldOfView = value end) createSlider(VisualTab, "Brightness", 0, 5, Lighting.Brightness, function(value) Lighting.Brightness = value end) createButton(VisualTab, "Reset Lighting", function() Lighting.Brightness = 2 Lighting.ClockTime = 14 Lighting.FogEnd = 100000 Lighting.FogStart = 0 notify("Lighting Reset") end) createToggle(ChaosTab, "Strobe Screen", function(on) State.strobe = on local overlay = ScreenGui:FindFirstChild("HubStrobe") if on then if not overlay then overlay = Instance.new("Frame") overlay.Name = "HubStrobe" overlay.Size = UDim2.new(1, 0, 1, 0) overlay.BackgroundColor3 = Color3.new(1, 1, 1) overlay.BackgroundTransparency = 1 overlay.ZIndex = 50 overlay.Parent = ScreenGui end setConn("strobe", RunService.RenderStepped:Connect(function() overlay.BackgroundColor3 = Color3.fromHSV(math.random(), 1, 1) overlay.BackgroundTransparency = math.random(70, 90) / 100 end)) else setConn("strobe", nil) if overlay then overlay:Destroy() end end notify(on and "Strobe: ON" or "Strobe: OFF") end) createToggle(ChaosTab, "Earthquake", function(on) State.earthquake = on if on then setConn("earthquake", RunService.RenderStepped:Connect(function() local offset = Vector3.new(math.random(-100, 100), math.random(-100, 100), 0) / 100 * 0.15 Camera.CFrame = Camera.CFrame * CFrame.new(offset) end)) else setConn("earthquake", nil) end notify(on and "Earthquake: ON" or "Earthquake: OFF") end) createButton(ChaosTab, "Screen Shake", function() task.spawn(function() for i = 1, 12 do local offset = Vector3.new(math.random(-1, 1), math.random(-1, 1), 0) * 0.4 Camera.CFrame = Camera.CFrame * CFrame.new(offset) task.wait(0.03) end end) notify("Screen Shake") end) createButton(ChaosTab, "Flash Bang", function() local overlay = Instance.new("Frame") overlay.Size = UDim2.new(1, 0, 1, 0) overlay.BackgroundColor3 = Color3.new(1, 1, 1) overlay.ZIndex = 60 overlay.Parent = ScreenGui TweenService:Create(overlay, TweenInfo.new(0.8), {BackgroundTransparency = 1}):Play() task.delay(0.8, function() overlay:Destroy() end) notify("Flash!") end) createButton(ChaosTab, "Explosion At Me", function() local root = getRoot() if root then local explosion = Instance.new("Explosion") explosion.Position = root.Position explosion.BlastRadius = 10 explosion.BlastPressure = 0 explosion.Parent = Workspace end notify("Boom!") end) createButton(ChaosTab, "Confetti Burst", function() local root = getRoot() if root then local attach = Instance.new("Attachment") attach.Parent = root local emitter = Instance.new("ParticleEmitter") emitter.Texture = "rbxasset://textures/particles/sparkles_main.dds" emitter.Lifetime = NumberRange.new(1, 2) emitter.Rate = 0 emitter.Speed = NumberRange.new(10, 20) emitter.SpreadAngle = Vector2.new(180, 180) emitter.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 80, 80)), ColorSequenceKeypoint.new(0.5, Color3.fromRGB(80, 255, 120)), ColorSequenceKeypoint.new(1, Color3.fromRGB(80, 140, 255)), }) emitter.Parent = attach emitter:Emit(60) task.delay(3, function() attach:Destroy() end) end notify("Confetti!") end) createButton(ChaosTab, "Meteor Shower", function() local root = getRoot() if not root then return end task.spawn(function() for i = 1, 10 do local meteor = Instance.new("Part") meteor.Shape = Enum.PartType.Ball meteor.Size = Vector3.new(2, 2, 2) meteor.Color = Color3.fromRGB(255, 120, 40) meteor.Material = Enum.Material.Neon meteor.CanCollide = false meteor.Anchored = false meteor.Position = root.Position + Vector3.new(math.random(-30, 30), 40, math.random(-30, 30)) meteor.Parent = Workspace local fire = Instance.new("Fire") fire.Size = 6 fire.Parent = meteor local bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(1e5, 1e5, 1e5) bv.Velocity = Vector3.new(0, -60, 0) bv.Parent = meteor game:GetService("Debris"):AddItem(meteor, 4) task.wait(0.15) end end) notify("Meteor Shower!") end) createToggle(ChaosTab, "Moon Gravity", function(on) State.moonGravity = on Workspace.Gravity = on and 20 or 196.2 notify(on and "Moon Gravity: ON" or "Moon Gravity: OFF") end) createButton(ChaosTab, "Ragdoll (3s)", function() if not Character then return end for _, joint in ipairs(Character:GetDescendants()) do if joint:IsA("Motor6D") then local socket = Instance.new("BallSocketConstraint") local a0 = Instance.new("Attachment") local a1 = Instance.new("Attachment") a0.Parent = joint.Part0 a1.Parent = joint.Part1 a0.CFrame = joint.C0 a1.CFrame = joint.C1 socket.Attachment0 = a0 socket.Attachment1 = a1 socket.Name = "HubRagdoll" socket.Parent = joint.Part0 joint.Enabled = false end end Humanoid.PlatformStand = true task.delay(3, function() if not Character then return end for _, joint in ipairs(Character:GetDescendants()) do if joint:IsA("Motor6D") then joint.Enabled = true end end for _, obj in ipairs(Character:GetDescendants()) do if obj:IsA("BallSocketConstraint") and obj.Name == "HubRagdoll" then if obj.Attachment0 then obj.Attachment0:Destroy() end if obj.Attachment1 then obj.Attachment1:Destroy() end obj:Destroy() end end if Humanoid then Humanoid.PlatformStand = false end end) notify("Ragdoll!") end) createButton(ChaosTab, "Random Teleport", function() local root = getRoot() if root then local offset = Vector3.new(math.random(-150, 150), 10, math.random(-150, 150)) root.CFrame = CFrame.new(root.Position + offset) end notify("Teleported") end) createToggle(FunTab, "Giant Mode", function(on) State.giant = on if State.tiny and on then State.tiny = false end if not Humanoid then return end local scale = on and 2.2 or 1 pcall(function() Humanoid.BodyHeightScale.Value = scale Humanoid.BodyWidthScale.Value = scale Humanoid.BodyDepthScale.Value = scale Humanoid.HeadScale.Value = scale end) notify(on and "Giant Mode: ON" or "Giant Mode: OFF") end) createToggle(FunTab, "Tiny Mode", function(on) State.tiny = on if State.giant and on then State.giant = false end if not Humanoid then return end local scale = on and 0.5 or 1 pcall(function() Humanoid.BodyHeightScale.Value = scale Humanoid.BodyWidthScale.Value = scale Humanoid.BodyDepthScale.Value = scale Humanoid.HeadScale.Value = scale end) notify(on and "Tiny Mode: ON" or "Tiny Mode: OFF") end) createToggle(FunTab, "Rainbow Character", function(on) State.rainbowChar = on if on then local hue = 0 setConn("rainbowchar", RunService.RenderStepped:Connect(function(dt) hue = (hue + dt * 0.4) % 1 local color = Color3.fromHSV(hue, 1, 1) if Character then for _, part in ipairs(Character:GetDescendants()) do if part:IsA("BasePart") then part.Color = color end end end end)) else setConn("rainbowchar", nil) end notify(on and "Rainbow Character: ON" or "Rainbow Character: OFF") end) createButton(FunTab, "Dance", function() if not Humanoid then return end local anim = Instance.new("Animation") anim.AnimationId = "rbxassetid://507771019" local track = Humanoid:LoadAnimation(anim) track:Play() task.delay(4, function() track:Stop() end) notify("Dancing") end) createButton(FunTab, "Flip", function() local root = getRoot() if root then task.spawn(function() for i = 1, 24 do root.CFrame = root.CFrame * CFrame.Angles(math.rad(15), 0, 0) task.wait(0.015) end end) end notify("Flipping") end) createButton(FunTab, "Spin", function() local root = getRoot() if root then task.spawn(function() for i = 1, 36 do root.CFrame = root.CFrame * CFrame.Angles(0, math.rad(10), 0) task.wait(0.02) end end) end notify("Spinning") end) local musicSound = nil createToggle(FunTab, "Play Music", function(on) State.music = on if on then musicSound = Instance.new("Sound") musicSound.SoundId = "rbxassetid://1837458182" musicSound.Looped = true musicSound.Volume = 0.6 musicSound.Parent = Camera musicSound:Play() else if musicSound then musicSound:Stop() musicSound:Destroy() musicSound = nil end end notify(on and "Music: ON" or "Music: OFF") end) createToggle(UtilTab, "ESP", function(on) State.esp = on if on then for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character then local char = plr.Character local hl = char:FindFirstChild("HubESP") if not hl then hl = Instance.new("Highlight") hl.Name = "HubESP" hl.FillColor = Color3.fromRGB(255, 80, 80) hl.FillTransparency = 0.6 hl.OutlineColor = Color3.fromRGB(255, 255, 255) hl.Parent = char end end end setConn("esp", Players.PlayerAdded:Connect(function(plr) plr.CharacterAdded:Connect(function(char) if State.esp then local hl = Instance.new("Highlight") hl.Name = "HubESP" hl.FillColor = Color3.fromRGB(255, 80, 80) hl.FillTransparency = 0.6 hl.Parent = char end end) end)) else setConn("esp", nil) for _, plr in ipairs(Players:GetPlayers()) do if plr.Character then local hl = plr.Character:FindFirstChild("HubESP") if hl then hl:Destroy() end end end end notify(on and "ESP: ON" or "ESP: OFF") end) createToggle(UtilTab, "Anti AFK", function(on) State.antiAfk = on if on then setConn("antiafk", LocalPlayer.Idled:Connect(function() VirtualUser:CaptureController() VirtualUser:ClickButton2(Vector2.new()) end)) else setConn("antiafk", nil) end notify(on and "Anti AFK: ON" or "Anti AFK: OFF") end) local savedPosition = nil createButton(UtilTab, "Save Position", function() local root = getRoot() if root then savedPosition = root.CFrame notify("Position Saved") end end) createButton(UtilTab, "Teleport To Saved", function() local root = getRoot() if root and savedPosition then root.CFrame = savedPosition notify("Teleported Back") else notify("No Saved Position") end end) createButton(UtilTab, "Rejoin Server", function() notify("Rejoining...") task.wait(0.5) TeleportService:Teleport(game.PlaceId, LocalPlayer) end) createButton(UtilTab, "Copy Position", function() local root = getRoot() if root then local pos = root.Position notify(string.format("%.1f, %.1f, %.1f", pos.X, pos.Y, pos.Z), 2.5) end end) createButton(UtilTab, "Server Player Count", function() notify("Players: " .. #Players:GetPlayers(), 2) end) createButton(UtilTab, "Reset Camera FOV", function() Camera.FieldOfView = 70 notify("FOV Reset") end) LocalPlayer.CharacterAdded:Connect(function(char) Character = char Humanoid = char:WaitForChild("Humanoid") RootPart = char:WaitForChild("HumanoidRootPart") if State.speed then Humanoid.WalkSpeed = 55 end if State.jump then Humanoid.JumpPower = 90 end if State.giant or State.tiny then local scale = State.giant and 2.2 or 0.5 pcall(function() Humanoid.BodyHeightScale.Value = scale Humanoid.BodyWidthScale.Value = scale Humanoid.BodyDepthScale.Value = scale Humanoid.HeadScale.Value = scale end) end end)