Nx Esp
Key RequiredUniversal

Nx Esp

Universal ScriptMehmecan2938Mehmecan2938 565 views 3.5K executesUpdated Sep 23, 2026
Unrated
00
Lua Script•243 lines (6123 chars)
--[[
    ╔══════════════════════════════════════╗
    ║               NX ESP                 ║
    ║      Portable • Toggle • Minimize    ║
    ╚══════════════════════════════════════╝
]]

local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")

local LocalPlayer = Players.LocalPlayer
local PlayerGui = LocalPlayer:WaitForChild("PlayerGui")

-- GUI
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "NX_ESP_GUI"
ScreenGui.ResetOnSpawn = false
ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
ScreenGui.Parent = PlayerGui

-- Ana pencere
local Main = Instance.new("Frame")
Main.Name = "NXESP"
Main.Size = UDim2.new(0, 230, 0, 145)
Main.Position = UDim2.new(0.5, -115, 0.5, -72)
Main.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
Main.BorderSizePixel = 0
Main.Parent = ScreenGui

local Corner = Instance.new("UICorner")
Corner.CornerRadius = UDim.new(0, 10)
Corner.Parent = Main

-- Başlık
local Title = Instance.new("TextLabel")
Title.Size = UDim2.new(1, -70, 0, 38)
Title.Position = UDim2.new(0, 12, 0, 0)
Title.BackgroundTransparency = 1
Title.Text = "NX ESP"
Title.TextColor3 = Color3.fromRGB(255, 255, 255)
Title.TextSize = 20
Title.Font = Enum.Font.GothamBold
Title.TextXAlignment = Enum.TextXAlignment.Left
Title.Parent = Main

-- Küçült
local Minimize = Instance.new("TextButton")
Minimize.Size = UDim2.new(0, 28, 0, 28)
Minimize.Position = UDim2.new(1, -62, 0, 5)
Minimize.BackgroundColor3 = Color3.fromRGB(55, 55, 55)
Minimize.Text = "—"
Minimize.TextColor3 = Color3.fromRGB(255, 255, 255)
Minimize.TextSize = 18
Minimize.Font = Enum.Font.GothamBold
Minimize.Parent = Main

local MinCorner = Instance.new("UICorner")
MinCorner.CornerRadius = UDim.new(0, 7)
MinCorner.Parent = Minimize

-- Kapat
local Close = Instance.new("TextButton")
Close.Size = UDim2.new(0, 28, 0, 28)
Close.Position = UDim2.new(1, -33, 0, 5)
Close.BackgroundColor3 = Color3.fromRGB(120, 45, 45)
Close.Text = "×"
Close.TextColor3 = Color3.fromRGB(255, 255, 255)
Close.TextSize = 20
Close.Font = Enum.Font.GothamBold
Close.Parent = Main

local CloseCorner = Instance.new("UICorner")
CloseCorner.CornerRadius = UDim.new(0, 7)
CloseCorner.Parent = Close

-- ESP butonu
local ESPButton = Instance.new("TextButton")
ESPButton.Size = UDim2.new(1, -24, 0, 50)
ESPButton.Position = UDim2.new(0, 12, 0, 55)
ESPButton.BackgroundColor3 = Color3.fromRGB(70, 70, 70)
ESPButton.Text = "ESP: AÇIK"
ESPButton.TextColor3 = Color3.fromRGB(255, 255, 255)
ESPButton.TextSize = 17
ESPButton.Font = Enum.Font.GothamBold
ESPButton.Parent = Main

local ESPCorner = Instance.new("UICorner")
ESPCorner.CornerRadius = UDim.new(0, 8)
ESPCorner.Parent = ESPButton

-- ESP sistemi
local ESPEnabled = true
local ESPObjects = {}

local function RemoveESP(character)
    if character then
        local esp = character:FindFirstChild("NX_ESP_Highlight")
        if esp then
            esp:Destroy()
        end
    end
end

local function AddESP(player)
    if player == LocalPlayer then
        return
    end

    local function apply(character)
        if not ESPEnabled then
            return
        end

        RemoveESP(character)

        local Highlight = Instance.new("Highlight")
        Highlight.Name = "NX_ESP_Highlight"
        Highlight.Adornee = character

        Highlight.FillColor = Color3.fromRGB(185, 185, 185)
        Highlight.FillTransparency = 0.45

        Highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
        Highlight.OutlineTransparency = 0

        Highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
        Highlight.Parent = character

        ESPObjects[player] = Highlight
    end

    if player.Character then
        apply(player.Character)
    end

    player.CharacterAdded:Connect(function(character)
        task.wait(0.2)
        apply(character)
    end)
end

local function EnableESP()
    ESPEnabled = true
    ESPButton.Text = "ESP: AÇIK"

    for _, player in ipairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character then
            AddESP(player)
        end
    end
end

local function DisableESP()
    ESPEnabled = false
    ESPButton.Text = "ESP: KAPALI"

    for _, player in ipairs(Players:GetPlayers()) do
        if player.Character then
            RemoveESP(player.Character)
        end
    end

    table.clear(ESPObjects)
end

ESPButton.MouseButton1Click:Connect(function()
    if ESPEnabled then
        DisableESP()
    else
        EnableESP()
    end
end)

for _, player in ipairs(Players:GetPlayers()) do
    AddESP(player)
end

Players.PlayerAdded:Connect(function(player)
    AddESP(player)
end)

-- Küçültme
local Minimized = false

Minimize.MouseButton1Click:Connect(function()
    Minimized = not Minimized

    ESPButton.Visible = not Minimized

    if Minimized then
        Main.Size = UDim2.new(0, 230, 0, 42)
        Minimize.Text = "+"
    else
        Main.Size = UDim2.new(0, 230, 0, 145)
        Minimize.Text = "—"
    end
end)

-- Kapatınca GUI + ESP tamamen kapanır
Close.MouseButton1Click:Connect(function()
    DisableESP()
    ScreenGui:Destroy()
end)

-- Pencereyi taşıma
local Dragging = false
local DragStart
local StartPosition

Title.InputBegan:Connect(function(input)
    if input.UserInputType == Enum.UserInputType.MouseButton1
    or input.UserInputType == Enum.UserInputType.Touch then

        Dragging = true
        DragStart = input.Position
        StartPosition = Main.Position

        input.Changed:Connect(function()
            if input.UserInputState == Enum.UserInputState.End then
                Dragging = false
            end
        end)
    end
end)

UserInputService.InputChanged:Connect(function(input)
    if not Dragging then
        return
    end

    if input.UserInputType == Enum.UserInputType.MouseMovement
    or input.UserInputType == Enum.UserInputType.Touch then

        local Delta = input.Position - DragStart

        Main.Position = UDim2.new(
            StartPosition.X.Scale,
            StartPosition.X.Offset + Delta.X,
            StartPosition.Y.Scale,
            StartPosition.Y.Offset + Delta.Y
        )
    end
end)

Features & Information

Toggleable ESP Keybind Support Player ESP Box ESP Distance ESP Health ESP Tracer ESP Team Check Custom ESP Colors Lightweight & Optimized

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts