
KeylessUniversal

-- DARK SLAYER VL V2 (PHONE UI EDITION)
if not game:IsLoaded() then game.Loaded:Wait() end
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UIS = game:GetService("UserInputService")
local CoreGui = game:GetService("CoreGui")
local HttpService = game:GetService("HttpService")
local TeleportService = game:GetService("TeleportService")
local lp = Players.LocalPlayer
repeat task.wait() until lp.Character and lp.Character:FindFirstChild("HumanoidRootPart")
local cam = workspace.CurrentCamera
-- State
local flying, infJump, nocliping, espEnabled, isFrozen = false, false, false, false, false
local flySpeed, frozenPos = 120, nil
local timeLeft, timerOn = 0, false
-- Cleanup existing GUI
if CoreGui:FindFirstChild("DS_Phone_V1") then CoreGui["DS_Phone_V1"]:Destroy() end
-- ======= PHONE UI DESIGN =======
local gui = Instance.new("ScreenGui", CoreGui)
gui.Name = "DS_Phone_V1"
local main = Instance.new("Frame", gui)
main.Size = UDim2.new(0, 280, 0, 560)
main.Position = UDim2.new(0.5, -140, 0.5, -280)
main.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
main.BorderSizePixel = 0
main.Active, main.Draggable = true, true
local corner = Instance.new("UICorner", main)
corner.CornerRadius = UDim.new(0, 40)
local stroke = Instance.new("UIStroke", main)
stroke.Thickness = 4
stroke.Color = Color3.fromRGB(40, 40, 40)
local notch = Instance.new("Frame", main)
notch.Size = UDim2.new(0, 120, 0, 25)
notch.Position = UDim2.new(0.5, -60, 0, 0)
notch.BackgroundColor3 = Color3.fromRGB(10, 10, 10)
Instance.new("UICorner", notch).CornerRadius = UDim.new(0, 10)
local homeBar = Instance.new("Frame", main)
homeBar.Size = UDim2.new(0, 100, 0, 5)
homeBar.Position = UDim2.new(0.5, -50, 1, -15)
homeBar.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
homeBar.BackgroundTransparency = 0.5
Instance.new("UICorner", homeBar)
local container = Instance.new("ScrollingFrame", main)
container.Size = UDim2.new(0.9, 0, 0.82, 0)
container.Position = UDim2.new(0.05, 0, 0.08, 0)
container.BackgroundTransparency = 1
container.CanvasSize = UDim2.new(0, 0, 1.2, 0)
container.ScrollBarThickness = 0
local function createBtn(text, pos, size, color)
local b = Instance.new("TextButton", container)
b.Size = size or UDim2.new(1, 0, 0, 40)
b.Position = pos
b.Text = text
b.BackgroundColor3 = color or Color3.fromRGB(25, 25, 25)
b.TextColor3 = Color3.new(1, 1, 1)
b.TextScaled = true
b.BorderSizePixel = 0
Instance.new("UICorner", b).CornerRadius = UDim.new(0, 8)
return b
end
-- ======= FEATURES =======
local espBtn = createBtn("ESP: OFF", UDim2.new(0, 0, 0, 0), nil, Color3.fromRGB(70, 0, 0))
local noclipBtn = createBtn("NOCLIP: OFF", UDim2.new(0, 0, 0.08, 0), UDim2.new(0.48, 0, 0, 40))
local flyBtn = createBtn("FLY: OFF", UDim2.new(0.52, 0, 0.08, 0), UDim2.new(0.48, 0, 0, 40))
local speedBtn = createBtn("SPEED: OFF", UDim2.new(0, 0, 0.16, 0), UDim2.new(0.48, 0, 0, 40))
local jumpBtn = createBtn("INF JUMP: OFF", UDim2.new(0.52, 0, 0.16, 0), UDim2.new(0.48, 0, 0, 40))
local freezeBtn = createBtn("FREEZE: OFF", UDim2.new(0, 0, 0.24, 0), nil, Color3.fromRGB(0, 45, 90))
local hopBtn = createBtn("JOIN ACTIVE SERVER", UDim2.new(0, 0, 0.32, 0), nil, Color3.fromRGB(160, 0, 0))
hopBtn.MouseButton1Click:Connect(function()
hopBtn.Text = "FINDING..."
local url = "https://games.roblox.com/v1/games/"..game.PlaceId.."/servers/Public?sortOrder=Desc&limit=100"
local s, res = pcall(function() return HttpService:JSONDecode(game:HttpGet(url)).data end)
if s then
for _, v in pairs(res) do
local openSlots = v.maxPlayers - v.playing
if openSlots >= 2 and openSlots <= 5 and v.id ~= game.JobId then
TeleportService:TeleportToPlaceInstance(game.PlaceId, v.id)
return
end
end
end
end)
-- Timer Section
local timerLabel = Instance.new("TextLabel", container)
timerLabel.Size = UDim2.new(1, 0, 0, 40)
timerLabel.Position = UDim2.new(0, 0, 0.40, 0)
timerLabel.Text = "00:00"
timerLabel.TextColor3 = Color3.new(1,1,1)
timerLabel.BackgroundTransparency = 1
timerLabel.TextScaled = true
local timeInput = Instance.new("TextBox", container)
timeInput.Size = UDim2.new(1, 0, 0, 30)
timeInput.Position = UDim2.new(0, 0, 0.48, 0)
timeInput.Text = "60"
timeInput.BackgroundColor3 = Color3.fromRGB(25,25,25)
timeInput.TextColor3 = Color3.new(1,1,1)
Instance.new("UICorner", timeInput)
local startBtn = createBtn("START", UDim2.new(0, 0, 0.55, 0), UDim2.new(0.48, 0, 0, 35), Color3.fromRGB(0, 70, 0))
local resetBtn = createBtn("RESET", UDim2.new(0.52, 0, 0.55, 0), UDim2.new(0.48, 0, 0, 35), Color3.fromRGB(70, 0, 0))
task.spawn(function()
while task.wait(1) do
if timerOn and timeLeft > 0 then
timeLeft = timeLeft - 1
timerLabel.Text = string.format("%02d:%02d", math.floor(timeLeft/60), timeLeft%60)
end
end
end)
-- Bases Teleport
local bases = {
Vector3.new(-210,-11,-201), Vector3.new(-209,-11,-58),
Vector3.new(-209,-11,84), Vector3.new(179,-11,85),
Vector3.new(179,-11,-58), Vector3.new(180,-11,-201)
}
for i, pos in pairs(bases) do
local b = createBtn("B"..i, UDim2.new(0 + ((i-1)%2)*0.52, 0, 0.65 + math.floor((i-1)/2)*0.08, 0), UDim2.new(0.48, 0, 0, 35))
b.MouseButton1Click:Connect(function()
if lp.Character and lp.Character:FindFirstChild("HumanoidRootPart") then
lp.Character.HumanoidRootPart.CFrame = CFrame.new(pos + Vector3.new(0,5,0))
end
end)
end
local exitBtn = createBtn("SHUTDOWN", UDim2.new(0, 0, 0.92, 0), nil, Color3.fromRGB(40,40,40))
exitBtn.MouseButton1Click:Connect(function() gui:Destroy() end)
-- ESP LOGIC
local function applyESP(p)
if p == lp then return end
local function setup(char)
local h = Instance.new("Highlight", char)
h.Name = "DS_Highlight"
h.FillColor = Color3.new(1, 0, 0)
h.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
local head = char:WaitForChild("Head", 10)
local bill = Instance.new("BillboardGui", head)
bill.Name = "DS_Name"
bill.Size = UDim2.new(0, 200, 0, 50)
bill.AlwaysOnTop = true
bill.ExtentsOffset = Vector3.new(0, 3, 0)
local lbl = Instance.new("TextLabel", bill)
lbl.Size = UDim2.new(1, 0, 1, 0)
lbl.BackgroundTransparency = 1
lbl.TextColor3 = Color3.new(1, 1, 1)
lbl.TextStrokeTransparency = 0
lbl.Font = Enum.Font.GothamBold
lbl.TextSize = 14
lbl.Text = p.DisplayName
RunService.RenderStepped:Connect(function()
h.Enabled = espEnabled
bill.Enabled = espEnabled
end)
end
p.CharacterAdded:Connect(setup)
if p.Character then setup(p.Character) end
end
for _, p in pairs(Players:GetPlayers()) do applyESP(p) end
Players.PlayerAdded:Connect(applyESP)
-- LOOPS
RunService.Heartbeat:Connect(function(dt)
if not lp.Character or not lp.Character:FindFirstChild("HumanoidRootPart") then return end
local hrp = lp.Character.HumanoidRootPart
if isFrozen and frozenPos then
hrp.CFrame = frozenPos
hrp.Velocity = Vector3.new(0,0,0)
end
if flying then
local moveDir = Vector3.new(0,0,0)
if UIS:IsKeyDown(Enum.KeyCode.W) then moveDir += cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.S) then moveDir -= cam.CFrame.LookVector end
if UIS:IsKeyDown(Enum.KeyCode.A) then moveDir -= cam.CFrame.RightVector end
if UIS:IsKeyDown(Enum.KeyCode.D) then moveDir += cam.CFrame.RightVector end
hrp.Velocity = Vector3.new(0,0.1,0)
hrp.CFrame = hrp.CFrame + (moveDir * flySpeed * dt)
end
if nocliping then
for _, v in pairs(lp.Character:GetDescendants()) do
if v:IsA("BasePart") then v.CanCollide = false end
end
end
end)
-- Toggles
espBtn.MouseButton1Click:Connect(function()
espEnabled = not espEnabled
espBtn.Text = "ESP: "..(espEnabled and "ON" or "OFF")
end)
freezeBtn.MouseButton1Click:Connect(function()
isFrozen = not isFrozen
frozenPos = isFrozen and lp.Character.HumanoidRootPart.CFrame or nil
freezeBtn.Text = isFrozen and "FREEZE: ON" or "FREEZE: OFF"
end)
flyBtn.MouseButton1Click:Connect(function()
flying = not flying
flyBtn.Text = "FLY: "..(flying and "ON" or "OFF")
if lp.Character:FindFirstChild("Humanoid") then
lp.Character.Humanoid.PlatformStand = flying
end
end)
speedBtn.MouseButton1Click:Connect(function()
local h = lp.Character:FindFirstChild("Humanoid")
if h then
h.WalkSpeed = (h.WalkSpeed == 16 and 100 or 16)
speedBtn.Text = "SPEED: "..(h.WalkSpeed > 20 and "ON" or "OFF")
end
end)
noclipBtn.MouseButton1Click:Connect(function()
nocliping = not nocliping
noclipBtn.Text = "NOCLIP: "..(nocliping and "ON" or "OFF")
end)
jumpBtn.MouseButton1Click:Connect(function()
infJump = not infJump
jumpBtn.Text = "INF JUMP: "..(infJump and "ON" or "OFF")
end)
UIS.JumpRequest:Connect(function()
if infJump and lp.Character:FindFirstChild("Humanoid") then
lp.Character.Humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
end
end)
startBtn.MouseButton1Click:Connect(function()
if not timerOn then
timeLeft = tonumber(timeInput.Text) or 0
timerOn = true
startBtn.Text = "STOP"
else
timerOn = false
startBtn.Text = "START"
end
end)
resetBtn.MouseButton1Click:Connect(function()
timeLeft = 0
timerOn = false
timerLabel.Text = "00:00"
end)

Add administrative functions.
@minhhoapro it looks like it was made by chatgpt i doubt they will