
Key RequiredUniversal

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local camera = workspace.CurrentCamera
local RunService = game:GetService("RunService")
-- Helper function for typing animation
local function typeText(label, text, speed)
label.Text = ""
local i = 0
local length = #text
local conn
conn = RunService.Heartbeat:Connect(function(dt)
if i < length then
i = i + 1
label.Text = string.sub(text, 1, i)
else
conn:Disconnect()
end
end)
end
-- ScreenGui
local screenGui = Instance.new("ScreenGui", player:WaitForChild("PlayerGui"))
screenGui.Name = "AdminPanel"
-- === WELCOME SCREEN ===
local welcomeScreen = Instance.new("Frame")
welcomeScreen.Size = UDim2.new(1,0,1,0)
welcomeScreen.BackgroundColor3 = Color3.new(0,0,0)
welcomeScreen.BackgroundTransparency = 0.9
welcomeScreen.Parent = screenGui
local welcomeText = Instance.new("TextLabel")
welcomeText.Size = UDim2.new(0, 400, 0, 60)
welcomeText.Position = UDim2.new(0.5, -200, 0.4, 0)
welcomeText.BackgroundTransparency = 1
welcomeText.TextColor3 = Color3.new(1,1,1)
welcomeText.Font = Enum.Font.GothamBold
welcomeText.TextScaled = true
welcomeText.Text = ""
welcomeText.Parent = welcomeScreen
local welcomePfp = Instance.new("ImageLabel")
welcomePfp.Size = UDim2.new(0, 80, 0, 80)
welcomePfp.Position = UDim2.new(0.5, -40, 0.25, 0)
welcomePfp.BackgroundTransparency = 1
welcomePfp.Parent = welcomeScreen
local welcomePfpCorner = Instance.new("UICorner", welcomePfp)
welcomePfpCorner.CornerRadius = UDim.new(1,0)
welcomePfp.Image = ("https://www.roblox.com/headshot-thumbnail/image?userId=%d&width=420&height=420&format=png"):format(player.UserId)
-- Animate welcome text
typeText(welcomeText, "Welcome To SUD", 0.1)
-- After 3 seconds fade out welcome and show toggle button
delay(3, function()
for i=0,1,0.05 do
welcomeScreen.BackgroundTransparency = i
welcomeText.TextTransparency = i
welcomePfp.ImageTransparency = i
wait(0.03)
end
welcomeScreen:Destroy()
end)
-- === TOGGLE BUTTON ===
local toggleButton = Instance.new("TextButton", screenGui)
toggleButton.Size = UDim2.new(0, 70, 0, 70)
toggleButton.Position = UDim2.new(0, 10, 0.5, -35)
toggleButton.BackgroundColor3 = Color3.fromRGB(20,20,20)
toggleButton.BackgroundTransparency = 0.4
toggleButton.Text = ""
local toggleCorner = Instance.new("UICorner", toggleButton)
toggleCorner.CornerRadius = UDim.new(1,0)
local toggleIcon = Instance.new("TextLabel", toggleButton)
toggleIcon.Text = "≡"
toggleIcon.TextColor3 = Color3.new(1,1,1)
toggleIcon.Font = Enum.Font.GothamBold
toggleIcon.TextScaled = true
toggleIcon.BackgroundTransparency = 1
toggleIcon.Size = UDim2.new(1,0,1,0)
toggleIcon.Position = UDim2.new(0,0,0,0)
-- === MAIN ADMIN PANEL ===
local mainFrame = Instance.new("Frame", screenGui)
mainFrame.Size = UDim2.new(0, 600, 0, 400)
mainFrame.Position = UDim2.new(0.5, -300, 0.5, -200)
mainFrame.BackgroundColor3 = Color3.fromRGB(30,30,30)
mainFrame.BackgroundTransparency = 0.15
mainFrame.Visible = false
local mainCorner = Instance.new("UICorner", mainFrame)
mainCorner.CornerRadius = UDim.new(0, 20)
-- === PROFILE PICTURE in header
local headerFrame = Instance.new("Frame", mainFrame)
headerFrame.Size = UDim2.new(1, 0, 0, 60)
headerFrame.BackgroundTransparency = 1
local headerPfp = Instance.new("ImageLabel", headerFrame)
headerPfp.Size = UDim2.new(0, 50, 0, 50)
headerPfp.Position = UDim2.new(0, 10, 0, 5)
headerPfp.BackgroundTransparency = 1
headerPfp.Image = ("https://www.roblox.com/headshot-thumbnail/image?userId=%d&width=420&height=420&format=png"):format(player.UserId)
local pfpCorner = Instance.new("UICorner", headerPfp)
pfpCorner.CornerRadius = UDim.new(1,0)
local headerText = Instance.new("TextLabel", headerFrame)
headerText.Size = UDim2.new(1, -70, 1, 0)
headerText.Position = UDim2.new(0, 70, 0, 0)
headerText.BackgroundTransparency = 1
headerText.TextColor3 = Color3.new(1,1,1)
headerText.Font = Enum.Font.GothamBold
headerText.TextScaled = true
headerText.Text = "اهلا " .. player.Name
-- === TAB BUTTONS ===
local tabs = {"الاعب", "الهدف", "التنفيذ", "الاعدادات"}
local tabButtons = {}
local tabContents = {}
local tabsFrame = Instance.new("Frame", mainFrame)
tabsFrame.Size = UDim2.new(1, 0, 0, 40)
tabsFrame.Position = UDim2.new(0, 0, 0, 60)
tabsFrame.BackgroundTransparency = 1
local contentFrame = Instance.new("Frame", mainFrame)
contentFrame.Size = UDim2.new(1, -20, 1, -110)
contentFrame.Position = UDim2.new(0, 10, 0, 110)
contentFrame.BackgroundTransparency = 1
local function createTabButton(name, index)
local btn = Instance.new("TextButton", tabsFrame)
btn.Size = UDim2.new(0, 140, 1, 0)
btn.Position = UDim2.new(0, (index-1)*145, 0, 0)
btn.BackgroundColor3 = Color3.fromRGB(70,70,70)
btn.BackgroundTransparency = 0.4
btn.Text = name
btn.Font = Enum.Font.GothamBold
btn.TextColor3 = Color3.new(1,1,1)
btn.TextScaled = true
local corner = Instance.new("UICorner", btn)
corner.CornerRadius = UDim.new(0, 10)
return btn
end
local function createTabContent(name)
local frame = Instance.new("Frame", contentFrame)
frame.Size = UDim2.new(1,0,1,0)
frame.BackgroundTransparency = 1
frame.Visible = false
return frame
end
for i, tabName in ipairs(tabs) do
tabButtons[tabName] = createTabButton(tabName, i)
tabContents[tabName] = createTabContent(tabName)
end
-- Switch tab function
local function switchTab(name)
for n, btn in pairs(tabButtons) do
if n == name then
btn.BackgroundTransparency = 0.1
else
btn.BackgroundTransparency = 0.4
end
end
for n, content in pairs(tabContents) do
content.Visible = (n == name)
end
end
switchTab("الاعب")
for name, btn in pairs(tabButtons) do
btn.MouseButton1Click:Connect(function()
switchTab(name)
end)
end
-- === Tab Contents ===
-- "الاعب" tab: Speed and JumpPower settings
do
local tab = tabContents["الاعب"]
local speedLabel = Instance.new("TextLabel", tab)
speedLabel.Text = "سرعة:"
speedLabel.Size = UDim2.new(0, 120, 0, 40)
speedLabel.Position = UDim2.new(0, 50, 0, 30)
speedLabel.TextColor3 = Color3.new(1,1,1)
speedLabel.Font = Enum.Font.GothamBold
speedLabel.TextScaled = true
speedLabel.BackgroundTransparency = 1
local speedBox = Instance.new("TextBox", tab)
speedBox.Size = UDim2.new(0, 100, 0, 40)
speedBox.Position = UDim2.new(0, 180, 0, 30)
speedBox.PlaceholderText = "16"
speedBox.ClearTextOnFocus = false
speedBox.Text = tostring(player.Character and player.Character:FindFirstChildOfClass("Humanoid") and player.Character:FindFirstChildOfClass("Humanoid").WalkSpeed or 16)
speedBox.Font = Enum.Font.Gotham
speedBox.TextScaled = true
speedBox.FocusLost:Connect(function(enterPressed)
if enterPressed then
local num = tonumber(speedBox.Text)
if num and player.Character and player.Character:FindFirstChildOfClass("Humanoid") then
player.Character:FindFirstChildOfClass("Humanoid").WalkSpeed = num
end
end
end)
local jumpLabel = Instance.new("TextLabel", tab)
jumpLabel.Text = "قوة النط:"
jumpLabel.Size = UDim2.new(0, 120, 0, 40)
jumpLabel.Position = UDim2.new(0, 50, 0, 90)
jumpLabel.TextColor3 = Color3.new(1,1,1)
jumpLabel.Font = Enum.Font.GothamBold
jumpLabel.TextScaled = true
jumpLabel.BackgroundTransparency = 1
local jumpBox = Instance.new("TextBox", tab)
jumpBox.Size = UDim2.new(0, 100, 0, 40)
jumpBox.Position = UDim2.new(0, 180, 0, 90)
jumpBox.PlaceholderText = "50"
jumpBox.ClearTextOnFocus = false
jumpBox.Text = tostring(player.Character and player.Character:FindFirstChildOfClass("Humanoid") and player.Character:FindFirstChildOfClass("Humanoid").JumpPower or 50)
jumpBox.Font = Enum.Font.Gotham
jumpBox.TextScaled = true
jumpBox.FocusLost:Connect(function(enterPressed)
if enterPressed then
local num = tonumber(jumpBox.Text)
if num and player.Character and player.Character:FindFirstChildOfClass("Humanoid") then
player.Character:FindFirstChildOfClass("Humanoid").JumpPower = num
end
end
end)
-- Style tab background black with white text
tab.BackgroundColor3 = Color3.fromRGB(15,15,15)
tab.BackgroundTransparency = 0
end
-- "الهدف" tab: Player search + buttons
do
local tab = tabContents["الهدف"]
local searchLabel = Instance.new("TextLabel", tab)
searchLabel.Size = UDim2.new(0, 200, 0, 30)
searchLabel.Position = UDim2.new(0, 20, 0, 20)
searchLabel.Text = "ابحث عن لاعب"
searchLabel.Font = Enum.Font.GothamBold
searchLabel.TextScaled = true
searchLabel.BackgroundTransparency = 1
searchLabel.TextColor3 = Color3.new(1,1,1)
local searchBox = Instance.new("TextBox", tab)
searchBox.Size = UDim2.new(0, 250, 0, 30)
searchBox.Position = UDim2.new(0, 220, 0, 20)
searchBox.PlaceholderText = "اكتب اسم اللاعب هنا"
searchBox.ClearTextOnFocus = false
searchBox.Font = Enum.Font.Gotham
searchBox.TextScaled = true
local pfp = Instance.new("ImageLabel", tab)
pfp.Size = UDim2.new(0, 80, 0, 80)
pfp.Position = UDim2.new(0, 20, 0, 70)
pfp.BackgroundColor3 = Color3.fromRGB(50, 50, 50)
pfp.BackgroundTransparency = 0.3
local pfpCorner = Instance.new("UICorner", pfp)
pfpCorner.CornerRadius = UDim.new(1, 0) -- circle
pfp.Image = ""
local buttonsFrame = Instance.new("Frame", tab)
buttonsFrame.Size = UDim2.new(0, 320, 0, 50)
buttonsFrame.Position = UDim2.new(0, 130, 0, 80)
buttonsFrame.BackgroundTransparency = 1
local function createButton(text, posX)
local btn = Instance.new("TextButton", buttonsFrame)
btn.Size = UDim2.new(0, 90, 1, 0)
btn.Position = UDim2.new(0, posX, 0, 0)
btn.Text = text
btn.Font = Enum.Font.GothamBold
btn.TextScaled = true
btn.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
btn.TextColor3 = Color3.new(1, 1, 1)
local btnCorner = Instance.new("UICorner", btn)
btnCorner.CornerRadius = UDim.new(0, 10)
return btn
end
local teleportBtn = createButton("تنقل", 0)
local flingBtn = createButton("فلنق", 110)
local viewBtn = createButton("شاهد", 220)
local selectedPlayer = nil
local viewingConnection = nil
local function updatePFP(target)
if target then
pfp.Image = ("https://www.roblox.com/headshot-thumbnail/image?userId=%d&width=420&height=420&format=png"):format(target.UserId)
else
pfp.Image = ""
end
end
local function findPlayerByPartialName(namePart)
if not namePart or namePart == "" then return nil end
local lowerNamePart = namePart:lower()
for _, p in ipairs(Players:GetPlayers()) do
if p.Name:lower():find(lowerNamePart) or (p.DisplayName and p.DisplayName:lower():find(lowerNamePart)) then
return p
end
end
return nil
end
searchBox:GetPropertyChangedSignal("Text"):Connect(function()
local p = findPlayerByPartialName(searchBox.Text)
if p then
selectedPlayer = p
updatePFP(p)
else
selectedPlayer = nil
updatePFP(nil)
end
end)
teleportBtn.MouseButton1Click:Connect(function()
if selectedPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("HumanoidRootPart") then
player.Character.HumanoidRootPart.CFrame = selectedPlayer.Character.HumanoidRootPart.CFrame * CFrame.new(0,5,0)
end
end)
flingBtn.MouseButton1Click:Connect(function()
if selectedPlayer and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("HumanoidRootPart") then
-- Simple fling example: Apply BodyVelocity to target
local hrp = selectedPlayer.Character.HumanoidRootPart
local bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(1e5,1e5,1e5)
bv.Velocity = Vector3.new(math.random(-100,100), 50, math.random(-100,100))
bv.Parent = hrp
game.Debris:AddItem(bv, 0.5)
end
end)
viewBtn.MouseButton1Click:Connect(function()
if selectedPlayer and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("HumanoidRootPart") then
if viewingConnection then
viewingConnection:Disconnect()
viewingConnection = nil
camera.CameraSubject = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
viewBtn.Text = "شاهد"
else
local humanoid = selectedPlayer.Character:FindFirstChildOfClass("Humanoid")
camera.CameraSubject = humanoid
viewBtn.Text = "ايقاف المشاهدة"
viewingConnection = selectedPlayer.Character.Humanoid.Died:Connect(function()
camera.CameraSubject = player.Character and player.Character:FindFirstChildOfClass("Humanoid")
viewBtn.Text = "شاهد"
viewingConnection:Disconnect()
viewingConnection = nil
end)
end
end
end)
tab.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
tab.BackgroundTransparency = 0
end
-- "التنفيذ" tab: simple command box
do
local tab = tabContents["التنفيذ"]
local cmdLabel = Instance.new("TextLabel", tab)
cmdLabel.Text = "نفذ أمر:"
cmdLabel.Size = UDim2.new(0, 200, 0, 40)
cmdLabel.Position = UDim2.new(0, 50, 0, 40)
cmdLabel.TextColor3 = Color3.new(1,1,1)
cmdLabel.Font = Enum.Font.GothamBold
cmdLabel.TextScaled = true
cmdLabel.BackgroundTransparency = 1
local cmdBox = Instance.new("TextBox", tab)
cmdBox.Size = UDim2.new(0, 400, 0, 40)
cmdBox.Position = UDim2.new(0, 50, 0, 100)
cmdBox.PlaceholderText = "اكتب الأمر هنا"
cmdBox.ClearTextOnFocus = false
cmdBox.Font = Enum.Font.Gotham
cmdBox.TextScaled = true
local executeBtn = Instance.new("TextButton", tab)
executeBtn.Size = UDim2.new(0, 120, 0, 40)
executeBtn.Position = UDim2.new(0, 470, 0, 100)
executeBtn.Text = "نفذ"
executeBtn.Font = Enum.Font.GothamBold
executeBtn.TextScaled = true
executeBtn.BackgroundColor3 = Color3.fromRGB(40, 120, 40)
executeBtn.TextColor3 = Color3.new(1,1,1)
local btnCorner = Instance.new("UICorner", executeBtn)
btnCorner.CornerRadius = UDim.new(0, 10)
executeBtn.MouseButton1Click:Connect(function()
local command = cmdBox.Text
if command and command ~= "" then
-- Run command as Lua (dangerous, but demo)
local func, err = loadstring(command)
if func then
local success, result = pcall(func)
if not success then
print("Error executing command: " .. tostring(result))
end
else
print("Invalid command syntax: " .. tostring(err))
end
end
end)
tab.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
tab.BackgroundTransparency = 0
end
-- "الاعدادات" tab: transparency slider and light/dark mode toggle
do
local tab = tabContents["الاعدادات"]
local transparencyLabel = Instance.new("TextLabel", tab)
transparencyLabel.Text = "شفافية النافذة:"
transparencyLabel.Size = UDim2.new(0, 200, 0, 30)
transparencyLabel.Position = UDim2.new(0, 40, 0, 30)
transparencyLabel.Font = Enum.Font.GothamBold
transparencyLabel.TextColor3 = Color3.new(1,1,1)
transparencyLabel.BackgroundTransparency = 1
transparencyLabel.TextScaled = true
local transparencySlider = Instance.new("TextBox", tab)
transparencySlider.Size = UDim2.new(0, 100, 0, 30)
transparencySlider.Position = UDim2.new(0, 250, 0, 30)
transparencySlider.PlaceholderText = "0.15"
transparencySlider.Text = tostring(mainFrame.BackgroundTransparency)
transparencySlider.Font = Enum.Font.Gotham
transparencySlider.TextScaled = true
transparencySlider.ClearTextOnFocus = false
transparencySlider.FocusLost:Connect(function(enterPressed)
if enterPressed then
local val = tonumber(transparencySlider.Text)
if val and val >= 0 and val <= 1 then
mainFrame.BackgroundTransparency = val
else
transparencySlider.Text = tostring(mainFrame.BackgroundTransparency)
end
end
end)
local themeLabel = Instance.new("TextLabel", tab)
themeLabel.Text = "الوضع:"
themeLabel.Size = UDim2.new(0, 100, 0, 30)
themeLabel.Position = UDim2.new(0, 40, 0, 80)
themeLabel.Font = Enum.Font.GothamBold
themeLabel.TextColor3 = Color3.new(1,1,1)
themeLabel.BackgroundTransparency = 1
themeLabel.TextScaled = true
local themeToggle = Instance.new("TextButton", tab)
themeToggle.Size = UDim2.new(0, 120, 0, 40)
themeToggle.Position = UDim2.new(0, 140, 0, 75)
themeToggle.Text = "داكن"
themeToggle.Font = Enum.Font.GothamBold
themeToggle.TextColor3 = Color3.new(1,1,1)
themeToggle.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
local toggleCorner = Instance.new("UICorner", themeToggle)
toggleCorner.CornerRadius = UDim.new(0, 10)
local darkMode = true
themeToggle.MouseButton1Click:Connect(function()
darkMode = not darkMode
if darkMode then
mainFrame.BackgroundColor3 = Color3.fromRGB(30,30,30)
themeToggle.Text = "داكن"
themeToggle.BackgroundColor3 = Color3.fromRGB(30, 30, 30)
for _,btn in pairs(tabButtons) do
btn.BackgroundColor3 = Color3.fromRGB(70,70,70)
end
else
mainFrame.BackgroundColor3 = Color3.fromRGB(220,220,220)
themeToggle.Text = "فاتح"
themeToggle.BackgroundColor3 = Color3.fromRGB(180, 180, 180)
for _,btn in pairs(tabButtons) do
btn.BackgroundColor3 = Color3.fromRGB(180,180,180)
end
end
end)
tab.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
tab.BackgroundTransparency = 0
end
-- Show/hide admin panel on toggle button click with smooth animation
local tweenService = game:GetService("TweenService")
local isOpen = false
toggleButton.MouseButton1Click:Connect(function()
isOpen = not isOpen
if isOpen then
mainFrame.Visible = true
local tweenPos = TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.Out)
local tween = tweenService:Create(mainFrame, tweenPos, {Position = UDim2.new(0.5, -300, 0.5, -200)})
tween:Play()
else
local tweenPos = TweenInfo.new(0.3, Enum.EasingStyle.Quad, Enum.EasingDirection.In)
local tween = tweenService:Create(mainFrame, tweenPos, {Position = UDim2.new(0, -600, 0.5, -200)})
tween:Play()
tween.Completed:Wait()
mainFrame.Visible = false
end
end)
-- Hide mainFrame offscreen initially
mainFrame.Position = UDim2.new(0, -600, 0.5, -200)
mainFrame.Visible = falseNo comments yet for this script.



