Keyless

Key Required
show all roles BYPASS 2025 WORKING
Lua Script•130 lines (4266 chars)
--[[
Role ESP dengan Ikon & Outline Fix
Support XENO Executor
]]
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local RoleIcons = {
Killer = 607147197,
Sheriff = 125117925593395,
HomigradPolice = 418541763,
HomigradTerrorist = 71660057329682,
Target = 997927539
}
local RoleColors = {
Killer = Color3.fromRGB(255, 0, 0),
Sheriff = Color3.fromRGB(0, 0, 255),
HomigradPolice = Color3.fromRGB(0, 0, 255),
HomigradTerrorist = Color3.fromRGB(255, 165, 0),
Target = Color3.fromRGB(255, 255, 0),
Unarmed = Color3.fromRGB(0, 255, 0)
}
local weaponMarkers = {
Killer = {"Sawn-off", "K1911", "RR-LightCompactPistolS", "JS2-Derringy", "KOLT-AR15", "JS-22", "KamatovS"},
Sheriff = {"RR-Snubby", "GG-17", "IZVEKH-412"},
HomigradTerrorist = {"VK's ANKM", "RY's GG-17", "AT's KAR15"},
HomigradPolice = {"RR-40", "IZVEKH-412", "ZJ23M"}
}
local function createESP(player, role)
local char = player.Character
if not char or not char:FindFirstChild("Head") then return end
-- Ikon
local head = char.Head
if not head:FindFirstChild("RoleESPIcon") then
local gui = Instance.new("BillboardGui")
gui.Name = "RoleESPIcon"
gui.Adornee = head
gui.Size = UDim2.new(0, 30, 0, 30)
gui.StudsOffset = Vector3.new(0, 2, 0)
gui.AlwaysOnTop = true
gui.Parent = head
local img = Instance.new("ImageLabel")
img.BackgroundTransparency = 1
img.Size = UDim2.new(1, 0, 1, 0)
img.Image = "rbxassetid://" .. (RoleIcons[role] or "")
img.Parent = gui
else
head.RoleESPIcon.ImageLabel.Image = "rbxassetid://" .. (RoleIcons[role] or "")
end
-- Outline per karakter (satu highlight)
if not char:FindFirstChild("RoleHighlight") then
local hl = Instance.new("Highlight")
hl.Name = "RoleHighlight"
hl.FillTransparency = 1
hl.OutlineTransparency = 0
hl.OutlineColor = RoleColors[role] or Color3.fromRGB(255, 255, 255)
hl.Adornee = char
hl.Parent = char
else
char.RoleHighlight.OutlineColor = RoleColors[role] or Color3.fromRGB(255, 255, 255)
end
end
local function clearESP(player)
local char = player.Character
if char then
local hl = char:FindFirstChild("RoleHighlight")
if hl then hl:Destroy() end
end
if char and char:FindFirstChild("Head") then
local icon = char.Head:FindFirstChild("RoleESPIcon")
if icon then icon:Destroy() end
end
end
local function getPlayerRole(player)
local npc = workspace:FindFirstChild("NPCSFolder") and workspace.NPCSFolder:FindFirstChild(player.Name)
local tool = (player.Character and player.Character:FindFirstChildOfClass("Tool")) or (npc and npc:FindFirstChildOfClass("Tool"))
local backpack = player:FindFirstChild("Backpack")
local function checkWeapon(weapon)
for role, list in pairs(weaponMarkers) do
if table.find(list, weapon) then return role end
end
end
local statusGui = LocalPlayer:FindFirstChild("PlayerGui") and LocalPlayer.PlayerGui:FindFirstChild("RESETONDEATHStatusGui")
if statusGui and statusGui:FindFirstChild("TARGETHINT") then
local hintText = statusGui.TARGETHINT.Text
if npc and npc:FindFirstChild("Configuration") then
for _, val in ipairs(npc.Configuration:GetChildren()) do
if val:IsA("StringValue") and val.Value == hintText then
return "Target"
end
end
end
end
if tool then return checkWeapon(tool.Name) end
if backpack then
for _, item in pairs(backpack:GetChildren()) do
local role = checkWeapon(item.Name)
if role then return role end
end
end
return "Unarmed"
end
RunService.RenderStepped:Connect(function()
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
local role = getPlayerRole(player)
if role then
createESP(player, role)
else
clearESP(player)
end
end
end
end)Features & Information
- view all roles what people get murderer or sheriff or smth

good but some people dont have esp on em but good tho