
KeylessUniversal

-- Advanced ESP Script for Krnl executor
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local espFolder = Instance.new("Folder")
espFolder.Name = "AdvancedESP"
espFolder.Parent = game:GetService("CoreGui")
local espObjects = {}
-- Fungsi untuk membuat ESP pada pemain
local function createESP(player)
if player == LocalPlayer then return end
local character = player.Character
if not character or not character:FindFirstChild("HumanoidRootPart") then return end
local hrp = character.HumanoidRootPart
-- Box
local box = Instance.new("BoxHandleAdornment")
box.Adornee = hrp
box.Size = Vector3.new(4, 6, 1)
box.Transparency = 0.6
box.ZIndex = 10
box.AlwaysOnTop = true
box.Parent = espFolder
-- Health Bar
local healthBar = Instance.new("BillboardGui")
healthBar.Adornee = hrp
healthBar.Size = UDim2.new(0, 60, 0, 10)
healthBar.StudsOffset = Vector3.new(0, 3.5, 0)
healthBar.AlwaysOnTop = true
healthBar.Parent = espFolder
local healthFrame = Instance.new("Frame")
healthFrame.Size = UDim2.new(1, 0, 1, 0)
healthFrame.BackgroundColor3 = Color3.new(0, 0, 0)
healthFrame.BorderSizePixel = 0
healthFrame.Parent = healthBar
local healthFill = Instance.new("Frame")
healthFill.Size = UDim2.new(1, 0, 1, 0)
healthFill.BackgroundColor3 = Color3.new(0, 1, 0)
healthFill.BorderSizePixel = 0
healthFill.Parent = healthFrame
-- Name Tag
local nameTag = Instance.new("BillboardGui")
nameTag.Adornee = hrp
nameTag.Size = UDim2.new(0, 100, 0, 30)
nameTag.StudsOffset = Vector3.new(0, 4.5, 0)
nameTag.AlwaysOnTop = true
nameTag.Parent = espFolder
local nameLabel = Instance.new("TextLabel")
nameLabel.Text = player.Name
nameLabel.Size = UDim2.new(1, 0, 1, 0)
nameLabel.BackgroundTransparency = 1
nameLabel.TextColor3 = Color3.new(1, 1, 1)
nameLabel.TextStrokeColor3 = Color3.new(0, 0, 0)
nameLabel.TextStrokeTransparency = 0
nameLabel.Font = Enum.Font.SourceSansBold
nameLabel.TextScaled = true
nameLabel.Parent = nameTag
-- Tracer Line
local tracer = Drawing.new("Line")
tracer.Color = Color3.new(1, 0, 0)
tracer.Thickness = 1.5
tracer.Transparency = 1
local function update()
if not character or not character.Parent then
tracer:Remove()
return false
end
-- Update box color berdasarkan tim (jika ada)
local teamColor = player.TeamColor.Color or Color3.new(1, 0, 0)
box.Color3 = teamColor
-- Update health bar
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
local healthPercent = math.clamp(humanoid.Health / humanoid.MaxHealth, 0, 1)
healthFill.Size = UDim2.new(healthPercent, 0, 1, 0)
-- Warna hijau ke merah sesuai health
healthFill.BackgroundColor3 = Color3.new(1 - healthPercent, healthPercent, 0)
end
-- Update tracer line dari kamera ke HumanoidRootPart
local hrpPos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
local camPos = Camera.CFrame.Position
if onScreen then
tracer.From = Vector2.new(Camera.ViewportSize.X / 2, Camera.ViewportSize.Y)
tracer.To = Vector2.new(hrpPos.X, hrpPos.Y)
tracer.Visible = true
else
tracer.Visible = false
end
return true
end
-- Koneksi update per frame
local connection
connection = RunService.RenderStepped:Connect(function()
if not update() then
connection:Disconnect()
box:Destroy()
healthBar:Destroy()
nameTag:Destroy()
tracer:Remove()
espObjects[player] = nil
end
end)
return {
box = box,
healthBar = healthBar,
nameTag = nameTag,
tracer = tracer,
connection = connection
}
end
local function removeESP(player)
if espObjects[player] then
local data = espObjects[player]
if data.connection then data.connection:Disconnect() end
if data.box then data.box:Destroy() end
if data.healthBar then data.healthBar:Destroy() end
if data.nameTag then data.nameTag:Destroy() end
if data.tracer then data.tracer:Remove() end
espObjects[player] = nil
end
end
local function onCharacterAdded(player)
player.CharacterAdded:Connect(function(character)
wait(1)
removeESP(player)
espObjects[player] = createESP(player)
end)
if player.Character then
removeESP(player)
espObjects[player] = createESP(player)
end
end
local function onPlayerAdded(player)
onCharacterAdded(player)
end
local function onPlayerRemoving(player)
removeESP(player)
end
-- Init
for _, player in pairs(Players:GetPlayers()) do
onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)
Players.PlayerRemoving:Connect(onPlayerRemoving)
-- Bersihkan saat karakter lokal respawn
LocalPlayer.CharacterAdded:Connect(function()
for player, _ in pairs(espObjects) do
removeESP(player)
onCharacterAdded(player)
end
end)No comments yet for this script.



