ESP for hostiles and enemies no key
Key Required

ESP for hostiles and enemies no key

HELLMET [OPEN ALPHA]sarcophilesarcophile 1.3K views 607 executesUpdated Jan 17, 2026
Unrated
00
Lua Script•49 lines (1473 chars)
local CollectionService = game:GetService("CollectionService")
local RunService = game:GetService("RunService")

local REFRESH_RATE = 0.5
local lastUpdate = 0

local TARGET_NAMES = {["civilian"] = true, ["hostile"] = true, ["pmc"] = true}
local COLORS = {
    ["civilian"] = Color3.fromRGB(0, 255, 0),
    ["hostile"] = Color3.fromRGB(255, 0, 0),
    ["pmc"] = Color3.fromRGB(255, 0, 0)
}

local function applyHighlight(model)
    if model:FindFirstChild("ESPHighlight") then return end
    
    local highlight = Instance.new("Highlight")
    highlight.Name = "ESPHighlight"
    highlight.Adornee = model
    highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop
    highlight.FillTransparency = 0.6
    
    local color = COLORS[model.Name:lower()] or Color3.fromRGB(255, 255, 255)
    highlight.FillColor = color
    highlight.OutlineColor = color
    highlight.Parent = model
end

local connection
connection = RunService.Heartbeat:Connect(function()
    if os.clock() - lastUpdate >= REFRESH_RATE then
        lastUpdate = os.clock()
        
        for _, obj in ipairs(workspace:GetChildren()) do
            if obj:IsA("Model") and TARGET_NAMES[obj.Name:lower()] then
                applyHighlight(obj)
            end
        end
    end
end)

script.Destroying:Connect(function()
    connection:Disconnect()
    for _, obj in ipairs(workspace:GetDescendants()) do
        if obj.Name == "ESPHighlight" then
            obj:Destroy()
        end
    end
end)

Features & Information

Simple esp script. Enemies are red, civilians are green bla bla bla. Enemies load in this game only when you get close enough, this is a game feature, not an issue with the script.

Community Comments (5)

BeboModsBeboModsJan 17, 2026

what is local CollectionService = game:GetService("CollectionService") for?

Replying to @BeboMods
sarcophilesarcophileJan 17, 2026

@BeboMods when I use workspace:GetDescendants() it basically searches the whole entire game for the models, when I used this it lagged the game for a quarter second whenever it refreshed to look for new or dead npcs. CollectionService is just a better and more optimized version to remove the small lag spikes that I had.

BeboModsBeboModsJan 17, 2026

u just defined the local and never used it again tho?

Replying to @BeboMods
sarcophilesarcophileJan 17, 2026

@BeboMods The local variable is used to call GetTagged (to find existing NPCs) and GetInstanceAddedSignal (to find new NPCs the moment they spawn). It completely removes the need for a while wait() loop, which is why the lag disappears.

00Fazee00FazeeJan 17, 2026

gpt'd

More Scripts for HELLMET [OPEN ALPHA]