local Players = game:GetService("Players") local RunService = game:GetService("RunService") local Lighting = game:GetService("Lighting") local player = Players.LocalPlayer local camera = workspace.CurrentCamera -- 🔄 LIMPIAR EFECTOS EXISTENTES if Lighting:FindFirstChild("VHS_Blur") then Lighting.VHS_Blur:Destroy() end if Lighting:FindFirstChild("VHS_Color") then Lighting.VHS_Color:Destroy() end -- 🎨 COLOR CORRECTION local color = Instance.new("ColorCorrectionEffect") color.Name = "VHS_Color" color.Brightness = 0.4 color.Contrast = 0.3 color.Saturation = 1 color.TintColor = Color3.fromRGB(197,197,197) color.Parent = Lighting -- 🌫️ BLUR DINÁMICO local blur = Instance.new("BlurEffect") blur.Name = "VHS_Blur" blur.Size = 2 blur.Parent = Lighting local baseBlur = 2 local maxBlur = 15 local sensitivity = 50 local lastLook = camera.CFrame.LookVector -- 🔊 SONIDO DE ESTÁTICA local sound = Instance.new("Sound") sound.Name = "VHS_Static" sound.SoundId = "rbxassetid://81486637394198" sound.Looped = true sound.Volume = 0.5 sound.Parent = camera sound:Play() -- 🖥️ GUI (NO MOLESTA A OTRAS) local gui = Instance.new("ScreenGui") gui.Name = "VHS_GUI" gui.ResetOnSpawn = false -- 🔽 CLAVE PARA NO TAPAR OTRAS GUIs gui.DisplayOrder = 0 -- baja prioridad gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = player:WaitForChild("PlayerGui") -- 🎬 IMAGEN VHS local vhs = Instance.new("ImageLabel") vhs.Name = "VHS_Image" vhs.BackgroundTransparency = 1 vhs.Size = UDim2.new(0,1564,0,946) vhs.Position = UDim2.new(0,-4,0,-68) vhs.Image = "rbxassetid://13970326780" vhs.ZIndex = 1 vhs.Parent = gui -- 📺 OVERLAY local overlay = Instance.new("ImageLabel") overlay.Name = "VHS_Overlay" overlay.BackgroundTransparency = 1 overlay.Size = UDim2.new(0,1564,0,954) overlay.Position = UDim2.new(0,-4,0,-66) overlay.Image = "rbxassetid://12597941452" -- 🔽 NO MUY ALTO (para no tapar otras GUIs) overlay.ZIndex = 2 overlay.Parent = gui -- 🎞️ ANIMACIÓN + EFECTOS local frame = false RunService.RenderStepped:Connect(function() -- 🎬 CAMBIO DE FRAME VHS if math.random(1,6) == 1 then frame = not frame if frame then vhs.Image = "rbxassetid://13970326780" else vhs.Image = "rbxassetid://13970382481" end end -- 📼 GLITCH DE POSICIÓN vhs.Position = UDim2.new( 0, -4 + math.random(-2,2), 0, -68 + math.random(-2,2) ) -- 🌫️ BLUR DINÁMICO POR MOVIMIENTO local currentLook = camera.CFrame.LookVector local diff = (currentLook - lastLook).Magnitude local targetBlur = math.clamp(baseBlur + diff * sensitivity, baseBlur, maxBlur) blur.Size = blur.Size + (targetBlur - blur.Size) * 0.2 lastLook = currentLook end)