
Key RequiredUniversal

local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
-- UI SETUP
local ScreenGui = Instance.new("ScreenGui", Player:WaitForChild("PlayerGui"))
ScreenGui.Name = "AdminUI"
ScreenGui.ResetOnSpawn = false
local function makeDraggable(obj)
local dragging, dragInput, dragStart, startPos
obj.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = obj.Position
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
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 or input.UserInputType == Enum.UserInputType.Touch then dragging = false end
end)
end
-- MAIN PANEL (SQUARE)
local MainFrame = Instance.new("Frame", ScreenGui)
MainFrame.Size = UDim2.new(0, 320, 0, 320)
MainFrame.Position = UDim2.new(0.5, -160, 0.5, -160)
MainFrame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
Instance.new("UICorner", MainFrame).CornerRadius = UDim.new(0, 12)
local MainStroke = Instance.new("UIStroke", MainFrame)
MainStroke.Thickness = 3
makeDraggable(MainFrame)
local Title = Instance.new("TextLabel", MainFrame)
Title.Size = UDim2.new(1, 0, 0, 45)
Title.BackgroundTransparency = 1
Title.Text = "XD Admin V3"
Title.Font = Enum.Font.FredokaOne
Title.TextSize = 24
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
-- SCROLLING FRAME
local Scroll = Instance.new("ScrollingFrame", MainFrame)
Scroll.Size = UDim2.new(1, 0, 1, -50)
Scroll.Position = UDim2.new(0, 0, 0, 45)
Scroll.BackgroundTransparency = 1
Scroll.CanvasSize = UDim2.new(0, 0, 0, 0)
Scroll.AutomaticCanvasSize = Enum.AutomaticSize.Y
Scroll.ScrollBarThickness = 4
local ListLayout = Instance.new("UIListLayout", Scroll)
ListLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center
ListLayout.Padding = UDim.new(0, 15)
local Padding = Instance.new("UIPadding", Scroll)
Padding.PaddingTop = UDim.new(0, 10)
Padding.PaddingBottom = UDim.new(0, 15)
-- BUTTON GRID
local GridFrame = Instance.new("Frame", Scroll)
GridFrame.Size = UDim2.new(0, 280, 0, 130) -- Adjusted height
GridFrame.BackgroundTransparency = 1
local GridLayout = Instance.new("UIGridLayout", GridFrame)
GridLayout.CellSize = UDim2.new(0, 135, 0, 35)
GridLayout.CellPadding = UDim2.new(0, 10, 0, 10)
local function createStyledBtn(name, color, parent)
local btn = Instance.new("TextButton", parent)
btn.Text = name
btn.BackgroundColor3 = color
btn.Font = Enum.Font.GothamBold
btn.TextSize = 13
btn.TextColor3 = Color3.fromRGB(0,0,0)
Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6)
return btn
end
local FlyBtn = createStyledBtn("Fly", Color3.fromRGB(0, 255, 100), GridFrame)
local NoclipBtn = createStyledBtn("Noclip", Color3.fromRGB(180, 100, 255), GridFrame)
local TPBtn = createStyledBtn("Tap TP", Color3.fromRGB(100, 200, 255), GridFrame)
local ResetBtn = createStyledBtn("Reset", Color3.fromRGB(255, 80, 80), GridFrame)
-- SLIDERS
local function createSlider(name, min, max, default)
local Holder = Instance.new("Frame", Scroll)
Holder.Size = UDim2.new(0, 280, 0, 45)
Holder.BackgroundTransparency = 1
local Label = Instance.new("TextLabel", Holder)
Label.Size = UDim2.new(1, 0, 0, 20)
Label.BackgroundTransparency = 1
Label.TextColor3 = Color3.fromRGB(255, 255, 255)
Label.TextSize = 12
Label.Text = name .. ": " .. default
Label.Font = Enum.Font.GothamBold
Label.TextXAlignment = Enum.TextXAlignment.Left
local SliderFrame = Instance.new("Frame", Holder)
SliderFrame.Size = UDim2.new(1, 0, 0, 20)
SliderFrame.Position = UDim2.new(0, 0, 0, 22)
SliderFrame.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
Instance.new("UICorner", SliderFrame).CornerRadius = UDim.new(0, 4)
local Bar = Instance.new("Frame", SliderFrame)
Bar.Size = UDim2.new(0.9, 0, 0, 4)
Bar.Position = UDim2.new(0.05, 0, 0.5, -2)
Bar.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
local Dot = Instance.new("TextButton", Bar)
Dot.Size = UDim2.new(0, 16, 0, 16)
Dot.Position = UDim2.new((default-min)/(max-min), -8, 0.5, -8)
Dot.Text = ""
Dot.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Instance.new("UICorner", Dot).CornerRadius = UDim.new(1, 0)
local val = default
local sliding = false
Dot.InputBegan:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then sliding = true end end)
UserInputService.InputEnded:Connect(function(i) if i.UserInputType == Enum.UserInputType.MouseButton1 or i.UserInputType == Enum.UserInputType.Touch then sliding = false end end)
UserInputService.InputChanged:Connect(function(i)
if sliding and (i.UserInputType == Enum.UserInputType.MouseMovement or i.UserInputType == Enum.UserInputType.Touch) then
local per = math.clamp((i.Position.X - Bar.AbsolutePosition.X) / Bar.AbsoluteSize.X, 0, 1)
Dot.Position = UDim2.new(per, -8, 0.5, -8)
val = math.floor(min + (per * (max-min)))
Label.Text = name .. ": " .. val
end
end)
return function() return val end
end
local getFlySpeed = createSlider("Fly Speed", 20, 500, 60)
local getSpeed = createSlider("Walk Speed", 16, 500, 16)
local getJumpPower = createSlider("Jump Power", 50, 500, 50)
local getGravity = createSlider("Gravity", 0, 196, 196)
-- PLAYER LIST
local ListTitle = Instance.new("TextLabel", Scroll)
ListTitle.Size = UDim2.new(1, 0, 0, 30)
ListTitle.BackgroundTransparency = 1
ListTitle.Text = "SERVER PLAYERS"
ListTitle.Font = Enum.Font.GothamBold
ListTitle.TextColor3 = Color3.fromRGB(150, 150, 150)
ListTitle.TextSize = 13
local PlayerListFrame = Instance.new("Frame", Scroll)
PlayerListFrame.Size = UDim2.new(0, 280, 0, 0)
PlayerListFrame.BackgroundTransparency = 1
local PlayerListLayout = Instance.new("UIListLayout", PlayerListFrame)
PlayerListLayout.Padding = UDim.new(0, 5)
local function updatePlayerList()
for _, v in pairs(PlayerListFrame:GetChildren()) do if v:IsA("Frame") then v:Destroy() end end
for _, p in pairs(Players:GetPlayers()) do
if p ~= Player then
local pEntry = Instance.new("Frame", PlayerListFrame)
pEntry.Size = UDim2.new(1, 0, 0, 35)
pEntry.BackgroundColor3 = Color3.fromRGB(40, 40, 40)
Instance.new("UICorner", pEntry).CornerRadius = UDim.new(0, 4)
local pLabel = Instance.new("TextLabel", pEntry)
pLabel.Size = UDim2.new(0.7, 0, 1, 0)
pLabel.Position = UDim2.new(0, 10, 0, 0)
pLabel.BackgroundTransparency = 1
pLabel.Text = p.DisplayName
pLabel.TextColor3 = Color3.fromRGB(255, 255, 255)
pLabel.TextXAlignment = Enum.TextXAlignment.Left
pLabel.Font = Enum.Font.Gotham
pLabel.TextSize = 11
local pTP = Instance.new("TextButton", pEntry)
pTP.Size = UDim2.new(0.2, 0, 0.7, 0)
pTP.Position = UDim2.new(0.75, 0, 0.15, 0)
pTP.BackgroundColor3 = Color3.fromRGB(100, 200, 255)
pTP.Text = "TP"
pTP.Font = Enum.Font.GothamBold
pTP.TextSize = 10
Instance.new("UICorner", pTP).CornerRadius = UDim.new(0, 4)
pTP.MouseButton1Click:Connect(function()
if p.Character and p.Character:FindFirstChild("HumanoidRootPart") then
Player.Character.HumanoidRootPart.CFrame = p.Character.HumanoidRootPart.CFrame * CFrame.new(0, 3, 0)
end
end)
end
end
PlayerListFrame.Size = UDim2.new(0, 280, 0, #Players:GetPlayers() * 40)
end
Players.PlayerAdded:Connect(updatePlayerList)
Players.PlayerRemoving:Connect(updatePlayerList)
updatePlayerList()
-- APPLY PLAYER stats
local function applyPlayerSettings()
local char = Player.Character
if not char then
return
end
local humanoid = char:FindFirstChildOfClass("Humanoid")
if humanoid then
-- Walk Speed
humanoid.WalkSpeed = getSpeed()
-- Jump Power
humanoid.UseJumpPower = true
humanoid.JumpPower = getJumpPower()
end
-- Gravity
workspace.Gravity = getGravity()
end
local settingsConnection = RunService.Heartbeat:Connect(function()
if Player.Character then
applyPlayerSettings()
end
end)
Player.CharacterAdded:Connect(function(character)
character:WaitForChild("Humanoid")
task.wait(0.1)
applyPlayerSettings()
end)
-- LOGIC
-- FLY
local flying = false
FlyBtn.MouseButton1Click:Connect(function()
flying = not flying
FlyBtn.Text = flying and "Fly (ON)" or "Fly"
local char = Player.Character
if flying and char then
local hrp = char:WaitForChild("HumanoidRootPart")
local bv = Instance.new("BodyVelocity", hrp)
bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge)
local bg = Instance.new("BodyGyro", hrp)
bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge)
char.Humanoid.PlatformStand = true
task.spawn(function()
while flying and char.Parent do
local cam = workspace.CurrentCamera
local dir = Vector3.new(0,0,0)
if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir = dir + cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir = dir - cam.CFrame.LookVector end
if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir = dir - cam.CFrame.RightVector end
if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir = dir + cam.CFrame.RightVector end
-- up & down
if UserInputService:IsKeyDown(Enum.KeyCode.E) then dir = dir + Vector3.new(0,1,0) end
if UserInputService:IsKeyDown(Enum.KeyCode.Q) then dir = dir - Vector3.new(0,1,0) end
bv.Velocity = dir.Unit * getFlySpeed()
if dir == Vector3.new(0,0,0) then bv.Velocity = Vector3.new(0,0,0) end
bg.CFrame = cam.CFrame
task.wait()
end
bv:Destroy() bg:Destroy() char.Humanoid.PlatformStand = false
end)
end
end)
Player.CharacterAdded:Connect(function(char)
flying = false
FlyBtn.Text = "Fly"
task.wait(0.1)
local hrp = char:FindFirstChild("HumanoidRootPart")
if hrp then
for _, v in ipairs(hrp:GetChildren()) do
if v:IsA("BodyVelocity") or v:IsA("BodyGyro") then
v:Destroy()
end
end
end
local humanoid = char:FindFirstChildOfClass("Humanoid")
if humanoid then
humanoid.PlatformStand = false
end
end)
-- NOCLIP
local noclip = false
local ncConn
local function toggleNoclip(on)
noclip = on
NoclipBtn.Text = on and "Noclip (ON)" or "Noclip"
if ncConn then ncConn:Disconnect() end
ncConn = nil
if on then
ncConn = RunService.Stepped:Connect(function()
if Player.Character then
for _, v in ipairs(Player.Character:GetDescendants()) do
if v:IsA("BasePart") then v.CanCollide = false end
end
end
end)
end
end
NoclipBtn.MouseButton1Click:Connect(function()
toggleNoclip(not noclip)
end)
Player.CharacterAdded:Connect(function()
toggleNoclip(false)
end)
ResetBtn.MouseButton1Click:Connect(function()
toggleNoclip(false)
if Player.Character then Player.Character:BreakJoints() end
end)
-- Tap TP
local tpOn = false
TPBtn.MouseButton1Click:Connect(function()
tpOn = not tpOn
TPBtn.Text = tpOn and "TP (ON)" or "Tap TP"
end)
UserInputService.InputBegan:Connect(function(input, processed)
if not tpOn or processed then return end
if input.UserInputType == Enum.UserInputType.MouseButton1
or input.UserInputType == Enum.UserInputType.Touch then
local pos = UserInputService:GetMouseLocation()
local ray = workspace.CurrentCamera:ViewportPointToRay(pos.X, pos.Y)
local hit = workspace:Raycast(ray.Origin, ray.Direction * 1000)
if hit and Player.Character then
Player.Character.HumanoidRootPart.CFrame =
CFrame.new(hit.Position + Vector3.new(0, 3, 0))
end
end
end)
-- Reset on death
Player.CharacterAdded:Connect(function()
tpOn = false
TPBtn.Text = "Tap TP"
end)
ResetBtn.MouseButton1Click:Connect(function()
tpOn = false
TPBtn.Text = "Tap TP"
if Player.Character then Player.Character:BreakJoints() end
end)
-- Reset button
ResetBtn.MouseButton1Click:Connect(function() if Player.Character then Player.Character:BreakJoints() end end)
-- X button
local CloseBtn = createStyledBtn("X", Color3.fromRGB(255,50,50), MainFrame)
CloseBtn.Size = UDim2.new(0, 26, 0, 26)
CloseBtn.Position = UDim2.new(1, -32, 0, 8)
local OpenBtn = createStyledBtn("Open XD", Color3.fromRGB(0,0,0), ScreenGui)
OpenBtn.Size = UDim2.new(0, 100, 0, 40)
OpenBtn.Position = UDim2.new(0.5, -50, 0.9, 0)
OpenBtn.TextColor3 = Color3.fromRGB(255,255,255)
OpenBtn.Visible = false
makeDraggable(OpenBtn)
CloseBtn.MouseButton1Click:Connect(function() MainFrame.Visible = false OpenBtn.Visible = true end)
OpenBtn.MouseButton1Click:Connect(function() MainFrame.Visible = true OpenBtn.Visible = false end)No comments yet for this script.



