Esp v2 0
Key RequiredUniversal

Esp v2 0

Universal ScriptScriptsByDeaslScriptsByDeasl 232 views 498 executesUpdated Jun 23, 2026
Unrated
00
Lua Script•255 lines (8614 chars)
[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")

Features & Information

This script from the Deasl AI neural network is my neural network that started the journey. It's private; don't look for it on Google Play or the Apple Store

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts