
Keyless

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local Root = Character:WaitForChild("HumanoidRootPart")
local spawnerPaths = {
{folder = workspace.ItemSpawners:FindFirstChild("Spawns"), color = Color3.fromRGB(0, 170, 255)}, -- Blue
{folder = workspace.ItemSpawners:FindFirstChild("SpecialSpawns"), color = Color3.fromRGB(170, 0, 255)}, -- Violet
{folder = workspace.ItemSpawners:FindFirstChild("Items"), color = Color3.fromRGB(255, 255, 0)}, -- Yellow
{folder = workspace.ItemSpawners:FindFirstChild("ShopItemPickups"), color = Color3.fromRGB(0, 255, 0)} -- Green
}
-- Handle Billboard visibility per item
local function attachVisibilityUpdate(part, billboard, forceVisible)
RunService.RenderStepped:Connect(function()
local dist = (Root.Position - part.Position).Magnitude
if forceVisible then
billboard.Enabled = dist <= 1000 -- always visible within long range
else
billboard.Enabled = dist <= 12
end
end)
end
-- ESP Main Logic
local function applyESP()
for _, entry in ipairs(spawnerPaths) do
local folder = entry.folder
local color = entry.color
if folder then
for _, model in ipairs(folder:GetChildren()) do
if model:IsA("Model") and not model:GetAttribute("ESPAttached") then
local part = model:FindFirstChild("CFramePart")
if part and part:IsA("BasePart") then
model.PrimaryPart = part
model:SetAttribute("ESPAttached", true)
-- Highlight
local hl = Instance.new("Highlight")
hl.Adornee = model
hl.FillColor = color
hl.OutlineColor = Color3.new(0, 0, 0)
hl.Parent = model
-- Billboard GUI
local bb = Instance.new("BillboardGui")
bb.Name = "ESPBillboard"
bb.Size = UDim2.new(0, 100, 0, 40)
bb.StudsOffset = Vector3.new(0, 3, 0)
bb.AlwaysOnTop = true
bb.Adornee = part
bb.Parent = model
local label = Instance.new("TextLabel")
label.BackgroundTransparency = 1
label.TextScaled = true
label.TextStrokeTransparency = 0.5
label.Font = Enum.Font.GothamBold
label.TextColor3 = color
label.Size = UDim2.new(1, 0, 1, 0)
label.Text = model.Name:gsub("PickUp", "")
label.Parent = bb
-- Force visible if contains "Key"
local isKeyItem = model.Name:lower():find("key") ~= nil
attachVisibilityUpdate(part, bb, isKeyItem)
end
end
end
end
end
end
-- Start recheck loop every 2 seconds
task.spawn(function()
while true do
applyESP()
task.wait(2)
end
end)No comments yet for this script.