Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local Players = game:GetService("Players")
- local RunService = game:GetService("RunService")
- local Camera = game:GetService("Workspace").CurrentCamera
- local ESPs = {}
- local function CreateESP(player)
- if player.Character and Camera then
- local character = player.Character
- local esp = {}
- for _, part in ipairs(character:GetDescendants()) do
- if part:IsA("BasePart") then
- local espPart = Instance.new("BoxHandleAdornment")
- espPart.Adornee = part
- espPart.Size = part.Size
- espPart.Color3 = Color3.new(1, 0, 0) -- Red color
- espPart.Transparency = 0.5 -- 50% transparency
- espPart.AlwaysOnTop = true
- espPart.ZIndex = 5
- espPart.Parent = part
- table.insert(esp, espPart)
- end
- end
- ESPs[player] = esp
- end
- end
- local function RemoveESP(player)
- local esp = ESPs[player]
- if esp then
- for _, part in ipairs(esp) do
- part:Destroy()
- end
- ESPs[player] = nil
- end
- end
- local function UpdateESP(player)
- if player.Character and Camera then
- local character = player.Character
- local esp = ESPs[player]
- if esp then
- for _, part in ipairs(character:GetDescendants()) do
- if part:IsA("BasePart") then
- local espPart = esp[_]
- if espPart then
- espPart.Size = part.Size
- espPart.Position = part.Position
- end
- end
- end
- end
- end
- end
- local function UpdateAllESP()
- for player, _ in pairs(ESPs) do
- UpdateESP(player)
- end
- end
- local function RenderStep()
- UpdateAllESP()
- end
- local function PlayerAdded(player)
- player.CharacterAdded:Connect(function(character)
- CreateESP(player)
- end)
- player.CharacterRemoving:Connect(function(character)
- RemoveESP(player)
- end)
- end
- Players.PlayerAdded:Connect(PlayerAdded)
- Players.PlayerRemoving:Connect(function(player)
- RemoveESP(player)
- end)
- for _, player in ipairs(Players:GetPlayers()) do
- PlayerAdded(player)
- end
- RunService.RenderStepped:Connect(RenderStep)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement