ESP
Key Required

ESP

Run Hide Fight [UPD]papupromauripapupromauri 5.5K views 12.8K executesUpdated Nov 1, 2025
5.0/ 5(1 votes)
10100% Positive
Lua Script•250 lines (7308 chars)
-- Chams + Barra de Vida Funcional
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

local LocalPlayer = Players.LocalPlayer
local Camera = workspace.CurrentCamera

-- Configuración
local Config = {
    Enabled = true,
    ToggleKey = Enum.KeyCode.F,
    ShooterColor = Color3.fromRGB(255, 0, 0),
    NormalColor = Color3.fromRGB(0, 255, 0)
}

-- Lista de armas
local WeaponNames = {
    "uzi", "shotgun", "m4", "ak47", "rifle", "sniper", "pistol", "deagle", "mp5", 
    "smg", "lmg", "assault", "gun", "weapon", "sword", "blade", "dagger"
}

-- Detectar armas
local function HasWeapon(player)
    if not player.Character then return false end
    
    for _, item in pairs(player.Character:GetChildren()) do
        if item:IsA("Tool") then
            local name = string.lower(item.Name)
            for _, weapon in pairs(WeaponNames) do
                if string.find(name, weapon) then
                    return true
                end
            end
        end
    end
    
    local backpack = player:FindFirstChild("Backpack")
    if backpack then
        for _, item in pairs(backpack:GetChildren()) do
            if item:IsA("Tool") then
                local name = string.lower(item.Name)
                for _, weapon in pairs(WeaponNames) do
                    if string.find(name, weapon) then
                        return true
                    end
                end
            end
        end
    end
    
    return false
end

-- Crear/Actualizar highlight
local function UpdateHighlight(character, color)
    local highlight = character:FindFirstChild("WeaponChams")
    
    if not highlight then
        highlight = Instance.new("Highlight")
        highlight.Name = "WeaponChams"
        highlight.Parent = character
        highlight.FillTransparency = 1
        highlight.OutlineTransparency = 0
    end
    
    highlight.OutlineColor = color
    highlight.FillColor = Color3.fromRGB(0, 0, 0)
end

-- Crear barra de vida VISIBLE desde lejos
local function CreateHealthBar(character)
    local humanoidRootPart = character:FindFirstChild("HumanoidRootPart")
    if not humanoidRootPart then return nil end
    
    -- Eliminar barra existente
    local existing = humanoidRootPart:FindFirstChild("HealthBarGUI")
    if existing then
        existing:Destroy()
    end
    
    -- Crear BillboardGui
    local billboard = Instance.new("BillboardGui")
    billboard.Name = "HealthBarGUI"
    billboard.Parent = humanoidRootPart
    billboard.Adornee = humanoidRootPart
    billboard.Size = UDim2.new(0.4, 0, 4, 0) -- MÁS ANCHA (0.4 studs de ancho, 4 studs de alto)
    billboard.StudsOffset = Vector3.new(3.5, 0, 0) -- MÁS ALEJADA (3.5 studs a la derecha)
    billboard.AlwaysOnTop = true
    billboard.MaxDistance = 500 -- Visible desde más lejos
    
    -- Fondo
    local bg = Instance.new("Frame")
    bg.Name = "Background"
    bg.Size = UDim2.new(1, 0, 1, 0)
    bg.BackgroundColor3 = Color3.fromRGB(20, 20, 20)
    bg.BorderSizePixel = 0
    bg.Parent = billboard
    
    local bgCorner = Instance.new("UICorner")
    bgCorner.CornerRadius = UDim.new(0.15, 0) -- Menos redondeada para verse más grande
    bgCorner.Parent = bg
    
    -- Barra de vida
    local hp = Instance.new("Frame")
    hp.Name = "HealthBar"
    hp.Size = UDim2.new(1, 0, 1, 0)
    hp.Position = UDim2.new(0, 0, 1, 0)
    hp.AnchorPoint = Vector2.new(0, 1)
    hp.BackgroundColor3 = Color3.fromRGB(0, 255, 0)
    hp.BorderSizePixel = 0
    hp.Parent = bg
    
    local hpCorner = Instance.new("UICorner")
    hpCorner.CornerRadius = UDim.new(0.15, 0)
    hpCorner.Parent = hp
    
    return billboard
end

-- Actualizar barra de vida
local function UpdateHealthBar(character)
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if not humanoid then return end
    
    local rootPart = character:FindFirstChild("HumanoidRootPart")
    if not rootPart then return end
    
    local billboard = rootPart:FindFirstChild("HealthBarGUI")
    if not billboard then
        billboard = CreateHealthBar(character)
        if not billboard then return end
    end
    
    local bg = billboard:FindFirstChild("Background")
    if not bg then return end
    
    local healthBar = bg:FindFirstChild("HealthBar")
    if not healthBar then return end
    
    -- Calcular porcentaje de salud
    local healthPercent = math.clamp(humanoid.Health / humanoid.MaxHealth, 0, 1)
    
    -- Actualizar tamaño
    healthBar.Size = UDim2.new(1, 0, healthPercent, 0)
    
    -- Gradiente de color: Verde -> Amarillo -> Rojo
    local red, green
    
    if healthPercent >= 0.5 then
        -- Verde a amarillo
        local t = (healthPercent - 0.5) / 0.5
        red = math.floor(255 * (1 - t))
        green = 255
    else
        -- Amarillo a rojo
        local t = healthPercent / 0.5
        red = 255
        green = math.floor(255 * t)
    end
    
    healthBar.BackgroundColor3 = Color3.fromRGB(red, green, 0)
end

-- Limpiar jugador
local function CleanupPlayer(player)
    if player.Character then
        -- Limpiar highlight
        local highlight = player.Character:FindFirstChild("WeaponChams")
        if highlight then
            highlight:Destroy()
        end
        
        -- Limpiar barra de vida
        local rootPart = player.Character:FindFirstChild("HumanoidRootPart")
        if rootPart then
            local healthBar = rootPart:FindFirstChild("HealthBarGUI")
            if healthBar then
                healthBar:Destroy()
            end
        end
    end
end

-- Limpiar todo
local function CleanupAll()
    for _, player in pairs(Players:GetPlayers()) do
        CleanupPlayer(player)
    end
end

-- Toggle
local function Toggle()
    Config.Enabled = not Config.Enabled
    
    if Config.Enabled then
        print("✅ Chams + Health ON")
    else
        print("❌ Chams + Health OFF")
        CleanupAll()
    end
end

-- Loop principal
RunService.Heartbeat:Connect(function()
    if not Config.Enabled then return end
    
    for _, player in pairs(Players:GetPlayers()) do
        if player ~= LocalPlayer and player.Character then
            pcall(function()
                -- Actualizar highlight
                local hasWeapon = HasWeapon(player)
                local color = hasWeapon and Config.ShooterColor or Config.NormalColor
                UpdateHighlight(player.Character, color)
                
                -- Actualizar barra de vida
                UpdateHealthBar(player.Character)
            end)
        end
    end
end)

-- Controles
UserInputService.InputBegan:Connect(function(input, processed)
    if processed then return end
    if input.KeyCode == Config.ToggleKey then
        Toggle()
    end
end)

-- Eventos de limpieza
Players.PlayerRemoving:Connect(CleanupPlayer)

for _, player in pairs(Players:GetPlayers()) do
    player.CharacterRemoving:Connect(function()
        CleanupPlayer(player)
    end)
end

Players.PlayerAdded:Connect(function(player)
    player.CharacterRemoving:Connect(function()
        CleanupPlayer(player)
    end)
end)

print("✅ Chams + Health Bar cargado")
print("🎮 F = Toggle")
print("🟢 Verde = Sin armas")
print("🔴 Rojo = Con armas")
print("💚→💛→❤️ Barra = Vida")

Features & Information

a good chams, a functional health bar, esp
#RHF#Run#Hide#Fight#Esp

Community Comments (1)

papupromauripapupromauriNov 1, 2025

BTW, I didn't create it, an AI did, but it's a very good script.

More Scripts for Run Hide Fight [UPD]