BLOXY VHS
Key RequiredUniversal

BLOXY VHS

Universal ScriptSgreembleSgreemble 935 views 305 executesUpdated May 2, 2026
Unrated
00
Lua Script•109 lines (2750 chars)
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)

Features & Information

You always wanted to be in any game with a VHS effect, well now you can with this simple script that I made

Community Comments (2)

nubbynoobsternubbynoobsterMay 10, 2026

It's to the right, and not in the middle

Replying to @nubbynoobster
SgreembleSgreembleMay 12, 2026

@nubbynoobster maybe is the device screen,bcs i made this using a tablet,thats my only device

More Scripts for Universal Scripts