AIZENS ORBIT
Key RequiredUniversal

AIZENS ORBIT

Universal ScriptAnsh*arAnsh*ar 1.9K views 107 executesUpdated Jun 29, 2026
1.7/ 5(3 votes)
1233% Positive
Lua Script•781 lines (25506 chars)
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer
local playerGui = player:WaitForChild("PlayerGui")

local KEY_REQUIRED = "AIZENPAPA"
local PROP_FOLDER_NAME = "AizenProps"
local CENTER_NAME = "AizenCenter"

local COLORS = {
	Bg = Color3.fromRGB(8, 8, 12),
	Panel = Color3.fromRGB(17, 17, 24),
	Panel2 = Color3.fromRGB(24, 24, 32),
	Stroke = Color3.fromRGB(58, 58, 74),
	Text = Color3.fromRGB(236, 236, 242),
	Muted = Color3.fromRGB(146, 146, 160),
	Accent = Color3.fromRGB(138, 34, 48),
	Accent2 = Color3.fromRGB(186, 54, 70),
	Success = Color3.fromRGB(80, 170, 120),
	Star = Color3.fromRGB(255, 255, 255)
}

local selectedMode = "ORBIT"
local animationConnection = nil

local function tween(obj, time, props, style, dir)
	local cleanProps = {}
	for k, v in pairs(props) do
		if v ~= nil then
			cleanProps[k] = v
		end
	end
	local info = TweenInfo.new(time, style or Enum.EasingStyle.Quint, dir or Enum.EasingDirection.Out)
	local tw = TweenService:Create(obj, info, cleanProps)
	tw:Play()
	return tw
end

local function getCenterPart()
	local obj = workspace:FindFirstChild(CENTER_NAME)
	if not obj then
		if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
			return player.Character.HumanoidRootPart
		end
		return nil
	end
	if obj:IsA("BasePart") then
		return obj
	end
	if obj:IsA("Model") and obj.PrimaryPart then
		return obj.PrimaryPart
	end
	return nil
end

local function getPropEntries()
	local entries = {}
	local checked = {}

	local folder = workspace:FindFirstChild(PROP_FOLDER_NAME)
	if folder and folder:IsA("Folder") then
		for _, item in ipairs(folder:GetChildren()) do
			if item:IsA("BasePart") and not checked[item] then
				checked[item] = true
				table.insert(entries, { instance = item, type = "Part", pivot = item.CFrame })
			elseif item:IsA("Model") and item.PrimaryPart and not checked[item] then
				checked[item] = true
				table.insert(entries, { instance = item, type = "Model", pivot = item:GetPivot() })
			end
		end
	end

	for _, item in ipairs(workspace:GetDescendants()) do
		if item:IsA("Model") and not checked[item] then
			local isYourProp = false
			local ownerTag = item:FindFirstChild("Owner") or item:FindFirstChild("Creator") or item:FindFirstChild("Player")
			
			if ownerTag and (ownerTag.Value == player or ownerTag.Value == player.Name or tostring(ownerTag.Value) == tostring(player.UserId)) then
				isYourProp = true
			elseif item:GetAttribute("OwnerId") == player.UserId or item:GetAttribute("Creator") == player.Name then
				isYourProp = true
			elseif string.find(item.Name:lower(), "placedprop") or string.find(item.Name:lower(), "houseprop") then
				isYourProp = true
			end

			if isYourProp then
				checked[item] = true
				if not item.PrimaryPart then
					item.PrimaryPart = item:FindFirstChildWhichIsA("BasePart")
				end
				if item.PrimaryPart then
					table.insert(entries, { instance = item, type = "Model", pivot = item:GetPivot() })
				end
			end
		elseif item:IsA("BasePart") and (item.Name == "ManuallyPlacedProp" or item:GetAttribute("Creator") == player.Name) and not checked[item] then
			checked[item] = true
			table.insert(entries, { instance = item, type = "Part", pivot = item.CFrame })
		end
	end

	return entries
end
local function moveEntry(entry, cf)
	if not entry.instance or not entry.instance.Parent then return end

	if entry.type == "Part" then
		if entry.instance.Anchored then
			entry.instance.Anchored = false
		end
		entry.instance.CFrame = cf
		entry.instance.AssemblyLinearVelocity = Vector3.new(0, 0.01, 0)
	elseif entry.type == "Model" then
		for _, part in ipairs(entry.instance:GetDescendants()) do
			if part:IsA("BasePart") then
				if part.Anchored then
					part.Anchored = false
				end
				part.AssemblyLinearVelocity = Vector3.new(0, 0.01, 0)
			end
		end
		entry.instance:PivotTo(cf)
	end
end

local function stopAnimation()
	if animationConnection then
		animationConnection:Disconnect()
		animationConnection = nil
	end
end

local function startOrbit(entries, centerPart)
	stopAnimation()
	local t = 0
	local radius = 11
	local height = 2.5
	local speed = 1.8

	animationConnection = RunService.RenderStepped:Connect(function(dt)
		t += dt * speed
		if not centerPart or not centerPart.Parent then return end
		local centerCF = centerPart.CFrame

		for i, entry in ipairs(entries) do
			local angle = t + ((i - 1) / math.max(#entries, 1)) * (math.pi * 2)
			local x = math.cos(angle) * radius
			local z = math.sin(angle) * radius
			local bob = math.sin(t * 2 + i) * 0.35

			local targetCF = centerCF * CFrame.new(x, height + bob, z) * CFrame.Angles(0, -angle + math.rad(90), 0)
			moveEntry(entry, targetCF)
		end
	end)
end

local function startWings(entries, centerPart)
	stopAnimation()
	local t = 0
	local spacing = 3.5
	local backOffset = -4
	local sideOffset = 6
	local waveSpeed = 2.2

	animationConnection = RunService.RenderStepped:Connect(function(dt)
		t += dt * waveSpeed
		if not centerPart or not centerPart.Parent then return end
		local centerCF = centerPart.CFrame
		local half = math.ceil(#entries / 2)

		for i, entry in ipairs(entries) do
			local isLeft = i <= half
			local wingIndex = isLeft and i or (i - half)
			local side = isLeft and -1 or 1

			local x = side * (sideOffset + wingIndex * 1.4)
			local y = 2 + math.sin(t + wingIndex * 0.7) * 0.6
			local z = backOffset - (wingIndex - 1) * spacing

			local yaw = isLeft and math.rad(25) or math.rad(-25)

			local targetCF = centerCF * CFrame.new(x, y, z) * CFrame.Angles(0, yaw, 0)
			moveEntry(entry, targetCF)
		end
	end)
end

local function startDomain(entries, centerPart)
	stopAnimation()
	local t = 0
	local radius = 16
	local spinSpeed = 0.9

	animationConnection = RunService.RenderStepped:Connect(function(dt)
		t += dt * spinSpeed
		if not centerPart or not centerPart.Parent then return end
		local centerCF = centerPart.CFrame

		for i, entry in ipairs(entries) do
			local alpha = ((i - 1) / math.max(#entries, 1)) * (math.pi * 2)
			local angle = alpha + t
			local waveRadius = radius + math.sin(t * 1.4 + i) * 1.2
			local x = math.cos(angle) * waveRadius
			local z = math.sin(angle) * waveRadius
			local y = 1.5 + math.sin(t * 2 + alpha * 3) * 1.1

			local targetCF = centerCF * CFrame.new(x, y, z) * CFrame.Angles(0, -angle, 0)
			moveEntry(entry, targetCF)
		end
	end)
end
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "AizenOrbitHub"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = playerGui

local introOverlay = Instance.new("Frame")
introOverlay.Parent = screenGui
introOverlay.Size = UDim2.new(1, 0, 1, 0)
introOverlay.BackgroundColor3 = COLORS.Bg
introOverlay.BorderSizePixel = 0
introOverlay.ZIndex = 50

local introGlow = Instance.new("Frame")
introGlow.Parent = introOverlay
introGlow.AnchorPoint = Vector2.new(0.5, 0.5)
introGlow.Position = UDim2.new(0.5, 0, 0.5, 0)
introGlow.Size = UDim2.new(0, 0, 0, 0)
introGlow.BackgroundColor3 = COLORS.Accent
introGlow.BackgroundTransparency = 0.75
introGlow.BorderSizePixel = 0
introGlow.ZIndex = 51
Instance.new("UICorner", introGlow).CornerRadius = UDim.new(1, 0)

local introTitle = Instance.new("TextLabel")
introTitle.Parent = introOverlay
introTitle.AnchorPoint = Vector2.new(0.5, 0.5)
introTitle.Position = UDim2.new(0.5, 0, 0.5, -8)
introTitle.Size = UDim2.new(0, 380, 0, 50)
introTitle.BackgroundTransparency = 1
introTitle.Text = "AIZEN ORBIT HUB"
introTitle.Font = Enum.Font.GothamBlack
introTitle.TextSize = 28
introTitle.TextColor3 = COLORS.Text
introTitle.TextTransparency = 1
introTitle.ZIndex = 52

local introSub = Instance.new("TextLabel")
introSub.Parent = introOverlay
introSub.AnchorPoint = Vector2.new(0.5, 0.5)
introSub.Position = UDim2.new(0.5, 0, 0.5, 26)
introSub.Size = UDim2.new(0, 320, 0, 24)
introSub.BackgroundTransparency = 1
introSub.Text = "visual prop controller loaded"
introSub.Font = Enum.Font.Gotham
introSub.TextSize = 13
introSub.TextColor3 = COLORS.Muted
introSub.TextTransparency = 1
introSub.ZIndex = 52

local keyFrame = Instance.new("Frame")
keyFrame.Name = "KeyFrame"
keyFrame.Size = UDim2.new(0, 310, 0, 190)
keyFrame.Position = UDim2.new(0.5, -155, 0.38, 0)
keyFrame.BackgroundColor3 = COLORS.Panel
keyFrame.BorderSizePixel = 0
keyFrame.Parent = screenGui
keyFrame.Visible = false
keyFrame.BackgroundTransparency = 1
Instance.new("UICorner", keyFrame).CornerRadius = UDim.new(0, 14)
local keyStroke = Instance.new("UIStroke", keyFrame)
keyStroke.Color = COLORS.Stroke
keyStroke.Thickness = 1
keyStroke.Transparency = 1
local keyScale = Instance.new("UIScale", keyFrame)
keyScale.Scale = 0.86

local keyHeader = Instance.new("TextLabel")
keyHeader.Parent = keyFrame
keyHeader.BackgroundTransparency = 1
keyHeader.Size = UDim2.new(1, -24, 0, 34)
keyHeader.Position = UDim2.new(0, 12, 0, 12)
keyHeader.Text = "AIZEN ORBIT HUB"
keyHeader.Font = Enum.Font.GothamSemibold
keyHeader.TextSize = 18
keyHeader.TextColor3 = COLORS.Text
keyHeader.TextXAlignment = Enum.TextXAlignment.Left
keyHeader.TextTransparency = 1

local keySub = Instance.new("TextLabel")
keySub.Parent = keyFrame
keySub.BackgroundTransparency = 1
keySub.Size = UDim2.new(1, -24, 0, 18)
keySub.Position = UDim2.new(0, 12, 0, 42)
keySub.Text = "secure access panel"
keySub.Font = Enum.Font.Gotham
keySub.TextSize = 12
keySub.TextColor3 = COLORS.Muted
keySub.TextXAlignment = Enum.TextXAlignment.Left
keySub.TextTransparency = 1

local keyInput = Instance.new("TextBox")
keyInput.Parent = keyFrame
keyInput.Size = UDim2.new(1, -24, 0, 40)
keyInput.Position = UDim2.new(0, 12, 0, 86)
keyInput.BackgroundColor3 = COLORS.Panel2
keyInput.BorderSizePixel = 0
keyInput.PlaceholderText = "Enter key"
keyInput.Text = ""
keyInput.ClearTextOnFocus = false
keyInput.Font = Enum.Font.Gotham
keyInput.TextSize = 14
keyInput.TextColor3 = COLORS.Text
keyInput.PlaceholderColor3 = COLORS.Muted
keyInput.BackgroundTransparency = 1
keyInput.TextTransparency = 1
Instance.new("UICorner", keyInput).CornerRadius = UDim.new(0, 10)
local keyInputStroke = Instance.new("UIStroke", keyInput)
keyInputStroke.Color = COLORS.Stroke
keyInputStroke.Thickness = 1
keyInputStroke.Transparency = 1

local keyBtn = Instance.new("TextButton")
keyBtn.Parent = keyFrame
keyBtn.Size = UDim2.new(1, -24, 0, 42)
keyBtn.Position = UDim2.new(0, 12, 1, -54)
keyBtn.BackgroundColor3 = COLORS.Accent
keyBtn.BorderSizePixel = 0
keyBtn.Text = "ACCESS"
keyBtn.Font = Enum.Font.GothamSemibold
keyBtn.TextSize = 14
keyBtn.TextColor3 = COLORS.Text
keyBtn.BackgroundTransparency = 1
keyBtn.TextTransparency = 1
Instance.new("UICorner", keyBtn).CornerRadius = UDim.new(0, 10)

local mainFrame = Instance.new("Frame")
mainFrame.Name = "MainFrame"
mainFrame.Size = UDim2.new(0, 390, 0, 290)
mainFrame.Position = UDim2.new(0.5, -195, 0.27, 0)
mainFrame.BackgroundColor3 = COLORS.Panel
mainFrame.BorderSizePixel = 0
mainFrame.Visible = false
mainFrame.Parent = screenGui
mainFrame.BackgroundTransparency = 1
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 14)
local mainStroke = Instance.new("UIStroke", mainFrame)
mainStroke.Color = COLORS.Stroke
mainStroke.Thickness = 1
mainStroke.Transparency = 1
local mainScale = Instance.new("UIScale", mainFrame)
mainScale.Scale = 0.9

local starsHolder = Instance.new("Frame")
starsHolder.Parent = mainFrame
starsHolder.BackgroundTransparency = 1
starsHolder.ClipsDescendants = true
starsHolder.Size = UDim2.new(1, 0, 1, 0)

local topBar = Instance.new("Frame")
topBar.Name = "TopBar"
topBar.Parent = mainFrame
topBar.Size = UDim2.new(1, 0, 0, 44)
topBar.BackgroundTransparency = 1

local title = Instance.new("TextLabel")
title.Parent = topBar
title.BackgroundTransparency = 1
title.Size = UDim2.new(1, -92, 1, 0)
title.Position = UDim2.new(0, 14, 0, 0)
title.Text = "AIZEN ORBIT HUB"
title.Font = Enum.Font.GothamSemibold
title.TextSize = 18
title.TextColor3 = COLORS.Text
title.TextXAlignment = Enum.TextXAlignment.Left
title.TextTransparency = 1

local subtitle = Instance.new("TextLabel")
subtitle.Parent = mainFrame
subtitle.BackgroundTransparency = 1
subtitle.Size = UDim2.new(1, -28, 0, 18)
subtitle.Position = UDim2.new(0, 14, 0, 44)
subtitle.Text = "placed prop visual controls"
subtitle.Font = Enum.Font.Gotham
subtitle.TextSize = 12
subtitle.TextColor3 = COLORS.Muted
subtitle.TextXAlignment = Enum.TextXAlignment.Left
subtitle.TextTransparency = 1

local miniBtn = Instance.new("TextButton")
miniBtn.Parent = topBar
miniBtn.Size = UDim2.new(0, 28, 0, 28)
miniBtn.Position = UDim2.new(1, -68, 0, 8)
miniBtn.BackgroundColor3 = COLORS.Panel2
miniBtn.BorderSizePixel = 0
miniBtn.Text = "—"
miniBtn.Font = Enum.Font.GothamBold
miniBtn.TextSize = 16
miniBtn.TextColor3 = COLORS.Text
miniBtn.BackgroundTransparency = 1
miniBtn.TextTransparency = 1
Instance.new("UICorner", miniBtn).CornerRadius = UDim.new(0, 8)
local miniStroke = Instance.new("UIStroke", miniBtn)
miniStroke.Color = COLORS.Stroke
miniStroke.Thickness = 1
miniStroke.Transparency = 1

local closeBtn = Instance.new("TextButton")
closeBtn.Parent = topBar
closeBtn.Size = UDim2.new(0, 28, 0, 28)
closeBtn.Position = UDim2.new(1, -34, 0, 8)
closeBtn.BackgroundColor3 = COLORS.Panel2
closeBtn.BorderSizePixel = 0
closeBtn.Text = "✕"
closeBtn.Font = Enum.Font.GothamBold
closeBtn.TextSize = 14
closeBtn.TextColor3 = COLORS.Text
closeBtn.BackgroundTransparency = 1
closeBtn.TextTransparency = 1
Instance.new("UICorner", closeBtn).CornerRadius = UDim.new(0, 8)
local closeStroke = Instance.new("UIStroke", closeBtn)
closeStroke.Color = COLORS.Stroke
closeStroke.Thickness = 1
closeStroke.Transparency = 1

local modeLabel = Instance.new("TextLabel")
modeLabel.Parent = mainFrame
modeLabel.BackgroundTransparency = 1
modeLabel.Size = UDim2.new(1, -28, 0, 16)
modeLabel.Position = UDim2.new(0, 14, 0, 82)
modeLabel.Text = "Modes"
modeLabel.Font = Enum.Font.GothamMedium
modeLabel.TextSize = 12
modeLabel.TextColor3 = COLORS.Muted
modeLabel.TextXAlignment = Enum.TextXAlignment.Left
modeLabel.TextTransparency = 1

local buttonsHolder = Instance.new("Frame")
buttonsHolder.Parent = mainFrame
buttonsHolder.BackgroundTransparency = 1
buttonsHolder.Size = UDim2.new(1, -28, 0, 44)
buttonsHolder.Position = UDim2.new(0, 14, 0, 102)

local listLayout = Instance.new("UIListLayout")
listLayout.Parent = buttonsHolder
listLayout.FillDirection = Enum.FillDirection.Horizontal
listLayout.HorizontalAlignment = Enum.HorizontalAlignment.Left
listLayout.VerticalAlignment = Enum.VerticalAlignment.Center
listLayout.Padding = UDim.new(0, 8)

local function makeModeButton(text)
	local btn = Instance.new("TextButton")
	btn.Size = UDim2.new(0, 114, 1, 0)
	btn.BackgroundColor3 = COLORS.Panel2
	btn.BorderSizePixel = 0
	btn.Text = text
	btn.Font = Enum.Font.GothamSemibold
	btn.TextSize = 13
	btn.TextColor3 = COLORS.Text
	btn.BackgroundTransparency = 1
	btn.TextTransparency = 1
	Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 10)
	local stroke = Instance.new("UIStroke", btn)
	stroke.Color = COLORS.Stroke
	stroke.Thickness = 1
	stroke.Transparency = 1
	btn.Parent = buttonsHolder
	return btn, stroke
end

local orbitBtn, orbitStroke = makeModeButton("ORBIT")
local wingsBtn, wingsStroke = makeModeButton("WINGS")
local domainBtn, domainStroke = makeModeButton("DOMAIN")

local infoBox = Instance.new("Frame")
infoBox.Parent = mainFrame
infoBox.Size = UDim2.new(1, -28, 0, 92)
infoBox.Position = UDim2.new(0, 14, 0, 162)
infoBox.BackgroundColor3 = COLORS.Panel2
infoBox.BorderSizePixel = 0
infoBox.BackgroundTransparency = 1
Instance.new("UICorner", infoBox).CornerRadius = UDim.new(0, 10)
local infoStroke = Instance.new("UIStroke", infoBox)
infoStroke.Color = COLORS.Stroke
infoStroke.Thickness = 1
infoStroke.Transparency = 1

local infoText = Instance.new("TextLabel")
infoText.Parent = infoBox
infoText.BackgroundTransparency = 1
infoText.Size = UDim2.new(1, -20, 1, -16)
infoText.Position = UDim2.new(0, 10, 0, 8)
infoText.Text = "Props unanchor automatically to allow Network Ownership replication so everyone in the server sees your custom animations!"
infoText.TextWrapped = true
infoText.Font = Enum.Font.Gotham
infoText.TextSize = 13
infoText.TextColor3 = COLORS.Text
infoText.TextXAlignment = Enum.TextXAlignment.Left
infoText.TextYAlignment = Enum.TextYAlignment.Top
infoText.TextTransparency = 1

local statusLabel = Instance.new("TextLabel")
statusLabel.Parent = mainFrame
statusLabel.BackgroundTransparency = 1
statusLabel.Size = UDim2.new(1, -28, 0, 18)
statusLabel.Position = UDim2.new(0, 14, 1, -22)
statusLabel.Text = "Ready"
statusLabel.Font = Enum.Font.Gotham
statusLabel.TextSize = 12
statusLabel.TextColor3 = COLORS.Muted
statusLabel.TextXAlignment = Enum.TextXAlignment.Left
statusLabel.TextTransparency = 1

local openIcon = Instance.new("TextButton")
openIcon.Name = "OpenIcon"
openIcon.Parent = screenGui
openIcon.Visible = false
openIcon.Size = UDim2.new(0, 56, 0, 56)
openIcon.Position = UDim2.new(0, 18, 0.5, -28)
openIcon.BackgroundColor3 = COLORS.Panel
openIcon.BorderSizePixel = 0
openIcon.Text = "✦"
openIcon.Font = Enum.Font.GothamBold
openIcon.TextSize = 22
openIcon.TextColor3 = COLORS.Text
openIcon.BackgroundTransparency = 1
openIcon.TextTransparency = 1
Instance.new("UICorner", openIcon).CornerRadius = UDim.new(1, 0)
local openStroke = Instance.new("UIStroke", openIcon)
openStroke.Color = COLORS.Accent
openStroke.Thickness = 1.2
openStroke.Transparency = 1
local openScale = Instance.new("UIScale", openIcon)
openScale.Scale = 0.85

local openTip = Instance.new("TextLabel")
openTip.Parent = openIcon
openTip.BackgroundTransparency = 1
openTip.Size = UDim2.new(0, 90, 0, 16)
openTip.Position = UDim2.new(0.5, -45, 1, 4)
openTip.Text = "Back to menu"
openTip.Font = Enum.Font.Gotham
openTip.TextSize = 10
openTip.TextColor3 = COLORS.Muted
openTip.TextTransparency = 1
local function makeDraggable(guiObject)
	local dragging = false
	local dragStart
	local startPos

	guiObject.InputBegan:Connect(function(input)
		if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
			dragging = true
			dragStart = input.Position
			startPos = guiObject.Position

			input.Changed:Connect(function()
				if input.UserInputState == Enum.UserInputState.End then
					dragging = false
				end
			end)
		end
	end)

	UserInputService.InputChanged:Connect(function(input)
		if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then
			local delta = input.Position - dragStart
			guiObject.Position = UDim2.new(
				startPos.X.Scale,
				startPos.X.Offset + delta.X,
				startPos.Y.Scale,
				startPos.Y.Offset + delta.Y
			)
		end
	end)
end

makeDraggable(mainFrame)
makeDraggable(openIcon)
makeDraggable(keyFrame)

local function createStar()
	local star = Instance.new("Frame")
	star.Parent = starsHolder
	star.AnchorPoint = Vector2.new(0.5, 0.5)
	local size = math.random(1, 3)
	star.Size = UDim2.new(0, size, 0, size)
	star.Position = UDim2.new(math.random(), 0, math.random(), 0)
	star.BackgroundColor3 = COLORS.Star
	star.BorderSizePixel = 0
	star.BackgroundTransparency = math.random(50, 80) / 100
	Instance.new("UICorner", star).CornerRadius = UDim.new(1, 0)

	task.spawn(function()
		while star.Parent do
			tween(star, math.random(20, 36) / 10, {
				Position = UDim2.new(math.random(), 0, math.random(), 0),
				BackgroundTransparency = math.random(55, 90) / 100
			}, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut).Completed:Wait()
		end
	end)
end

for _ = 1, 28 do
	createStar()
end

local orbitScale = Instance.new("UIScale", orbitBtn)
local wingsScale = Instance.new("UIScale", wingsBtn)
local domainScale = Instance.new("UIScale", domainBtn)
local keyBtnScale = Instance.new("UIScale", keyBtn)
local miniScale = Instance.new("UIScale", miniBtn)
local closeScale = Instance.new("UIScale", closeBtn)

local function pulseButton(btn, hoverColor, normalColor, scaleObject)
	btn.MouseEnter:Connect(function()
		tween(btn, 0.16, {BackgroundColor3 = hoverColor, BackgroundTransparency = 0})
		if scaleObject then
			tween(scaleObject, 0.16, {Scale = 1.03})
		end
	end)
	btn.MouseLeave:Connect(function()
		tween(btn, 0.16, {BackgroundColor3 = normalColor, BackgroundTransparency = 0})
		if scaleObject then
			tween(scaleObject, 0.16, {Scale = 1})
		end
	end)
end

pulseButton(keyBtn, COLORS.Accent2, COLORS.Accent, keyBtnScale)
pulseButton(orbitBtn, Color3.fromRGB(30, 30, 40), COLORS.Panel2, orbitScale)
pulseButton(wingsBtn, Color3.fromRGB(30, 30, 40), COLORS.Panel2, wingsScale)
pulseButton(domainBtn, Color3.fromRGB(30, 30, 40), COLORS.Panel2, domainScale)
pulseButton(miniBtn, Color3.fromRGB(34, 34, 42), COLORS.Panel2, miniScale)
pulseButton(closeBtn, Color3.fromRGB(54, 30, 36), COLORS.Panel2, closeScale)

openIcon.MouseEnter:Connect(function()
	tween(openIcon, 0.16, {BackgroundColor3 = Color3.fromRGB(24, 24, 32), BackgroundTransparency = 0})
	tween(openScale, 0.16, {Scale = 1.06})
	tween(openTip, 0.16, {TextTransparency = 0})
end)

openIcon.MouseLeave:Connect(function()
	tween(openIcon, 0.16, {BackgroundColor3 = COLORS.Panel, BackgroundTransparency = 0})
	tween(openScale, 0.16, {Scale = 1})
	tween(openTip, 0.16, {TextTransparency = 1})
end)

local function animateIntro()
	tween(introGlow, 0.45, {
		Size = UDim2.new(0, 180, 0, 180),
		BackgroundTransparency = 0.82
	}, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)

	task.wait(0.08)

	tween(introTitle, 0.35, {TextTransparency = 0}, Enum.EasingStyle.Quart, Enum.EasingDirection.Out)
	tween(introSub, 0.35, {TextTransparency = 0}, Enum.EasingStyle.Quart, Enum.EasingDirection.Out)

	task.wait(0.55)

	tween(introGlow, 0.5, {
		Size = UDim2.new(0, 460, 0, 460),
		BackgroundTransparency = 1
	}, Enum.EasingStyle.Quart, Enum.EasingDirection.Out)
	tween(introTitle, 0.28, {TextTransparency = 1})
	tween(introSub, 0.28, {TextTransparency = 1})
	tween(introOverlay, 0.35, {BackgroundTransparency = 1})

	task.wait(0.36)
	introOverlay:Destroy()
end

local function revealKeyPanel()
	keyFrame.Visible = true
	tween(keyFrame, 0.22, {BackgroundTransparency = 0})
	tween(keyStroke, 0.22, {Transparency = 0})
	tween(keyScale, 0.24, {Scale = 1}, Enum.EasingStyle.Back, Enum.EasingDirection.Out)
	tween(keyHeader, 0.2, {TextTransparency = 0})
	tween(keySub, 0.2, {TextTransparency = 0})
	tween(keyInput, 0.2, {BackgroundTransparency = 0, TextTransparency = 0})
	tween(keyInputStroke, 0.2, {Transparency = 0})
	tween(keyBtn, 0.2, {BackgroundTransparency = 0, TextTransparency = 0})
end

local function revealMain()
	mainFrame.Visible = true
	tween(mainFrame, 0.22, {BackgroundTransparency = 0})
	tween(mainStroke, 0.22, {Transparency = 0})
	tween(mainScale, 0.28, {Scale = 1}, Enum.EasingStyle.Back, Enum.EasingDirection.Out)

	for _, obj in ipairs({title, subtitle, modeLabel, infoText, statusLabel}) do
		tween(obj, 0.2, {TextTransparency = 0})
	end

	for _, obj in ipairs({miniBtn, closeBtn, orbitBtn, wingsBtn, domainBtn, infoBox}) do
		if obj:IsA("TextButton") then
			tween(obj, 0.2, {BackgroundTransparency = 0, TextTransparency = 0})
		else
			tween(obj, 0.2, {BackgroundTransparency = 0})
		end
	end

	for _, stroke in ipairs({miniStroke, closeStroke, orbitStroke, wingsStroke, domainStroke, infoStroke}) do
		tween(stroke, 0.2, {Transparency = 0})
	end
end

local function hideMainToIcon()
	tween(mainScale, 0.18, {Scale = 0.88}, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
	tween(mainFrame, 0.18, {BackgroundTransparency = 1})
	tween(mainStroke, 0.18, {Transparency = 1})
	task.wait(0.18)

	mainFrame.Visible = false
	openIcon.Visible = true
	tween(openIcon, 0.18, {BackgroundTransparency = 0, TextTransparency = 0})
	tween(openStroke, 0.18, {Transparency = 0})
	tween(openTip, 0.18, {TextTransparency = 0})
	tween(openScale, 0.2, {Scale = 1}, Enum.EasingStyle.Back, Enum.EasingDirection.Out)
end

local function showMainFromIcon()
	tween(openScale, 0.15, {Scale = 0.82}, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
	tween(openIcon, 0.15, {BackgroundTransparency = 1, TextTransparency = 1})
	tween(openStroke, 0.15, {Transparency = 1})
	tween(openTip, 0.15, {TextTransparency = 1})
	task.wait(0.15)

	openIcon.Visible = false
	revealMain()
end

keyBtn.MouseButton1Click:Connect(function()
	if keyInput.Text == KEY_REQUIRED then
		keyBtn.Text = "ACCESS GRANTED"
		keyBtn.BackgroundColor3 = COLORS.Success
		task.wait(0.3)

		tween(keyScale, 0.18, {Scale = 0.9}, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
		tween(keyFrame, 0.18, {BackgroundTransparency = 1})
		tween(keyStroke, 0.18, {Transparency = 1})
		task.wait(0.2)

		keyFrame.Visible = false
		revealMain()
		applyMode("ORBIT")
	else
		keyBtn.Text = "INVALID KEY"
		keyBtn.BackgroundColor3 = Color3.fromRGB(94, 34, 40)
		task.wait(0.8)
		keyBtn.Text = "ACCESS"
		keyBtn.BackgroundColor3 = COLORS.Accent
	end
end)

miniBtn.MouseButton1Click:Connect(function()
	hideMainToIcon()
end)

openIcon.MouseButton1Click:Connect(function()
	showMainFromIcon()
end)

closeBtn.MouseButton1Click:Connect(function()
	stopAnimation()
	tween(mainScale, 0.18, {Scale = 0.84}, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
	tween(mainFrame, 0.18, {BackgroundTransparency = 1})
	tween(mainStroke, 0.18, {Transparency = 1})
	tween(keyFrame, 0.18, {BackgroundTransparency = 1})
	task.wait(0.2)
	screenGui:Destroy()
end)

task.spawn(function()
	animateIntro()
	revealKeyPanel()
end)

Features & Information

ORBITS THINGS BRUH YOU'RE NOT DUMB

Community Comments (1)

VanshErYxVanshErYxJun 29, 2026

open source orbit

More Scripts for Universal Scripts