Sky Hub BY Flyder
Key RequiredUniversal Patched

Sky Hub BY Flyder

Universal ScriptFlyder28Flyder28 53 views 30 executesUpdated Aug 7, 2026
Unrated
00
Lua Script•1339 lines (38443 chars)
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)

Features & Information

It has everything

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts