local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Camera = workspace.CurrentCamera local LocalPlayer = Players.LocalPlayer local function CreateESP(player) local Box = Drawing.new("Square") Box.Visible, Box.Thickness, Box.Filled = false, 4, false local hue = 0 RunService.RenderStepped:Connect(function() if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then local HumanoidRootPart = player.Character.HumanoidRootPart local pos, onScreen = Camera:WorldToViewportPoint(HumanoidRootPart.Position) if onScreen then Box.Size, Box.Position = Vector2.new(2000 / pos.Z, 2500 / pos.Z), Vector2.new(pos.X - Box.Size.X / 2, pos.Y - Box.Size.Y / 2) Box.Visible = true if not player.Team or not LocalPlayer.Team then Box.Color = Color3.fromHSV(hue, 1, 1) hue = (hue + 0.01) % 1 else Box.Color = player.Team == LocalPlayer.Team and Color3.new(0, 0, 1) or Color3.new(1, 0, 0) end else Box.Visible = false end else Box.Visible = false end end) end local function ApplyPlayerESP() for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then CreateESP(player) end end Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function() CreateESP(player) end) end) end while true do ApplyPlayerESP() wait(5) end