Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- This script should be placed in a LocalScript
- local players = game:GetService("Players")
- local runService = game:GetService("RunService")
- -- Function to create a box around a player's character
- local function createESP(player)
- local box = Instance.new("BoxHandleAdornment")
- box.Name = "ESP"
- box.Adornee = player.Character and player.Character:FindFirstChild("HumanoidRootPart")
- box.Size = player.Character and player.Character.HumanoidRootPart.Size + Vector3.new(1, 1, 1)
- box.Color3 = Color3.fromRGB(255, 0, 0)
- box.Transparency = 0.5
- box.AlwaysOnTop = true
- box.ZIndex = 10
- box.Parent = player.Character.HumanoidRootPart
- end
- -- Function to remove the ESP box when the player leaves
- local function removeESP(player)
- if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
- local adornment = player.Character.HumanoidRootPart:FindFirstChild("ESP")
- if adornment then
- adornment:Destroy()
- end
- end
- end
- -- Add ESP to all existing players
- for _, player in pairs(players:GetPlayers()) do
- if player ~= players.LocalPlayer then
- createESP(player)
- end
- end
- -- Listen for new players joining and add ESP
- players.PlayerAdded:Connect(function(player)
- if player ~= players.LocalPlayer then
- player.CharacterAdded:Connect(function(character)
- createESP(player)
- end)
- end
- end)
- -- Listen for players leaving and remove ESP
- players.PlayerRemoving:Connect(function(player)
- removeESP(player)
- end)
- -- Keep updating ESP on RenderStepped
- runService.RenderStepped:Connect(function()
- for _, player in pairs(players:GetPlayers()) do
- if player ~= players.LocalPlayer and player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
- local box = player.Character.HumanoidRootPart:FindFirstChild("ESP")
- if not box then
- createESP(player)
- else
- box.Adornee = player.Character.HumanoidRootPart
- end
- end
- end
- end)
Add Comment
Please, Sign In to add comment