local player = game.Players.LocalPlayer local root = player.Character or player.CharacterAdded:Wait() root = root:WaitForChild("HumanoidRootPart") local gui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui")) local button = Instance.new("TextButton", gui) button.Size, button.Position, button.Text = UDim2.new(0, 200, 0, 50), UDim2.new(0.5, -100, 0.1, 0), "Toggle Planets" local orbiting, planets = false, {} local function createPlanet(size, dist, name, color, speed, parent) local p = Instance.new("Part", workspace) p.Size, p.Shape, p.Material, p.Color, p.Anchored, p.Name = Vector3.new(size, size, size), Enum.PartType.Ball, Enum.Material.Neon, color, true, name table.insert(planets, {part = p, dist = dist, angle = math.random(360), speed = speed, parent = parent}) end -- **Planets & Moons** local bodies = { {2, 15, "Mercury", Color3.new(0.8, 0.8, 0.8), 1.5}, {3, 25, "Venus", Color3.new(1, 0.6, 0), 1.2}, {3, 40, "Earth", Color3.new(0, 0.6, 1), 1}, {1, 45, "Moon", Color3.new(0.7, 0.7, 0.7), 3, "Earth"}, {3, 60, "Mars", Color3.new(1, 0.2, 0.2), 0.8}, {5, 90, "Jupiter", Color3.new(1, 0.8, 0.4), 0.5}, {2, 100, "Europa", Color3.new(0.9, 0.9, 0.9), 2, "Jupiter"}, {1, 105, "MiniMoon", Color3.new(0.5, 0.5, 0.5), 4, "Europa"}, {6, 120, "Saturn", Color3.new(1, 0.87, 0.5), 0.4}, {5, 150, "Uranus", Color3.new(0.6, 0.8, 1), 0.3}, {4, 180, "Neptune", Color3.new(0.2, 0.2, 1), 0.25}, {10, 350, "Titan Prime", Color3.new(1, 0.4, 1), 0.1}, -- **8 New Planets** {4, 200, "Exo-1", Color3.new(1, 0, 0), 0.2}, {5, 220, "Exo-2", Color3.new(0, 1, 0), 0.18}, {3, 240, "Exo-3", Color3.new(0, 0, 1), 0.16}, {6, 260, "Exo-4", Color3.new(1, 1, 0), 0.14}, {4, 280, "Exo-5", Color3.new(1, 0, 1), 0.12}, {5, 300, "Exo-6", Color3.new(0, 1, 1), 0.10}, {3, 320, "Exo-7", Color3.new(0.5, 0.5, 0.5), 0.08}, {6, 340, "Exo-8", Color3.new(1, 0.5, 0), 0.06} } for _, b in pairs(bodies) do createPlanet(unpack(b)) end -- **Kuiper Belt (Randomized)** for _ = 1, 30 do createPlanet(1, math.random(360, 500), "Kuiper Object", Color3.new(0.7, 0.7, 1), math.random(1, 5) / 10) end -- **Titan Prime's Rings** local rings = {} for i = 0, 1 do local r = Instance.new("Part", workspace) r.Size, r.Shape, r.Material, r.Color, r.Anchored = Vector3.new(30 + (i * 5), 0.5, 30 + (i * 5)), Enum.PartType.Cylinder, Enum.Material.Neon, Color3.new(0.8, 0.8, 1), true r.Orientation = Vector3.new(45, i * 30, 0) table.insert(rings, r) end game:GetService("RunService").RenderStepped:Connect(function() if orbiting then for _, d in pairs(planets) do local center = d.parent and workspace:FindFirstChild(d.parent) or root if center then d.angle = d.angle + d.speed d.part.Position = center.Position + Vector3.new(math.cos(math.rad(d.angle)) * d.dist, 3, math.sin(math.rad(d.angle)) * d.dist) end end for _, r in pairs(rings) do r.Position = workspace:FindFirstChild("Titan Prime").Position end end end) button.MouseButton1Click:Connect(function() orbiting = not orbiting button.BackgroundColor3 = orbiting and Color3.new(0, 0.8, 0) or Color3.new(0.2, 0.2, 0.2) if not orbiting then for _, d in pairs(planets) do d.part:Destroy() end planets = {} for _, r in pairs(rings) do r:Destroy() end end end)