Universal Esp
Key RequiredUniversal

Universal Esp

Universal ScriptMaxwellaltaccount2Maxwellaltaccount2 19.6K views 152 executesUpdated Jul 12, 2024
Unrated
00
Lua Script•104 lines (3593 chars)
local Players = game:GetService("Players")

local playerConnections = {}

-- Function to create the highlight effect
local function createHighlight(character)
    local highlight = Instance.new("Highlight")
    highlight.Adornee = character:FindFirstChild("HumanoidRootPart")
    highlight.FillColor = Color3.new(1, 0, 0)  -- Red color
    highlight.FillTransparency = 0.2
    highlight.OutlineColor = Color3.new(1, 0, 0)  -- Red outline
    highlight.OutlineTransparency = 0
    highlight.Parent = character
end

-- Function to create the distance label above the HumanoidRootPart
local function createDistanceLabel(character)
    local rootPart = character:FindFirstChild("HumanoidRootPart")
    if not rootPart then return end

    local billboardGui = Instance.new("BillboardGui")
    billboardGui.Adornee = rootPart
    billboardGui.Size = UDim2.new(0, 100, 0, 50)
    billboardGui.StudsOffset = Vector3.new(0, 2, 0)
    billboardGui.AlwaysOnTop = true

    local textLabel = Instance.new("TextLabel")
    textLabel.Size = UDim2.new(1, 0, 1, 0)
    textLabel.BackgroundTransparency = 1
    textLabel.TextColor3 = Color3.new(1, 1, 1)  -- White color
    textLabel.TextStrokeTransparency = 0.75
    textLabel.Font = Enum.Font.SourceSansBold
    textLabel.TextScaled = true
    textLabel.Parent = billboardGui

    billboardGui.Parent = character

    return textLabel
end

-- Function to update the distance label with the distance to the local player
local function updateDistanceLabel(label, character)
    local player = Players.LocalPlayer
    if not player.Character or not character or not character:FindFirstChild("HumanoidRootPart") then return end

    local distance = (player.Character.HumanoidRootPart.Position - character.HumanoidRootPart.Position).Magnitude
    label.Text = tostring(math.floor(distance)) .. " studs"
end

-- Function to handle character added
local function onCharacterAdded(character)
    if character:FindFirstChild("Humanoid") then
        createHighlight(character)

        local distanceLabel = createDistanceLabel(character)
        if distanceLabel then
            local connection = game:GetService("RunService").RenderStepped:Connect(function()
                updateDistanceLabel(distanceLabel, character)
            end)

            local player = Players:GetPlayerFromCharacter(character)
            if player then
                if not playerConnections[player] then
                    playerConnections[player] = {}
                end
                table.insert(playerConnections[player], connection)
            end

            character:FindFirstChildOfClass("Humanoid").Died:Connect(function()
                if distanceLabel then
                    distanceLabel.Parent:Destroy()
                end
                connection:Disconnect()
            end)
        end
    end
end

-- Function to handle player added
local function onPlayerAdded(player)
    player.CharacterAdded:Connect(onCharacterAdded)
    if player.Character then
        onCharacterAdded(player.Character)
    end
end

-- Function to handle player removing
local function onPlayerRemoving(player)
    if playerConnections[player] then
        for _, connection in ipairs(playerConnections[player]) do
            connection:Disconnect()
        end
        playerConnections[player] = nil
    end
end

-- Connect player added and player removing events
Players.PlayerAdded:Connect(onPlayerAdded)
Players.PlayerRemoving:Connect(onPlayerRemoving)

-- For already existing players
for _, player in pairs(Players:GetPlayers()) do
    onPlayerAdded(player)
end

Features & Information

In Devolpment (You Can Do Whatever The Esp. Else Might Improved And Whatever.)
#All games#Devolpment#Skid

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts