esp npc READ DESCRIPTION
Key RequiredUniversal

esp npc READ DESCRIPTION

Universal Scripthimousemanjeffhimousemanjeff 1.1K views 7.9K executesUpdated Sep 16, 2026
Unrated
00
Lua Script•299 lines (10407 chars)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local Workspace = game:GetService("Workspace")

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

local screenGui = Instance.new("ScreenGui")
screenGui.Name = "NPCHighlighterSystem"
screenGui.ResetOnSpawn = false
screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
screenGui.Parent = playerGui

local eyeButton = Instance.new("TextButton")
eyeButton.Name = "EyeToggleButton"
eyeButton.Size = UDim2.new(0, 60, 0, 60)
eyeButton.Position = UDim2.new(0.05, 0, 0.4, 0)
eyeButton.BackgroundColor3 = Color3.fromRGB(30, 30, 35)
eyeButton.Text = "👁️"
eyeButton.TextSize = 28
eyeButton.TextColor3 = Color3.fromRGB(255, 255, 255)
eyeButton.Font = Enum.Font.GothamBold
eyeButton.AutoButtonColor = false
eyeButton.Parent = screenGui

local buttonCorner = Instance.new("UICorner")
buttonCorner.CornerRadius = UDim.new(1, 0)
buttonCorner.Parent = eyeButton

local buttonStroke = Instance.new("UIStroke")
buttonStroke.Color = Color3.fromRGB(60, 60, 70)
buttonStroke.Thickness = 2
buttonStroke.Parent = eyeButton

local mainPanel = Instance.new("Frame")
mainPanel.Name = "ControlPanel"
mainPanel.Size = UDim2.new(0, 340, 0, 360)
mainPanel.Position = UDim2.new(0.5, -170, 0.5, -180)
mainPanel.BackgroundColor3 = Color3.fromRGB(20, 20, 25)
mainPanel.Active = true 
mainPanel.Visible = false
mainPanel.Parent = screenGui 

local panelCorner = Instance.new("UICorner")
panelCorner.CornerRadius = UDim.new(0, 12)
panelCorner.Parent = mainPanel

local titleLabel = Instance.new("TextLabel")
titleLabel.Size = UDim2.new(1, 0, 0, 45)
titleLabel.BackgroundTransparency = 1
titleLabel.Text = "NPC HIGHLIGHTER CONTROLS"
titleLabel.TextColor3 = Color3.fromRGB(240, 240, 245)
titleLabel.TextSize = 16
titleLabel.Font = Enum.Font.GothamBold
titleLabel.Parent = mainPanel

local function makeDraggable(guiObject)
    local dragging = false
    local dragInput, dragStart, startPos

    local function update(input)
        local delta = input.Position - dragStart
        local currentCamera = Workspace.CurrentCamera
        if not currentCamera then return end
        
        local screenSize = currentCamera.ViewportSize
        
        local targetX = startPos.X.Offset + delta.X + (startPos.X.Scale * screenSize.X)
        local targetY = startPos.Y.Offset + delta.Y + (startPos.Y.Scale * screenSize.Y)
        
        guiObject.Position = UDim2.new(0, targetX, 0, targetY)
    end

    guiObject.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
            dragging = true
            dragStart = input.Position
            startPos = guiObject.Position
            
            input.Changed:Connect(function()
                if input.UserInputState == Enum.UserInputState.End then
                    dragging = false
                end
            end)
        end
    end)

    guiObject.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
            dragInput = input
        end
    end)

    UserInputService.InputChanged:Connect(function(input)
        if input == dragInput and dragging then
            update(input)
        end
    end)
end

makeDraggable(eyeButton)
makeDraggable(mainPanel)

local dragDistanceThreshold = 5
local clickStartPos = Vector3.new()

eyeButton.MouseButton1Down:Connect(function()
    clickStartPos = UserInputService:GetMouseLocation()
end)

eyeButton.MouseButton1Up:Connect(function()
    local clickEndPos = UserInputService:GetMouseLocation()
    if (clickStartPos - clickEndPos).Magnitude < dragDistanceThreshold then
        mainPanel.Visible = not mainPanel.Visible
    end
end)

local statusButton = Instance.new("TextButton")
statusButton.Size = UDim2.new(0, 300, 0, 50)
statusButton.Position = UDim2.new(0, 20, 0, 55)
statusButton.BackgroundColor3 = Color3.fromRGB(46, 204, 113)
statusButton.Text = "STATUS: ACTIVE"
statusButton.TextColor3 = Color3.fromRGB(255, 255, 255)
statusButton.Font = Enum.Font.GothamBold
statusButton.TextSize = 14
statusButton.Parent = mainPanel

local statusCorner = Instance.new("UICorner")
statusCorner.CornerRadius = UDim.new(0, 8)
statusCorner.Parent = statusButton

local colorLabel = Instance.new("TextLabel")
colorLabel.Size = UDim2.new(0, 200, 0, 25)
colorLabel.Position = UDim2.new(0, 20, 0, 120)
colorLabel.BackgroundTransparency = 1
colorLabel.Text = "Fill Color Profile:"
colorLabel.TextColor3 = Color3.fromRGB(160, 160, 165)
colorLabel.TextXAlignment = Enum.TextXAlignment.Left
colorLabel.Font = Enum.Font.Gotham
colorLabel.TextSize = 14
colorLabel.Parent = mainPanel

local redBtn = Instance.new("TextButton")
redBtn.Size = UDim2.new(0, 90, 0, 40)
redBtn.Position = UDim2.new(0, 20, 0, 150)
redBtn.BackgroundColor3 = Color3.fromRGB(231, 76, 60)
redBtn.Text = "Red"
redBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
redBtn.Font = Enum.Font.GothamBold
redBtn.TextSize = 14
redBtn.Parent = mainPanel

local rc = Instance.new("UICorner")
rc.CornerRadius = UDim.new(0, 6)
rc.Parent = redBtn

local blueBtn = Instance.new("TextButton")
blueBtn.Size = UDim2.new(0, 90, 0, 40)
blueBtn.Position = UDim2.new(0, 125, 0, 150)
blueBtn.BackgroundColor3 = Color3.fromRGB(52, 152, 219)
blueBtn.Text = "Blue"
blueBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
blueBtn.Font = Enum.Font.GothamBold
blueBtn.TextSize = 14
blueBtn.Parent = mainPanel

local bc = Instance.new("UICorner")
bc.CornerRadius = UDim.new(0, 6)
bc.Parent = blueBtn

local greenBtn = Instance.new("TextButton")
greenBtn.Size = UDim2.new(0, 90, 0, 40)
greenBtn.Position = UDim2.new(0, 230, 0, 150)
greenBtn.BackgroundColor3 = Color3.fromRGB(46, 204, 113)
greenBtn.Text = "Green"
greenBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
greenBtn.Font = Enum.Font.GothamBold
greenBtn.TextSize = 14
greenBtn.Parent = mainPanel

local gc = Instance.new("UICorner")
gc.CornerRadius = UDim.new(0, 6)
gc.Parent = greenBtn

local densityLabel = Instance.new("TextLabel")
densityLabel.Size = UDim2.new(0, 200, 0, 25)
densityLabel.Position = UDim2.new(0, 20, 0, 210)
densityLabel.BackgroundTransparency = 1
densityLabel.Text = "Adjust Glow Density:"
densityLabel.TextColor3 = Color3.fromRGB(160, 160, 165)
densityLabel.TextXAlignment = Enum.TextXAlignment.Left
densityLabel.Font = Enum.Font.Gotham
densityLabel.TextSize = 14
densityLabel.Parent = mainPanel

local solidBtn = Instance.new("TextButton")
solidBtn.Size = UDim2.new(0, 140, 0, 45)
solidBtn.Position = UDim2.new(0, 20, 0, 245)
solidBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
solidBtn.Text = "Solid Glow"
solidBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
solidBtn.Font = Enum.Font.GothamBold
solidBtn.TextSize = 14
solidBtn.Parent = mainPanel

local sc = Instance.new("UICorner")
sc.CornerRadius = UDim.new(0, 8)
sc.Parent = solidBtn

local faintBtn = Instance.new("TextButton")
faintBtn.Size = UDim2.new(0, 140, 0, 45)
faintBtn.Position = UDim2.new(0, 180, 0, 245)
faintBtn.BackgroundColor3 = Color3.fromRGB(45, 45, 50)
faintBtn.Text = "Faint Glow"
faintBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
faintBtn.Font = Enum.Font.GothamBold
faintBtn.TextSize = 14
faintBtn.Parent = mainPanel

local fc = Instance.new("UICorner")
fc.CornerRadius = UDim.new(0, 8)
fc.Parent = faintBtn

local systemActive = true
local currentFillColor = Color3.fromRGB(255, 0, 0)
local activeTransparency = 0.4 

-- Integrated Your Deep-Scan Logic Here
local function updateHighlights()
    for _, item in pairs(Workspace:GetDescendants()) do
        if item:IsA("Humanoid") then
            local parent = item.Parent
            if parent then
                local plr = Players:GetPlayerFromCharacter(parent)
                -- Ensure it is strictly an NPC and not a human player
                if not plr then
                    local highlight = parent:FindFirstChild("HighlighterAsset")
                    
                    if systemActive then
                        if not highlight then
                            highlight = Instance.new("Highlight")
                            highlight.Name = "HighlighterAsset"
                            highlight.OutlineColor = Color3.fromRGB(255, 255, 255)
                            highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
                            highlight.Parent = parent
                        end
                        highlight.FillColor = currentFillColor
                        highlight.FillTransparency = activeTransparency
                        highlight.Enabled = true
                    else
                        if highlight then highlight.Enabled = false end
                    end
                end
            end
        end
    end
end

local function clearAllHighlights()
    for _, item in pairs(Workspace:GetDescendants()) do
        if item:IsA("Humanoid") then
            local parent = item.Parent
            if parent then
                local highlight = parent:FindFirstChild("HighlighterAsset")
                if highlight then highlight:Destroy() end
            end
        end
    end
end

task.spawn(function()
    while true do
        updateHighlights()
        task.wait(1.0)
    end
end)

Workspace.ChildAdded:Connect(function()
    if systemActive then task.wait(0.2) updateHighlights() end
end)

statusButton.MouseButton1Click:Connect(function()
    systemActive = not systemActive
    if systemActive then
        statusButton.Text = "STATUS: ACTIVE"
        statusButton.BackgroundColor3 = Color3.fromRGB(46, 204, 113)
        updateHighlights()
    else
        statusButton.Text = "STATUS: INACTIVE"
        statusButton.BackgroundColor3 = Color3.fromRGB(231, 76, 60)
        clearAllHighlights()
    end
end)

redBtn.MouseButton1Click:Connect(function() currentFillColor = Color3.fromRGB(255, 0, 0) updateHighlights() end)
blueBtn.MouseButton1Click:Connect(function() currentFillColor = Color3.fromRGB(52, 152, 219) updateHighlights() end)
greenBtn.MouseButton1Click:Connect(function() currentFillColor = Color3.fromRGB(46, 204, 113) updateHighlights() end)
solidBtn.MouseButton1Click:Connect(function() activeTransparency = 0.25 updateHighlights() end)
faintBtn.MouseButton1Click:Connect(function() activeTransparency = 0.85 updateHighlights() end)

Features & Information

This is a ESP npc script THAT I DEFINITELY USE AI TO HELP ME BUILD I USE GEMINI THE AI THIS IS A PRETTY BASIC FEATURE AND COMPLETELY UNDETECTED IN SOME GAMES SO USE AT YOUR OWN RISK AND DON'T BLAME ME FOR WHAT HAPPENS I'LL GIVE YOU THE LIST OF GAMES THAT IS UNBAN JJS AND MORE BUT CURRENTLY THIS IS UNDETECTED SO YOU CAN USE IT IN ANY GAME MADE BY ME OF COURSE

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts