
Keyless

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Player = Players.LocalPlayer
if not Player then return end
local PlayerGui = Player:WaitForChild("PlayerGui")
-- Remove old detector
local OldGui = PlayerGui:FindFirstChild("EntityDetector")
if OldGui then
OldGui:Destroy()
end
--------------------------------------------------
-- GUI
--------------------------------------------------
local Gui = Instance.new("ScreenGui")
Gui.Name = "EntityDetector"
Gui.ResetOnSpawn = false
Gui.Parent = PlayerGui
local Toggle = Instance.new("TextButton")
Toggle.Size = UDim2.new(0,260,0,50)
Toggle.Position = UDim2.new(0,20,0,20)
Toggle.BackgroundColor3 = Color3.fromRGB(20,20,20)
Toggle.BorderColor3 = Color3.fromRGB(255,0,0)
Toggle.TextColor3 = Color3.fromRGB(255,255,255)
Toggle.Font = Enum.Font.GothamBold
Toggle.TextScaled = true
Toggle.Text = "DREADED SCANNER OFF"
Toggle.Parent = Gui
local Status = Instance.new("TextLabel")
Status.Size = UDim2.new(0,260,0,70)
Status.Position = UDim2.new(0,20,0,80)
Status.BackgroundColor3 = Color3.fromRGB(15,15,15)
Status.BorderColor3 = Color3.fromRGB(255,0,0)
Status.TextColor3 = Color3.fromRGB(255,80,80)
Status.Font = Enum.Font.GothamBold
Status.TextScaled = true
Status.Text = "STATUS: IDLE"
Status.Parent = Gui
--------------------------------------------------
-- SETTINGS
--------------------------------------------------
local Enabled = false
local ESPs = {}
local function WarningPopup(Text)
local Warning = Instance.new("TextLabel")
Warning.Size = UDim2.new(0,400,0,80)
Warning.Position = UDim2.new(0.5,-200,0.05,0)
Warning.BackgroundColor3 = Color3.fromRGB(120,0,0)
Warning.BorderColor3 = Color3.fromRGB(255,0,0)
Warning.TextColor3 = Color3.new(1,1,1)
Warning.TextScaled = true
Warning.Font = Enum.Font.GothamBold
Warning.Text = Text
Warning.Parent = Gui
task.delay(3,function()
if Warning then
Warning:Destroy()
end
end)
end
--------------------------------------------------
-- ESP
--------------------------------------------------
local function AddESP(Part)
local function WarningPopup(Text)
local Warning = Instance.new("TextLabel")
Warning.Size = UDim2.new(0,400,0,80)
Warning.Position = UDim2.new(0.5,-200,0.05,0)
Warning.BackgroundColor3 = Color3.fromRGB(120,0,0)
Warning.BorderColor3 = Color3.fromRGB(255,0,0)
Warning.TextColor3 = Color3.new(1,1,1)
Warning.TextScaled = true
Warning.Font = Enum.Font.GothamBold
Warning.Text = Text
Warning.Parent = Gui
task.delay(3,function()
if Warning then
Warning:Destroy()
end
end)
end
if ESPs[Part] then
return
end
-- Selection Box
local Box = Instance.new("SelectionBox")
Box.Name = "A60Box"
Box.Adornee = Part
Box.Color3 = Color3.fromRGB(255,0,0)
Box.LineThickness = 0.05
Box.SurfaceTransparency = 1
Box.Parent = Part
-- Distance Tag
local Billboard = Instance.new("BillboardGui")
Billboard.Name = "A60ESP"
Billboard.Size = UDim2.new(0,220,0,70)
Billboard.AlwaysOnTop = true
Billboard.StudsOffset = Vector3.new(0,4,0)
Billboard.Adornee = Part
Billboard.Parent = Gui
local Label = Instance.new("TextLabel")
Label.Size = UDim2.new(1,0,1,0)
Label.BackgroundTransparency = 1
Label.TextColor3 = Color3.fromRGB(255,0,0)
Label.TextStrokeTransparency = 0
Label.TextScaled = true
Label.Font = Enum.Font.GothamBold
Label.Parent = Billboard
ESPs[Part] = {
Box = Box,
Billboard = Billboard,
Label = Label
} local Box = Instance.new("BoxHandleAdornment")
Box.Name = "A60Box"
Box.Adornee = Part
Box.AlwaysOnTop = true
Box.ZIndex = 10
Box.Size = Part.Size + Vector3.new(4,4,4)
Box.Transparency = 0.5
Box.Color3 = Color3.fromRGB(255,0,0)
Box.Parent = Part
Status.Text = "STATUS: ACTIVE\nTHREAT: EXTREME"
end
local function RemoveAllESP()
for _, Data in pairs(ESPs) do
if Data.Box then
Data.Box:Destroy()
end
if Data.Billboard then
Data.Billboard:Destroy()
end
end
table.clear(ESPs)
Status.Text = "STATUS: IDLE"
end
--------------------------------------------------
-- SCAN
--------------------------------------------------
local function Scan()
local Count = 0
for _, Obj in ipairs(workspace:GetDescendants()) do
if Obj:IsA("BasePart")
and string.lower(Obj.Name) == "monster" then
Count = Count + 1
AddESP(Obj)
end
end
if Count > 0 then
Status.Text =
"ENTITIES: " .. Count ..
"\nTHREAT: EXTREME"
Status.Text =
"STATUS: SCANNING"..
"\nTHREAT: NONE"
end
end
--------------------------------------------------
-- TOGGLE
--------------------------------------------------
Toggle.MouseButton1Click:Connect(function()
Enabled = not Enabled
if Enabled then
Toggle.Text = "DREADED SCANNER ON"
Scan()
else
Toggle.Text = "DREADED SCANNER OFF"
RemoveAllESP()
end
end)
--------------------------------------------------
-- NEW ENTITY DETECTION
--------------------------------------------------
workspace.DescendantAdded:Connect(function(Obj)
if not Enabled then
return
end
if Obj:IsA("BasePart")
and string.lower(Obj.Name) == "monster" then
AddESP(Obj)
WarningPopup(
"⚠ ENTITY DETECTED ⚠\n" ..
Obj.Name
)
end
end)
workspace.DescendantRemoving:Connect(function(Obj)
if not Enabled then
return
end
if ESPs[Obj] then
WarningPopup(
"✓ ENTITY DESPAWNED ✓\n" ..
Obj.Name
)
local Data = ESPs[Obj]
if Data.Box then
Data.Box:Destroy()
end
if Data.Billboard then
Data.Billboard:Destroy()
end
ESPs[Obj] = nil
if next(ESPs) == nil then
Status.Text = "STATUS: IDLE"
end
end
end)
--------------------------------------------------
-- DISTANCE UPDATE
--------------------------------------------------
RunService.RenderStepped:Connect(function()
if not Enabled then
return
end
local Character = Player.Character
local Root = Character and Character:FindFirstChild("HumanoidRootPart")
if not Root then
return
end
for Part, Data in pairs(ESPs) do
if not Part.Parent then
if Data.Box then
Data.Box:Destroy()
end
if Data.Billboard then
Data.Billboard:Destroy()
end
ESPs[Part] = nil
else
local Distance =
math.floor(
(Part.Position - Root.Position).Magnitude
)
Data.Label.Text =
"A-60 MULTI-MONSTER\n" ..
Distance .. "m\n" ..
"THREAT: EXTREME"
end
end
end)No comments yet for this script.