--// UNIVERSAL ADMIN PANEL REAL (NO SOLO VISUAL) - LocalScript --// StarterPlayer > StarterPlayerScripts local Players = game:GetService("Players") local UIS = game:GetService("UserInputService") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") if playerGui:FindFirstChild("UniversalAdminPanel") then playerGui.UniversalAdminPanel:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "UniversalAdminPanel" gui.ResetOnSpawn = false gui.Parent = playerGui -- MAIN local main = Instance.new("Frame") main.Size = UDim2.new(0, 760, 0, 500) main.Position = UDim2.new(0.5, -380, 0.5, -250) main.BackgroundColor3 = Color3.fromRGB(20,20,35) main.BorderSizePixel = 0 main.Parent = gui Instance.new("UICorner", main).CornerRadius = UDim.new(0,18) local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(0,255,255) stroke.Thickness = 2 stroke.Parent = main -- TITLE local title = Instance.new("TextLabel") title.Size = UDim2.new(1,-60,0,45) title.Position = UDim2.new(0,15,0,5) title.BackgroundTransparency = 1 title.Text = "Oplo Keyless" title.TextColor3 = Color3.new(1,1,1) title.Font = Enum.Font.GothamBold title.TextSize = 24 title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = main -- MINIMIZE local minimize = Instance.new("TextButton") minimize.Size = UDim2.new(0,40,0,40) minimize.Position = UDim2.new(1,-50,0,5) minimize.Text = "-" minimize.Font = Enum.Font.GothamBold minimize.TextSize = 24 minimize.TextColor3 = Color3.new(1,1,1) minimize.BackgroundColor3 = Color3.fromRGB(0,170,255) minimize.Parent = main Instance.new("UICorner", minimize) -- LEFT PANEL local left = Instance.new("Frame") left.Size = UDim2.new(0,180,1,-55) left.Position = UDim2.new(0,0,0,55) left.BackgroundColor3 = Color3.fromRGB(15,15,28) left.Parent = main -- RIGHT PANEL local powers = Instance.new("ScrollingFrame") powers.Size = UDim2.new(1,-190,1,-65) powers.Position = UDim2.new(0,190,0,60) powers.CanvasSize = UDim2.new(0,0,0,1200) powers.ScrollBarThickness = 6 powers.BackgroundTransparency = 1 powers.Parent = main local grid = Instance.new("UIGridLayout") grid.CellSize = UDim2.new(0,160,0,55) grid.CellPadding = UDim2.new(0,10,0,10) grid.Parent = powers -- FUNCTIONS local flying = false local noclip = false local function getChar() return player.Character or player.CharacterAdded:Wait() end local function fly() local char = getChar() local hrp = char:WaitForChild("HumanoidRootPart") if flying then flying = false if hrp:FindFirstChild("FlyVelocity") then hrp.FlyVelocity:Destroy() end if hrp:FindFirstChild("FlyGyro") then hrp.FlyGyro:Destroy() end return end flying = true local bv = Instance.new("BodyVelocity") bv.Name = "FlyVelocity" bv.MaxForce = Vector3.new(999999,999999,999999) bv.Parent = hrp local bg = Instance.new("BodyGyro") bg.Name = "FlyGyro" bg.MaxTorque = Vector3.new(999999,999999,999999) bg.Parent = hrp task.spawn(function() while flying and hrp.Parent do local cam = workspace.CurrentCamera bg.CFrame = cam.CFrame local dir = Vector3.zero if UIS:IsKeyDown(Enum.KeyCode.W) then dir += cam.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.S) then dir -= cam.CFrame.LookVector end if UIS:IsKeyDown(Enum.KeyCode.A) then dir -= cam.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.D) then dir += cam.CFrame.RightVector end if UIS:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.new(0,1,0) end bv.Velocity = dir * 80 task.wait() end end) end local function activatePower(power) local char = getChar() local hum = char:FindFirstChildOfClass("Humanoid") local hrp = char:FindFirstChild("HumanoidRootPart") if power == "Fly" then fly() elseif power == "Speed" then hum.WalkSpeed = 100 elseif power == "Jump" then hum.JumpPower = 150 elseif power == "Normal" then hum.WalkSpeed = 16 hum.JumpPower = 50 elseif power == "Noclip" then noclip = not noclip task.spawn(function() while noclip do for _,v in pairs(char:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end task.wait() end end) elseif power == "Invisible" then for _,v in pairs(char:GetDescendants()) do if v:IsA("BasePart") then v.Transparency = 0.7 end end elseif power == "Visible" then for _,v in pairs(char:GetDescendants()) do if v:IsA("BasePart") then v.Transparency = 0 end end elseif power == "BigHead" then char.Head.Size = Vector3.new(5,5,5) elseif power == "SmallHead" then char.Head.Size = Vector3.new(1,1,1) elseif power == "Sit" then hum.Sit = true elseif power == "Reset" then hum.Health = 0 elseif power == "Spin" then task.spawn(function() for i = 1,150 do hrp.CFrame *= CFrame.Angles(0, math.rad(20), 0) task.wait() end end) elseif power == "Flashlight" then if not char.Head:FindFirstChild("Light") then local light = Instance.new("SpotLight") light.Name = "Light" light.Brightness = 5 light.Range = 30 light.Parent = char.Head end elseif power == "Sparkles" then Instance.new("Sparkles", hrp) elseif power == "Fire" then Instance.new("Fire", hrp) elseif power == "Smoke" then Instance.new("Smoke", hrp) elseif power == "ForceField" then Instance.new("ForceField", char) elseif power == "Heal" then hum.Health = hum.MaxHealth elseif power == "Gravity Low" then workspace.Gravity = 50 elseif power == "Gravity Normal" then workspace.Gravity = 196.2 elseif power == "FOV+" then workspace.CurrentCamera.FieldOfView = 120 elseif power == "FOV Normal" then workspace.CurrentCamera.FieldOfView = 70 end end -- CATEGORIES local categories = { Player = {"Fly","Speed","Jump","Normal","Noclip","Invisible","Visible","Reset"}, Fun = {"BigHead","SmallHead","Spin","Sit","Sparkles","Fire","Smoke","ForceField"}, Utility = {"Flashlight","Heal","Gravity Low","Gravity Normal","FOV+","FOV Normal","Speed","Jump"} } local function clearButtons() for _,v in pairs(powers:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end end local function loadCategory(cat) clearButtons() for _,power in ipairs(categories[cat]) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(0,160,0,55) btn.Text = power btn.Font = Enum.Font.GothamBold btn.TextSize = 16 btn.TextColor3 = Color3.new(1,1,1) btn.BackgroundColor3 = Color3.fromRGB(35,35,55) btn.Parent = powers Instance.new("UICorner", btn) btn.MouseButton1Click:Connect(function() activatePower(power) end) end end -- CATEGORY BUTTONS local y = 10 for cat,_ in pairs(categories) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(1,-20,0,45) btn.Position = UDim2.new(0,10,0,y) btn.Text = cat btn.Font = Enum.Font.GothamBold btn.TextSize = 18 btn.TextColor3 = Color3.new(1,1,1) btn.BackgroundColor3 = Color3.fromRGB(25,25,45) btn.Parent = left Instance.new("UICorner", btn) btn.MouseButton1Click:Connect(function() loadCategory(cat) end) y += 55 end loadCategory("Player") -- MINIMIZE local minimized = false local oldSize = main.Size minimize.MouseButton1Click:Connect(function() minimized = not minimized if minimized then left.Visible = false powers.Visible = false main.Size = UDim2.new(0,250,0,50) minimize.Text = "+" else left.Visible = true powers.Visible = true main.Size = oldSize minimize.Text = "-" end end) -- DRAG local dragging = false local dragStart local startPos title.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true dragStart = input.Position startPos = main.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) UIS.InputChanged:Connect(function(input) if dragging and input.UserInputType == Enum.UserInputType.MouseMovement then local delta = input.Position - dragStart main.Position = UDim2.new( startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y ) end end)