
KeylessUniversal

[Deasl AI] Universal ESP Script v2.0
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local lp = Players.LocalPlayer
local defaultSettings = {
enabled = false,
highlightPlayers = true,
highlightMonsters = true,
playerColor = Color3.fromRGB(0, 255, 0),
monsterColor = Color3.fromRGB(255, 0, 0),
outlineColor = Color3.fromRGB(255, 255, 255),
fillTransparency = 0.5,
outlineTransparency = 0.3,
}
local settings = {}
for k, v in pairs(defaultSettings) do settings[k] = v end
local espObjects = {}
local connections = {}
local function clearESP()
for _, obj in pairs(espObjects) do
pcall(function() obj:Destroy() end)
end
espObjects = {}
for _, conn in pairs(connections) do
pcall(function() conn:Disconnect() end)
end
connections = {}
end
local function addHighlight(character, color, outlineColor)
if not character or character == lp.Character then return end
if character:FindFirstChild("DeaslESP") then return end
local hl = Instance.new("Highlight")
hl.Name = "DeaslESP"
hl.FillColor = color
hl.OutlineColor = outlineColor
hl.FillTransparency = settings.fillTransparency
hl.OutlineTransparency = settings.outlineTransparency
hl.Adornee = character
hl.Parent = character
table.insert(espObjects, hl)
end
local function getModelType(model)
if not model:IsA("Model") then return nil end
if model:FindFirstChild("Humanoid") == nil then return nil end
for _, player in pairs(Players:GetPlayers()) do
if player.Character == model then
return "player"
end
end
return "monster"
end
local function updateESP()
if not settings.enabled then
clearESP()
return
end
for _, model in pairs(Workspace:GetDescendants()) do
if model:IsA("Model") and model:FindFirstChild("Humanoid") then
local mType = getModelType(model)
if mType == "player" and settings.highlightPlayers then
addHighlight(model, settings.playerColor, settings.outlineColor)
elseif mType == "monster" and settings.highlightMonsters then
addHighlight(model, settings.monsterColor, settings.outlineColor)
end
end
end
end
local screenGui = Instance.new("ScreenGui")
screenGui.Name = "DeaslUniversalESP"
screenGui.ResetOnSpawn = false
screenGui.Parent = lp.PlayerGui
local mainFrame = Instance.new("Frame")
mainFrame.Size = UDim2.new(0, 240, 0, 260)
mainFrame.Position = UDim2.new(0.5, -120, 0.3, 0)
mainFrame.BackgroundColor3 = Color3.fromRGB(10, 10, 20)
mainFrame.BorderSizePixel = 0
mainFrame.Active = true
mainFrame.Draggable = true
mainFrame.Parent = screenGui
Instance.new("UICorner", mainFrame).CornerRadius = UDim.new(0, 8)
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 30)
title.Text = "Universal ESP"
title.TextColor3 = Color3.fromRGB(0, 200, 255)
title.BackgroundTransparency = 1
title.Font = Enum.Font.GothamBold
title.TextScaled = true
title.Parent = mainFrame
local toggleBtn = Instance.new("TextButton")
toggleBtn.Size = UDim2.new(0.8, 0, 0, 30)
toggleBtn.Position = UDim2.new(0.1, 0, 0.15, 0)
toggleBtn.BackgroundColor3 = Color3.fromRGB(40, 40, 60)
toggleBtn.Text = "ESP: OFF"
toggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.TextScaled = true
toggleBtn.BorderSizePixel = 0
toggleBtn.Parent = mainFrame
Instance.new("UICorner", toggleBtn).CornerRadius = UDim.new(0, 4)
local function updateToggleText()
toggleBtn.Text = settings.enabled and "ESP: ON" or "ESP: OFF"
toggleBtn.BackgroundColor3 = settings.enabled and Color3.fromRGB(0, 200, 80) or Color3.fromRGB(40, 40, 60)
end
toggleBtn.MouseButton1Click:Connect(function()
settings.enabled = not settings.enabled
updateToggleText()
if not settings.enabled then clearESP() end
end)
local function createCheckbox(text, yPos, getter, setter)
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0.9, 0, 0, 25)
frame.Position = UDim2.new(0.05, 0, yPos, 0)
frame.BackgroundColor3 = Color3.fromRGB(20, 20, 30)
frame.BorderSizePixel = 0
frame.Parent = mainFrame
Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 4)
local lbl = Instance.new("TextLabel")
lbl.Size = UDim2.new(0.7, 0, 1, 0)
lbl.Position = UDim2.new(0.05, 0, 0, 0)
lbl.BackgroundTransparency = 1
lbl.Text = text
lbl.TextColor3 = Color3.fromRGB(200, 200, 200)
lbl.Font = Enum.Font.Gotham
lbl.TextScaled = true
lbl.TextXAlignment = Enum.TextXAlignment.Left
lbl.Parent = frame
local chk = Instance.new("TextButton")
chk.Size = UDim2.new(0, 20, 0, 20)
chk.Position = UDim2.new(0.9, 0, 0.5, -10)
chk.BackgroundColor3 = getter() and Color3.fromRGB(0, 200, 80) or Color3.fromRGB(40, 40, 60)
chk.Text = getter() and "✔" or ""
chk.TextColor3 = Color3.fromRGB(255, 255, 255)
chk.Font = Enum.Font.GothamBold
chk.TextScaled = true
chk.BorderSizePixel = 0
chk.Parent = frame
Instance.new("UICorner", chk).CornerRadius = UDim.new(0, 4)
chk.MouseButton1Click:Connect(function()
setter(not getter())
chk.BackgroundColor3 = getter() and Color3.fromRGB(0, 200, 80) or Color3.fromRGB(40, 40, 60)
chk.Text = getter() and "✔" or ""
if settings.enabled then updateESP() end
end)
end
createCheckbox("Подсвечивать игроков", 0.3,
function() return settings.highlightPlayers end,
function(v) settings.highlightPlayers = v end
)
createCheckbox("Подсвечивать монстров/NPC", 0.45,
function() return settings.highlightMonsters end,
function(v) settings.highlightMonsters = v end
)
local refreshBtn = Instance.new("TextButton")
refreshBtn.Size = UDim2.new(0.8, 0, 0, 25)
refreshBtn.Position = UDim2.new(0.1, 0, 0.6, 0)
refreshBtn.BackgroundColor3 = Color3.fromRGB(50, 50, 70)
refreshBtn.Text = "Обновить ESP"
refreshBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
refreshBtn.Font = Enum.Font.GothamBold
refreshBtn.TextScaled = true
refreshBtn.BorderSizePixel = 0
refreshBtn.Parent = mainFrame
Instance.new("UICorner", refreshBtn).CornerRadius = UDim.new(0, 4)
refreshBtn.MouseButton1Click:Connect(function()
clearESP()
if settings.enabled then updateESP() end
end)
local hideBtn = Instance.new("TextButton")
hideBtn.Size = UDim2.new(0.8, 0, 0, 25)
hideBtn.Position = UDim2.new(0.1, 0, 0.75, 0)
hideBtn.BackgroundColor3 = Color3.fromRGB(60, 60, 80)
hideBtn.Text = "Скрыть меню (Insert)"
hideBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
hideBtn.Font = Enum.Font.GothamBold
hideBtn.TextScaled = true
hideBtn.BorderSizePixel = 0
hideBtn.Parent = mainFrame
Instance.new("UICorner", hideBtn).CornerRadius = UDim.new(0, 4)
hideBtn.MouseButton1Click:Connect(function()
mainFrame.Visible = not mainFrame.Visible
end)
RunService.Heartbeat:Connect(function()
if settings.enabled then
updateESP()
end
end)
Workspace.DescendantAdded:Connect(function(obj)
if settings.enabled and obj:IsA("Model") and obj:FindFirstChild("Humanoid") then
updateESP()
end
end)
UserInputService.InputBegan:Connect(function(input, gp)
if not gp and input.KeyCode == Enum.KeyCode.Insert then
mainFrame.Visible = not mainFrame.Visible
end
end)
local drag = { active = false, startPos = nil, startMouse = nil }
mainFrame.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
drag.active = true
drag.startPos = mainFrame.Position
drag.startMouse = input.Position
end
end)
mainFrame.InputEnded:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
drag.active = false
end
end)
UserInputService.InputChanged:Connect(function(input)
if not drag.active then return end
if input.UserInputType ~= Enum.UserInputType.MouseMovement and input.UserInputType ~= Enum.UserInputType.Touch then return end
local delta = input.Position - drag.startMouse
mainFrame.Position = UDim2.new(
drag.startPos.X.Scale,
drag.startPos.X.Offset + delta.X,
drag.startPos.Y.Scale,
drag.startPos.Y.Offset + delta.Y
)
end)
updateToggleText()
if settings.enabled then updateESP() end
print("[Deasl AI] Universal ESP loaded! Press Insert to hide/show menu")No comments yet for this script.



