local players = game:GetService("Players") local lighting = game:GetService("Lighting") local tweenService = game:GetService("TweenService") local userInputService = game:GetService("UserInputService") local lp = players.LocalPlayer local pgui = lp:WaitForChild("PlayerGui") local camera = workspace.CurrentCamera task.wait(3) local Theme = { Main = Color3.fromRGB(20, 20, 23), Accent = Color3.fromRGB(0, 190, 255), Secondary = Color3.fromRGB(30, 30, 35), Text = Color3.fromRGB(255, 255, 255), Font = Enum.Font.GothamBold } local introGui = Instance.new("ScreenGui") introGui.Name = "IntroGui" introGui.IgnoreGuiInset = true introGui.Parent = pgui local introLabel = Instance.new("TextLabel") introLabel.Size = UDim2.new(1, 0, 1, 0) introLabel.BackgroundTransparency = 1 introLabel.Text = "Made By LunaTheCat" introLabel.TextColor3 = Theme.Text introLabel.Font = Theme.Font introLabel.TextSize = 0 introLabel.TextTransparency = 1 introLabel.Parent = introGui local blur = Instance.new("BlurEffect") blur.Size = 0 blur.Parent = lighting tweenService:Create(blur, TweenInfo.new(1.5), {Size = 25}):Play() tweenService:Create(introLabel, TweenInfo.new(1.2, Enum.EasingStyle.Back), {TextSize = 55, TextTransparency = 0}):Play() task.wait(4.5) tweenService:Create(blur, TweenInfo.new(1.5), {Size = 0}):Play() local fade = tweenService:Create(introLabel, TweenInfo.new(1, Enum.EasingStyle.Quart), {TextSize = 80, TextTransparency = 1}) fade:Play() fade.Completed:Connect(function() introGui:Destroy() blur:Destroy() end) local function createCorner(parent, radius) local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, radius or 10) corner.Parent = parent end local function applyGradient(parent) local grad = Instance.new("UIGradient") grad.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(255, 255, 255)), ColorSequenceKeypoint.new(1, Color3.fromRGB(180, 180, 180)) }) grad.Rotation = 45 grad.Parent = parent end local screenGui = Instance.new("ScreenGui") screenGui.Name = "LunaHub_V15" screenGui.ResetOnSpawn = false screenGui.Parent = pgui local toggleBtn = Instance.new("TextButton") toggleBtn.Size = UDim2.new(0, 65, 0, 65) toggleBtn.Position = UDim2.new(0, 30, 0.5, -32) toggleBtn.BackgroundColor3 = Theme.Main toggleBtn.Text = "LUNA" toggleBtn.TextColor3 = Theme.Accent toggleBtn.Font = Theme.Font toggleBtn.TextSize = 14 toggleBtn.Parent = screenGui createCorner(toggleBtn, 100) local stroke = Instance.new("UIStroke") stroke.Thickness = 2 stroke.Color = Theme.Accent stroke.ApplyStrokeMode = Enum.ApplyStrokeMode.Border stroke.Parent = toggleBtn local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 340, 0, 480) frame.Position = UDim2.new(0.5, -170, 0.5, -240) frame.BackgroundColor3 = Theme.Main frame.Visible = false frame.ClipsDescendants = true frame.Parent = screenGui createCorner(frame, 15) local header = Instance.new("Frame") header.Size = UDim2.new(1, 0, 0, 50) header.BackgroundColor3 = Theme.Secondary header.Parent = frame createCorner(header, 15) local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -20, 1, 0) title.Position = UDim2.new(0, 20, 0, 0) title.Text = "LUNA HUB" title.TextColor3 = Theme.Text title.Font = Theme.Font title.TextSize = 18 title.TextXAlignment = Enum.TextXAlignment.Left title.BackgroundTransparency = 1 title.Parent = header local scroll = Instance.new("ScrollingFrame") scroll.Size = UDim2.new(1, -20, 1, -70) scroll.Position = UDim2.new(0, 10, 0, 60) scroll.BackgroundTransparency = 1 scroll.ScrollBarThickness = 2 scroll.ScrollBarImageColor3 = Theme.Accent scroll.Parent = frame local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 10) layout.Parent = scroll local function createPlayerRow(p) local row = Instance.new("Frame") row.Size = UDim2.new(1, -10, 0, 50) row.BackgroundColor3 = Theme.Secondary row.Parent = scroll createCorner(row, 8) local name = Instance.new("TextLabel") name.Size = UDim2.new(0.4, 0, 1, 0) name.Position = UDim2.new(0, 15, 0, 0) name.Text = p.DisplayName name.TextColor3 = Theme.Text name.Font = Enum.Font.GothamMedium name.TextSize = 14 name.TextXAlignment = Enum.TextXAlignment.Left name.BackgroundTransparency = 1 name.Parent = row local function createActionBtn(text, color, posX) local btn = Instance.new("TextButton") btn.Size = UDim2.new(0.18, 0, 0.6, 0) btn.Position = UDim2.new(posX, 0, 0.2, 0) btn.BackgroundColor3 = color btn.Text = text btn.TextColor3 = Color3.new(1, 1, 1) btn.Font = Theme.Font btn.TextSize = 11 btn.Parent = row createCorner(btn, 6) applyGradient(btn) return btn end local tp = createActionBtn("TP", Color3.fromRGB(0, 120, 255), 0.42) local view = createActionBtn("VIEW", Color3.fromRGB(70, 70, 80), 0.62) local esp = createActionBtn("ESP", Color3.fromRGB(160, 30, 220), 0.82) local function btnAnimate(b, color) b.MouseEnter:Connect(function() tweenService:Create(b, TweenInfo.new(0.3), {BackgroundColor3 = b.BackgroundColor3:Lerp(Color3.new(1,1,1), 0.2)}):Play() end) b.MouseLeave:Connect(function() tweenService:Create(b, TweenInfo.new(0.3), {BackgroundColor3 = color}):Play() end) end btnAnimate(tp, Color3.fromRGB(0, 120, 255)) btnAnimate(view, Color3.fromRGB(70, 70, 80)) btnAnimate(esp, Color3.fromRGB(160, 30, 220)) tp.MouseButton1Click:Connect(function() if p.Character then lp.Character.HumanoidRootPart.CFrame = p.Character.HumanoidRootPart.CFrame end end) view.MouseButton1Click:Connect(function() if camera.CameraSubject == p.Character.Humanoid then camera.CameraSubject = lp.Character.Humanoid view.Text = "VIEW" else camera.CameraSubject = p.Character.Humanoid view.Text = "STOP" end end) end toggleBtn.MouseButton1Click:Connect(function() if frame.Visible then frame:TweenSize(UDim2.new(0, 340, 0, 0), "Out", "Quart", 0.4, true, function() frame.Visible = false end) else frame.Size = UDim2.new(0, 340, 0, 0) frame.Visible = true frame:TweenSize(UDim2.new(0, 340, 0, 480), "Out", "Back", 0.5, true) end end) local function makeDraggable(obj) local dragging, dragInput, dragStart, startPos obj.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = obj.Position end end) userInputService.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart obj.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) obj.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = false end end) end makeDraggable(frame) makeDraggable(toggleBtn) for _, p in pairs(players:GetPlayers()) do if p ~= lp then createPlayerRow(p) end end