local Player = game.Players.LocalPlayer local Mouse = Player:GetMouse() local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local Players = game:GetService("Players") -- 1. UI SETUP local ScreenGui = Instance.new("ScreenGui", Player:WaitForChild("PlayerGui")) ScreenGui.Name = "XDAdminUI" 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 V1" 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 FlingBtn = createStyledBtn("Fling", Color3.fromRGB(255, 255, 0), GridFrame) local OrbitBtn = createStyledBtn("Orbit", Color3.fromRGB(255, 150, 0), 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 getRadius = createSlider("Orbit Radius", 2, 50, 10) local getOrbitSpeed = createSlider("Orbit Speed", 1, 100, 15) local getFlingPower = createSlider("Fling Strength", 1000, 20000, 9500) local getSpeed = createSlider("Walk Speed", 16, 250, 16) -- 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() -- LOGIC 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 bv.Velocity = dir.Unit * 60 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) -- NOCLIP FIX (Disables properly now) local noclip = false local ncConn NoclipBtn.MouseButton1Click:Connect(function() noclip = not noclip NoclipBtn.Text = noclip and "Noclip (ON)" or "Noclip" if noclip then ncConn = RunService.Stepped:Connect(function() if noclip and Player.Character then for _, v in pairs(Player.Character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = false end end end end) else if ncConn then ncConn:Disconnect() end if Player.Character then for _, v in pairs(Player.Character:GetDescendants()) do if v:IsA("BasePart") then v.CanCollide = true end end end end end) RunService.Heartbeat:Connect(function() if Player.Character and Player.Character:FindFirstChild("Humanoid") then Player.Character.Humanoid.WalkSpeed = getSpeed() end end) TPBtn.MouseButton1Click:Connect(function() local tpOn = not (TPBtn.Text == "TP (ON)") TPBtn.Text = tpOn and "TP (ON)" or "Tap TP" end) UserInputService.InputBegan:Connect(function(input) if TPBtn.Text == "TP (ON)" and (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) FlingBtn.MouseButton1Click:Connect(function() local hrp = Player.Character:FindFirstChild("HumanoidRootPart") if hrp then local f = hrp:FindFirstChild("FlingForce") if f then f:Destroy() FlingBtn.Text = "Fling" else local b = Instance.new("BodyAngularVelocity", hrp) b.Name = "FlingForce" b.AngularVelocity = Vector3.new(0, 99999, 0) b.MaxTorque = Vector3.new(0, math.huge, 0) FlingBtn.Text = "Fling (ON)" end end end) -- ORBIT local orbiting = false local oParts = {} OrbitBtn.MouseButton1Click:Connect(function() orbiting = not orbiting OrbitBtn.Text = orbiting and "Orbit (ON)" or "Orbit" if orbiting then for i=1,20 do local p = Instance.new("Part", workspace) p.Size = Vector3.new(4, 4, 4) p.BrickColor = BrickColor.new("Balck") p.Material = Enum.Material.Neon p.CanCollide = true local av = Instance.new("BodyAngularVelocity", p) av.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) local bv = Instance.new("BodyVelocity", p) bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) table.insert(oParts, p) task.delay(0.1, function() pcall(function() p:SetNetworkOwner(Player) end) end) end task.spawn(function() local angle = 0 while orbiting and Player.Character do angle = angle + (getOrbitSpeed() / 100) local hrp = Player.Character:FindFirstChild("HumanoidRootPart") if hrp then for i, part in ipairs(oParts) do if part:FindFirstChild("BodyAngularVelocity") then part.BodyAngularVelocity.AngularVelocity = Vector3.new(0, getFlingPower(), 0) end local offset = (i * (math.pi * 2 / #oParts)) local targetPos = hrp.Position + Vector3.new(math.cos(angle + offset) * getRadius(), 1.5, math.sin(angle + offset) * getRadius()) part.BodyVelocity.Velocity = (targetPos - part.Position) * 25 part.CFrame = CFrame.new(targetPos) end end RunService.Heartbeat:Wait() end for _, v in pairs(oParts) do v:Destroy() end oParts = {} end) end end) ResetBtn.MouseButton1Click:Connect(function() if Player.Character then Player.Character:BreakJoints() end end) 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)