Esp v2 felipehub
Key RequiredUniversal

Esp v2 felipehub

Universal ScriptFELIPEHUBFELIPEHUB 2.4K views 3.6K executesUpdated May 28, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•219 lines (7327 chars)
-- Serviços
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Camera = workspace.CurrentCamera

local LocalPlayer = Players.LocalPlayer

-- Skybox
local skybox = Instance.new("Sky")
skybox.SkyboxBk = "rbxassetid://511726139"
skybox.SkyboxDn = "rbxassetid://511726139"
skybox.SkyboxFt = "rbxassetid://511726139"
skybox.SkyboxLf = "rbxassetid://511726139"
skybox.SkyboxRt = "rbxassetid://511726139"
skybox.SkyboxUp = "rbxassetid://511726139"
skybox.Parent = Lighting

-- Notificação
local StarterGui = game:GetService("StarterGui")
StarterGui:SetCore("SendNotification", {
    Title = "By FELIPEHUB",
    Text = "Obrigado por usar FELIPEHUB\nhttps://discord.gg/3k6BNHCV",
    Icon = "rbxassetid://511726139",
    Duration = 5
})

-- RGB arco-íris
local function getRainbowColor()
    return Color3.fromHSV(tick() % 5 / 5, 1, 1)
end

-- Cor da equipe ou RGB
local function getTeamColor(player)
    return player.Team and player.TeamColor.Color or getRainbowColor()
end

-- Armazenamento dos desenhos
local drawings = {}

-- Criar ESP
local function createESP(player)
    if player == LocalPlayer then return end

    local box = Drawing.new("Square")
    box.Thickness = 1
    box.Filled = false
    box.Visible = false

    local name = Drawing.new("Text")
    name.Size = 13
    name.Center = true
    name.Outline = true
    name.Color = Color3.new(0, 1, 0)
    name.Visible = false

    local distance = Drawing.new("Text")
    distance.Size = 13
    distance.Center = true
    distance.Outline = true
    distance.Color = Color3.new(0, 1, 0)
    distance.Visible = false

    local line = Drawing.new("Line")
    line.Thickness = 1
    line.Visible = false

    local healthBar = Drawing.new("Line")
    healthBar.Thickness = 2
    healthBar.Visible = false

    local healthText = Drawing.new("Text")
    healthText.Size = 13
    healthText.Center = false
    healthText.Outline = true
    healthText.Color = Color3.new(1, 1, 1)
    healthText.Visible = false

    drawings[player] = {
        Box = box,
        Name = name,
        Distance = distance,
        Line = line,
        HealthBar = healthBar,
        HealthText = healthText,
        Highlight = nil
    }

    if player.Character then
        local highlight = Instance.new("Highlight")
        highlight.Adornee = player.Character
        highlight.FillTransparency = 1
        highlight.OutlineTransparency = 0
        highlight.OutlineColor = getTeamColor(player)
        highlight.Parent = player.Character
        drawings[player].Highlight = highlight
    end

    player.CharacterAdded:Connect(function(char)
        task.wait(0.1)
        if drawings[player].Highlight then
            drawings[player].Highlight:Destroy()
        end
        local highlight = Instance.new("Highlight")
        highlight.Adornee = char
        highlight.FillTransparency = 1
        highlight.OutlineTransparency = 0
        highlight.OutlineColor = getTeamColor(player)
        highlight.Parent = char
        drawings[player].Highlight = highlight
    end)
end

-- Criar ESP para todos os jogadores
for _, player in pairs(Players:GetPlayers()) do
    createESP(player)
end
Players.PlayerAdded:Connect(createESP)

-- Atualizar ESP
RunService.RenderStepped:Connect(function()
    local screenCenter = Camera.ViewportSize / 2

    for player, data in pairs(drawings) do
        local character = player.Character
        local box, name, distance, line, healthBar, healthText, highlight = data.Box, data.Name, data.Distance, data.Line, data.HealthBar, data.HealthText, data.Highlight

        if character and character:FindFirstChild("HumanoidRootPart") and character:FindFirstChild("Head") and character:FindFirstChildOfClass("Humanoid") then
            local hrp = character.HumanoidRootPart
            local humanoid = character:FindFirstChildOfClass("Humanoid")
            local head = character.Head
            local pos, onScreen = Camera:WorldToViewportPoint(hrp.Position)
            local headPos = Camera:WorldToViewportPoint(head.Position + Vector3.new(0, 0.5, 0))
            local footPos = Camera:WorldToViewportPoint(hrp.Position - Vector3.new(0, 2.5, 0))

            if onScreen then
                local height = math.abs(headPos.Y - footPos.Y)
                local width = height / 2

                box.Size = Vector2.new(width, height)
                box.Position = Vector2.new(pos.X - width / 2, pos.Y - height / 2)
                box.Color = getTeamColor(player)
                box.Visible = true

                name.Text = player.Name
                name.Position = Vector2.new(pos.X, pos.Y - height / 2 - 15)
                name.Visible = true

                local dist = math.floor((LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart")) and (LocalPlayer.Character.HumanoidRootPart.Position - hrp.Position).Magnitude or 0)
                distance.Text = dist .. "m"
                distance.Position = Vector2.new(pos.X, pos.Y - height / 2 - 30)
                distance.Visible = true

                line.From = Vector2.new(Camera.ViewportSize.X / 2, 0)
                line.To = Vector2.new(pos.X, pos.Y - height / 2)
                line.Color = getTeamColor(player)
                line.Visible = true

                -- Barra de Vida (vertical)
                local healthPercent = math.clamp(humanoid.Health / humanoid.MaxHealth, 0, 1)
                local barHeight = height
                local barY1 = pos.Y + height / 2
                local barY2 = barY1 - (barHeight * healthPercent)
                local barX = pos.X - width / 2 - 6

                local green = Color3.fromRGB(0, 255, 0)
                local red = Color3.fromRGB(255, 0, 0)
                healthBar.Color = green:lerp(red, 1 - healthPercent)

                healthBar.From = Vector2.new(barX, barY1)
                healthBar.To = Vector2.new(barX, barY2)
                healthBar.Visible = true

                -- Texto da Vida
                healthText.Text = "Vida: " .. math.floor(humanoid.Health)
                healthText.Position = Vector2.new(barX - 55, barY2 - 5)
                healthText.Visible = true

                if highlight and highlight.Parent then
                    highlight.OutlineColor = getTeamColor(player)
                end
            else
                box.Visible = false
                name.Visible = false
                distance.Visible = false
                line.Visible = false
                healthBar.Visible = false
                healthText.Visible = false
            end
        else
            box.Visible = false
            name.Visible = false
            distance.Visible = false
            line.Visible = false
            healthBar.Visible = false
            healthText.Visible = false
        end
    end
end)

-- FPS
local fpsText = Drawing.new("Text")
fpsText.Size = 20
fpsText.Position = Vector2.new(10, Camera.ViewportSize.Y / 2)
fpsText.Color = Color3.new(1, 1, 1)
fpsText.Outline = true
fpsText.Visible = true

local last = tick()
local frames = 0

RunService.RenderStepped:Connect(function()
    frames += 1
    if tick() - last >= 1 then
        fpsText.Text = "FPS: " .. frames
        frames = 0
        last = tick()
    end
end)

Features & Information

Esp line esp heath esp box esp corpo 3d

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts