
KeylessUniversal

-- 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)No comments yet for this script.



