Vida Real
Key RequiredUniversal

Vida Real

Universal ScriptGlodonGlodon 3.8K views 17.7K executesUpdated Jun 22, 2026
2.5/ 5(2 votes)
1150% Positive
Lua Script•400 lines (16379 chars)
-- Evitar duplicados del menú en PlayerGui
local jugadorLocal = game:GetService("Players").LocalPlayer
local antiguoSupervivencia = jugadorLocal:WaitForChild("PlayerGui"):FindFirstChild("CoquetteSurvivalUltimateV7")
if antiguoSupervivencia then antiguoSupervivencia:Destroy() end

local RunService = game:GetService("RunService")
local Lighting = game:GetService("Lighting")
local Workspace = game:GetService("Workspace")
local TweenService = game:GetService("TweenService")
local Camara = Workspace.CurrentCamera

-- --- VARIABLES DE SUPERVIVENCIA Y ESTADO ---
local hambre = 100
local sed = 100
local saludCustom = 100
local velocidadCamaraPrevia = Vector3.new(0,0,0)
local parpadeandoActivo = false
local modoPrimeraPersona = true
local apuntando = false

local fovVehiculoTarget = 95 
local fovNormalTarget = 70
local fovApuntadoTarget = 50 

-- --- CREACIÓN DE LA INTERFAZ GRÁFICA EN PLAYERGUI ---
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Name = "CoquetteSurvivalUltimateV7"
ScreenGui.ResetOnSpawn = false 
ScreenGui.Parent = jugadorLocal:WaitForChild("PlayerGui")

-- --- INTERFAZ DE CRÉDITOS (ESTILO NEGRO Y GOLD TRANSPARENTE) ---
local PanelCreditos = Instance.new("Frame", ScreenGui)
PanelCreditos.Size = UDim2.new(0, 260, 0, 150)
PanelCreditos.Position = UDim2.new(0, 20, 0.1, 0)
PanelCreditos.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
PanelCreditos.BackgroundTransparency = 0.35 
Instance.new("UICorner", PanelCreditos).CornerRadius = UDim.new(0, 12) 

local StrokeGold = Instance.new("UIStroke", PanelCreditos)
StrokeGold.Color = Color3.fromRGB(212, 175, 55) 
StrokeGold.Thickness = 2

local TituloCreditos = Instance.new("TextLabel", PanelCreditos)
TituloCreditos.Size = UDim2.new(1, 0, 0, 30)
TituloCreditos.BackgroundTransparency = 1
TituloCreditos.Text = "✨ ULTIMATE REALISM ENGINE ✨"
TituloCreditos.TextColor3 = Color3.fromRGB(212, 175, 55)
TituloCreditos.Font = Enum.Font.GothamBold
TituloCreditos.TextSize = 12

local InfoCreditos = Instance.new("TextLabel", PanelCreditos)
InfoCreditos.Size = UDim2.new(1, -20, 1, -40)
InfoCreditos.Position = UDim2.new(0, 10, 0, 30)
InfoCreditos.BackgroundTransparency = 1
InfoCreditos.Text = "Developer: ueu9195\nUser: ueu9195\nTikTok: @El_Pantera's-50_crRd\nDiscord: https://discord.gg/eprXQ3E8f\n\n[ Enlace copiado al portapapeles ]"
InfoCreditos.TextColor3 = Color3.fromRGB(255, 255, 255)
InfoCreditos.Font = Enum.Font.GothamSemibold
InfoCreditos.TextSize = 10
InfoCreditos.TextXAlignment = Enum.TextXAlignment.Left

-- Copiar enlace de Discord automáticamente al portapapeles
if setclipboard then
    setclipboard("https://discord.gg/eprXQ3E8f")
end

-- ANIMACIÓN MODERNA Y SUAVE DE DESVANECIMIENTO TRAS 11 SEGUNDOS
task.spawn(function()
    task.wait(11)
    local infoDesvanecer = TweenInfo.new(1.2, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
    
    local t1 = TweenService:Create(PanelCreditos, infoDesvanecer, {BackgroundTransparency = 1})
    local t2 = TweenService:Create(StrokeGold, infoDesvanecer, {Transparency = 1})
    local t3 = TweenService:Create(TituloCreditos, infoDesvanecer, {TextTransparency = 1})
    local t4 = TweenService:Create(InfoCreditos, infoDesvanecer, {TextTransparency = 1})
    
    t1:Play() t2:Play() t3:Play() t4:Play()
    t1.Completed:Connect(function()
        PanelCreditos:Destroy()
    end)
end)

-- --- CROSSHAIR (PUNTITO BLANCO) ---
local Crosshair = Instance.new("Frame", ScreenGui)
Crosshair.Name = "CentroCrosshair"
Crosshair.Size = UDim2.new(0, 4, 0, 4)
Crosshair.Position = UDim2.new(0.5, -2, 0.5, -2)
Crosshair.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
Crosshair.BorderSizePixel = 0
Instance.new("UICorner", Crosshair).CornerRadius = UDim.new(1, 0)

local CrosshairStroke = Instance.new("UIStroke", Crosshair)
CrosshairStroke.Color = Color3.fromRGB(0, 0, 0)
CrosshairStroke.Thickness = 1

-- Contenedor de las Barras de Supervivencia
local ContenedorBarras = Instance.new("Frame", ScreenGui)
ContenedorBarras.Size = UDim2.new(0, 210, 0, 110)
ContenedorBarras.Position = UDim2.new(1, -230, 1, -130)
ContenedorBarras.BackgroundColor3 = Color3.fromRGB(15, 15, 15)
ContenedorBarras.BackgroundTransparency = 0.2
Instance.new("UICorner", ContenedorBarras).CornerRadius = UDim.new(0, 12)
local StrokeBarras = Instance.new("UIStroke", ContenedorBarras)
StrokeBarras.Color = Color3.fromRGB(212, 175, 55)
StrokeBarras.Thickness = 1.5

local function crearBarra(nombre, color, posicionY)
    local fondo = Instance.new("Frame", ContenedorBarras)
    fondo.Size = UDim2.new(1, -30, 0, 14)
    fondo.Position = UDim2.new(0, 15, 0, posicionY)
    fondo.BackgroundColor3 = Color3.fromRGB(40, 40, 45)
    Instance.new("UICorner", fondo).CornerRadius = UDim.new(0, 4)
    
    local relleno = Instance.new("Frame", fondo)
    relleno.Name = nombre
    relleno.Size = UDim2.new(1, 0, 1, 0)
    relleno.BackgroundColor3 = color
    Instance.new("UICorner", relleno).CornerRadius = UDim.new(0, 4)
    
    local texto = Instance.new("TextLabel", fondo)
    texto.Size = UDim2.new(1, 0, 1, 0)
    texto.BackgroundTransparency = 1
    texto.Text = nombre .. ": 100%"
    texto.TextColor3 = Color3.fromRGB(255, 255, 255)
    texto.Font = Enum.Font.GothamBold
    texto.TextSize = 9
    
    return relleno, texto
end

local barraVida, txtVida = crearBarra("SALUD", Color3.fromRGB(200, 50, 50), 20)
local barraHambre, txtHambre = crearBarra("HAMBRE", Color3.fromRGB(200, 140, 40), 50)
local barraAgua, txtAgua = crearBarra("AGUA", Color3.fromRGB(40, 120, 200), 80)

-- --- PÁRPADOS CINEMÁTICOS ---
local ParpadoSuperior = Instance.new("Frame", ScreenGui)
ParpadoSuperior.Size = UDim2.new(1, 0, 0, 0)
ParpadoSuperior.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
ParpadoSuperior.BorderSizePixel = 0

local ParpadoInferior = Instance.new("Frame", ScreenGui)
ParpadoInferior.Size = UDim2.new(1, 0, 0, 0)
ParpadoInferior.Position = UDim2.new(0, 0, 1, 0)
ParpadoInferior.BackgroundColor3 = Color3.fromRGB(0, 0, 0)
ParpadoInferior.BorderSizePixel = 0

-- --- SHADERS GRÁFICOS Y MEJORAS DE ENTORNO ---
setfpscap(1000) 
Lighting.GlobalShadows = true
Lighting.Brightness = 3.9
Lighting.ShadowSoftness = 0.01 
Lighting.ExposureCompensation = 0.35
Lighting.EnvironmentDiffuseScale = 1
Lighting.EnvironmentSpecularScale = 1

local BlurEfecto = Lighting:FindFirstChild("SurvivalBlur") or Instance.new("BlurEffect", Lighting)
BlurEfecto.Name = "SurvivalBlur"
BlurEfecto.Size = 0

local BloomEfecto = Lighting:FindFirstChild("SurvivalBloom") or Instance.new("BloomEffect", Lighting)
BloomEfecto.Name = "SurvivalBloom"
BloomEfecto.Intensity = 1.6
BloomEfecto.Size = 30
BloomEfecto.Threshold = 0.3

local Color4K = Lighting:FindFirstChild("ColorUltra4K") or Instance.new("ColorCorrectionEffect", Lighting)
Color4K.Name = "ColorUltra4K"
Color4K.Contrast = 0.2
Color4K.Saturation = 0.25
Color4K.TintColor = Color3.fromRGB(255, 252, 245)

-- --- MOTOR DE TEXTURAS ULTRA REALISTAS ---
local function inyectarTexturasFotorrealistas()
    for _, objeto in ipairs(Workspace:GetDescendants()) do
        if objeto:IsA("BasePart") then
            -- Incrementar nitidez física de renderizado para asfalto, concreto y suelos
            if objeto.Material == Enum.Material.Concrete or objeto.Material == Enum.Material.Asphalt or objeto.Material == Enum.Material.CorrodedMetal then
                objeto.Reflectance = 0.05
            elseif objeto.Material == Enum.Material.Grass then
                objeto.Color = Color3.fromRGB(90, 130, 75) -- Ajuste de tono realista para pasto
            end
        end
    end
end
task.spawn(inyectarTexturasFotorrealistas)

-- --- AJUSTADOR DE SUSPENSIONES REALISTAS Y SUAVES ---
local function suavizarSuspensionVehiculo(asiento)
    local vehiculo = asiento.Parent
    if vehiculo then
        for _, pieza in ipairs(vehiculo:GetDescendants()) do
            -- Configurar dinámicamente cualquier resorte físico del auto para que sea suave y elástico
            if pieza:IsA("SpringConstraint") then
                pieza.Stiffness = 3500  -- Más elástico (blando ante baches)
                pieza.Damping = 450     -- Amortiguación realista para evitar balanceo infinito
                pieza.FreeLength = pieza.FreeLength + 0.3
            elseif pieza:IsA("PrismaticConstraint") and pieza.ActuatorType == Enum.ActuatorType.Spring then
                pieza.VelocityConstraintMaxForce = 1500
            end
        end
    end
end

-- Comandos por Chat
local function alEnviarMensaje(mensaje)
    local msg = mensaje:lower()
    if msg == "!2pr" then
        modoPrimeraPersona = false
        jugadorLocal.CameraMode = Enum.CameraMode.Classic
        Crosshair.Visible = false
    elseif msg == "!1pr" then
        modoPrimeraPersona = true
        jugadorLocal.CameraMode = Enum.CameraMode.LockFirstPerson
        Crosshair.Visible = true
    end
end
jugadorLocal.Chatted:Connect(alEnviarMensaje)

-- Ver manos en primera persona
local function hacerBrazosVisibles()
    local personaje = jugadorLocal.Character
    if personaje and modoPrimeraPersona then
        for _, parte in ipairs(personaje:GetChildren()) do
            if parte:IsA("BasePart") and (parte.Name:find("Arm") or parte.Name:find("Hand") or parte.Name:find("Limb")) then
                parte.LocalTransparencyModifier = 0
            end
        end
    end
end

-- Detector de comida e interacciones de Brookhaven
local function conectarDeteccionHerramientas(personaje)
    personaje.ChildAdded:Connect(function(objeto)
        if objeto:IsA("Tool") then
            local nombreItem = objeto.Name:lower()
            
            if nombreItem:find("gun") or nombreItem:find("rifle") or nombreItem:find("pistol") or nombreItem:find("weapon") or nombreItem:find("mira") then
                apuntando = true
            end
            
            objeto.Activated:Connect(function()
                if nombreItem:find("food") or nombreItem:find("burger") or nombreItem:find("pizza") or nombreItem:find("donut") or nombreItem:find("sandwich") or nombreItem:find("fruit") or nombreItem:find("apple") or nombreItem:find("berry") or nombreItem:find("icecream") then
                    hambre = math.min(hambre + 30, 100)
                elseif nombreItem:find("drink") or nombreItem:find("water") or nombreItem:find("soda") or nombreItem:find("juice") or nombreItem:find("coffee") or nombreItem:find("milk") or nombreItem:find("bottle") then
                    sed = math.min(sed + 35, 100)
                end
            end)
        end
    end)
    
    personaje.ChildRemoved:Connect(function(objeto)
        if objeto:IsA("Tool") then
            apuntando = false 
        end
    end)
end

-- Parpadeo Realista
local function ejecutarParpadoAnimado(duracionCierre, duracionEspera, duracionApertura)
    if parpadeandoActivo then return end
    parpadeandoActivo = true
    
    local infoCierre = TweenInfo.new(duracionCierre, Enum.EasingStyle.Sine, Enum.EasingDirection.In)
    local infoApertura = TweenInfo.new(duracionApertura, Enum.EasingStyle.Sine, Enum.EasingDirection.Out)
    
    local tweenSupCerrar = TweenService:Create(ParpadoSuperior, infoCierre, {Size = UDim2.new(1, 0, 0.5, 0)})
    local tweenInfCerrar = TweenService:Create(ParpadoInferior, infoCierre, {Size = UDim2.new(1, 0, 0.5, 0), Position = UDim2.new(0, 0, 0.5, 0)})
    
    local tweenSupAbrir = TweenService:Create(ParpadoSuperior, infoApertura, {Size = UDim2.new(1, 0, 0, 0)})
    local tweenInfAbrir = TweenService:Create(ParpadoInferior, infoApertura, {Size = UDim2.new(1, 0, 0, 0), Position = UDim2.new(0, 0, 1, 0)})
    
    tweenSupCerrar:Play()
    tweenInfCerrar:Play()
    
    tweenSupCerrar.Completed:Connect(function()
        task.wait(duracionEspera)
        tweenSupAbrir:Play()
        tweenInfAbrir:Play()
    end)
    
    tweenSupAbrir.Completed:Connect(function()
        parpadeandoActivo = false
    end)
end

jugadorLocal.CharacterAdded:Connect(function(nuevoPersonaje)
    conectarDeteccionHerramientas(nuevoPersonaje)
    task.wait(0.2)
    if modoPrimeraPersona then
        jugadorLocal.CameraMode = Enum.CameraMode.LockFirstPerson
        Crosshair.Visible = true
    end
end)

if jugadorLocal.Character then conectarDeteccionHerramientas(jugadorLocal.Character) end

-- --- BUCLE CENTRAL ULTIMATE ---
local cronometroParpadeo = 0
local intervaloParpadeoEstablecido = math.random(600, 1200)

RunService.RenderStepped:Connect(function(delta)
    local personaje = jugadorLocal.Character
    if not personaje then return end
    local humanoide = personaje:FindFirstChildOfClass("Humanoid")
    local hrp = personaje:FindFirstChild("HumanoidRootPart")
    
    if modoPrimeraPersona and jugadorLocal.CameraMode ~= Enum.CameraMode.LockFirstPerson then
        jugadorLocal.CameraMode = Enum.CameraMode.LockFirstPerson
        Crosshair.Visible = true
    end
    
    hacerBrazosVisibles()
    
    -- 1. EFECTO MOTION BLUR Y CAMERA BOBBING
    if hrp then
        local velocidadCamaraActual = Camara.CFrame.LookVector
        local rotacionVelocidad = (velocidadCamaraActual - velocidadCamaraPrevia).Magnitude
        if rotacionVelocidad > 0.04 then
            BlurEfecto.Size = math.min(rotacionVelocidad * 140, 18)
        else
            BlurEfecto.Size = BlurEfecto.Size + (0 - BlurEfecto.Size) * 0.15
        end
        velocidadCamaraPrevia = velocidadCamaraActual
        
        -- Balanceo realista de cámara al caminar
        if humanoide and humanoide.MoveDirection.Magnitude > 0 and humanoide.FloorMaterial ~= Enum.Material.Air then
            local tiempo = tick() * (humanoide.WalkSpeed * 0.7)
            local balanceoX = math.cos(tiempo) * 0.04
            local balanceoY = math.abs(math.sin(tiempo)) * 0.04
            Camara.HumanoidCameraOffset = Vector3.new(balanceoX, balanceoY, 0)
        else
            Camara.HumanoidCameraOffset = Vector3.new(0, 0, 0)
        end
    end
    
    -- 2. CONTROL DE FOV Y MONITOREO DE AUTO (SUSPENSIÓN)
    if humanoide then
        if apuntando then
            Camara.FieldOfView = Camara.FieldOfView + (fovApuntadoTarget - Camara.FieldOfView) * 0.12
        elseif humanoide.SeatPart and humanoide.SeatPart:IsA("VehicleSeat") then
            suavizarSuspensionVehiculo(humanoide.SeatPart) -- Aplicar física blanda al auto conducido
            Camara.FieldOfView = Camara.FieldOfView + (fovVehiculoTarget - Camara.FieldOfView) * 0.08
        else
            Camara.FieldOfView = Camara.FieldOfView + (fovNormalTarget - Camara.FieldOfView) * 0.08
        end
    end
    
    -- 3. CRONÓMETRO DE PARPADEO SUPER DISTANCIADO
    cronometroParpadeo = cronometroParpadeo + delta
    if cronometroParpadeo >= intervaloParpadeoEstablecido then
        cronometroParpadeo = 0
        if hambre <= 25 then
            ejecutarParpadoAnimado(0.7, 2.0, 0.9)
            intervaloParpadeoEstablecido = math.random(15, 30)
        else
            ejecutarParpadoAnimado(0.08, 0.05, 0.08)
            intervaloParpadeoEstablecido = math.random(600, 1200)
        end
    end
    
    -- 4. DAÑO POR CAÍDA REALISTA Y RAGDOLL
    if hrp and humanoide then
        local velocidadDescenso = hrp.Velocity.Y
        if velocidadDescenso < -42 and humanoide:GetState() == Enum.HumanoidStateType.Landed then
            local impacto = math.floor(math.abs(velocidadDescenso) * 0.85)
            saludCustom = math.max(saludCustom - impacto, 0)
            humanoide:ChangeState(Enum.HumanoidStateType.Ragdoll)
        end
    end
    
    -- 5. CONSUMO PASIVO Y DAÑO VISUAL
    hambre = math.max(hambre - (delta * 0.025), 0)
    sed = math.max(sed - (delta * 0.035), 0)
    
    if hambre == 0 or sed == 0 then
        saludCustom = math.max(saludCustom - (delta * 1.5), 0)
    end
    
    if saludCustom < 40 then
        Color4K.TintColor = Color3.fromRGB(255, 180, 180)
    else
        Color4K.TintColor = Color3.fromRGB(255, 253, 247)
    end
    
    -- 6. REFRESCAR BARRAS EN PANTALLA
    barraVida.Size = UDim2.new(saludCustom / 100, 0, 1, 0)
    txtVida.Text = "SALUD: " .. math.floor(saludCustom) .. "%"
    
    barraHambre.Size = UDim2.new(hambre / 100, 0, 1, 0)
    txtHambre.Text = "HAMBRE: " .. math.floor(hambre) .. "%"
    
    barraAgua.Size = UDim2.new(sed / 100, 0, 1, 0)
    txtAgua.Text = "AGUA: " .. math.floor(sed) .. "%"
    
    if saludCustom <= 0 and humanoide then
        humanoide.Health = 0
        saludCustom = 100
        hambre = 100
        sed = 100
    end
end)

Features & Information

PRO ADVANCE REALISM v7 ✨ ​¿De qué se trata? ​Es un motor de realismo avanzado diseñado específicamente para transformar por completo la experiencia visual y mecánica dentro de Roblox. El sistema introduce físicas dinámicas, post-procesado de nivel cinematográfico y mecánicas de supervivencia inmersivas en primera persona, optimizando el rendimiento gráfico al máximo. ​Características Principales (Features): ​Renderizado de Ambas Manos: Fuerza la visibilidad completa del cuerpo y de los dos brazos en primera persona al interactuar con objetos, mejorando la inmersión visual. ​Post-Procesado y Shaders 4K: Inyección de sombreado nítido, compensación de exposición realista y un filtro de color fotorrealista adaptado para mejorar los entornos. Comandos de Perspectiva por Chat: Cambios rápidos de cámara en tiempo real mediante comandos específicos (!1pr para primera persona y !2pr para segunda persona clásica). ​Interfaz Exclusiva con Desvanecimiento: Panel moderno con estética Black & Gold que se oculta automáticamente tras 11 segundos de forma fluida. - ​Créditos Oficiales: ​Creador / Desarrollador: ueu9195 ​Usuario Oficial: ueu9195 ​TikTok Oficial: @El_Pantera's-50_crRd ​📢 ¡Únete a la Comunidad! ​Para recibir soporte, enterarte de las próximas actualizaciones del script antes que nadie y formar parte del proyecto oficial, únete al servidor de Discord: 🔗 https://discord.gg/eprXQ3E8f
#Realisim

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts