Esp
Key RequiredUniversal

Esp

Universal Scriptbainanglidasan868bainanglidasan868 152 views 1.9K executesUpdated Jun 21, 2026
Unrated
00
Lua Script•116 lines (3830 chars)
-- LocalScript inside StarterPlayerScripts or StarterCharacterScripts
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")

local LocalPlayer = Players.LocalPlayer

-- Function to create a red box highlight effect on a part
local function createBoxHighlight(target)
	-- Remove any existing box highlight to prevent stacking
	local existing = target:FindFirstChild("PlayerBoxHighlight")
	if existing then existing:Destroy() end

	local box = Instance.new("BoxHandleAdornment")
	box.Name = "PlayerBoxHighlight"
	box.Size = target.Size + Vector3.new(0.1, 0.1, 0.1) -- Slightly larger to avoid clipping
	box.AlwaysOnTop = true
	box.ZIndex = 5
	box.Adornee = target
	box.Color3 = Color3.fromRGB(255, 0, 0) -- Red
	box.Transparency = 0.5
	box.Parent = target
end

-- Function to create a line pointing from LocalPlayer to target player
local function createPointerLine(targetCharacter)
	local targetTorso = targetCharacter:WaitForChild("HumanoidRootPart", 5)
	if not targetTorso then return end

	-- Get LocalPlayer's torso
	local localCharacter = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
	local localTorso = localCharacter:WaitForChild("HumanoidRootPart", 5)
	if not localTorso then return end

	-- Clean up old lines or attachments on this target
	local oldAttachment = targetTorso:FindFirstChild("TargetLineAttachment")
	if oldAttachment then oldAttachment:Destroy() end
	local oldBeam = targetTorso:FindFirstChild("PointerBeam")
	if oldBeam then oldBeam:Destroy() end

	-- Create attachment on LocalPlayer's torso if it doesn't exist
	local localAttachment = localTorso:FindFirstChild("LocalLineAttachment")
	if not localAttachment then
		localAttachment = Instance.new("Attachment")
		localAttachment.Name = "LocalLineAttachment"
		localAttachment.Parent = localTorso
	end

	-- Create attachment on the Target Player's torso
	local targetAttachment = Instance.new("Attachment")
	targetAttachment.Name = "TargetLineAttachment"
	targetAttachment.Parent = targetTorso

	-- Create the Beam (Line)
	local beam = Instance.new("Beam")
	beam.Name = "PointerBeam"
	beam.Attachment0 = localAttachment
	beam.Attachment1 = targetAttachment
	beam.Color = ColorSequence.new(Color3.fromRGB(255, 0, 0)) -- Red line
	beam.Width0 = 0.1 -- Starting thickness
	beam.Width1 = 0.1 -- Ending thickness
	beam.FaceCamera = true
	beam.LightEmission = 1
	beam.AlwaysOnTop = true -- Makes line visible through walls
	beam.Parent = targetTorso
end

-- Function to handle a character setup
local function setupCharacter(character)
	-- Wait for the humanoid and essential parts to load completely
	local humanoid = character:WaitForChild("Humanoid", 10)
	if not humanoid then return end
	task.wait(0.5) -- Safe delay for accessory/part physics replication

	-- Highlight all BaseParts
	for _, part in ipairs(character:GetChildren()) do
		if part:IsA("BasePart") then
			createBoxHighlight(part)
		end
	end

	-- Create tracking line
	createPointerLine(character)
end

-- Monitor a player
local function watchPlayer(player)
	if player == LocalPlayer then return end
	
	-- Setup existing character if available
	if player.Character then
		task.spawn(setupCharacter, player.Character)
	end
	
	-- Setup future characters on respawn
	player.CharacterAdded:Connect(function(character)
		setupCharacter(character)
	end)
end

-- Watch all current players in the server
for _, player in ipairs(Players:GetPlayers()) do
	watchPlayer(player)
end

-- Watch incoming players
Players.PlayerAdded:Connect(watchPlayer)

-- Re-link lines if the LocalPlayer dies and respawns
LocalPlayer.CharacterAdded:Connect(function()
	task.wait(1) -- Wait for local torso to exist
	for _, player in ipairs(Players:GetPlayers()) do
		if player ~= LocalPlayer and player.Character then
			createPointerLine(player.Character)
		end
	end
end)

Features & Information

Esp red u can see people in walls very useful in some games

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts