Happiest fun script ever Read the description
Key RequiredUniversal

Happiest fun script ever Read the description

Universal Scriptxianivomxianivom 4.3K views 73 executesUpdated Jun 22, 2025
Unrated
00
Lua Script•236 lines (7694 chars)
--//Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local lighting = game:GetService("Lighting")
local soundService = game:GetService("SoundService")
local workspace = game:GetService("Workspace")

--//Variables
local plr = Players.LocalPlayer
local character = plr.Character or plr.CharacterAdded:Wait()
local camera = workspace.CurrentCamera

plr.CameraMode = Enum.CameraMode.LockFirstPerson
if character:FindFirstChildOfClass("Humanoid") then
    character.Humanoid.CameraOffset = Vector3.new(0, 0, -1)
end

RunService.RenderStepped:Connect(function()
    for i,v in pairs(character:GetChildren()) do
        if (v:IsA("BasePart")) and v.Name ~= "Head" then
            v.LocalTransparencyModifier = 0
        end
    end
end)

-- Function to set walk speed
local function setWalkSpeed(character)
    local humanoid = character:FindFirstChildOfClass("Humanoid")
    if humanoid then
        humanoid.WalkSpeed = 10
    end
end

-- Function to attach orange light to the player
local function attachOrangeLight(character)
    local rootPart = character:FindFirstChild("HumanoidRootPart") or character:FindFirstChild("Head")
    if rootPart then
        -- Remove existing light if any
        local existingLight = rootPart:FindFirstChild("PlayerOrangeLight")
        if existingLight then
            existingLight:Destroy()
        end
        -- Create new light
        local light = Instance.new("PointLight")
        light.Name = "PlayerOrangeLight"
        light.Color = Color3.fromRGB(255, 165, 0) -- orange
        light.Brightness = 2
        light.Range = 10
        light.Parent = rootPart
    end
end

local function setupPlayer(character)
    setWalkSpeed(character)
    attachOrangeLight(character)
end

-- When the character spawns or respawns
local function onCharacterAdded(character)
    -- Wait for parts to load
    wait(1)
    setupPlayer(character)
end

-- Initial setup if character exists
if plr.Character then
    onCharacterAdded(plr.Character)
end

-- Setup for future respawns
plr.CharacterAdded:Connect(function(character)
    onCharacterAdded(character)
end)

-- Add flashlight (SpotLight attached to the camera) - **NOT included as per request**
--[[
local function addFlashlight()
    local flashlight = Instance.new("SpotLight")
    flashlight.Name = "PlayerFlashlight"
    flashlight.Brightness = 10
    flashlight.Angle = 60 -- wider angle for a flashlight beam
    flashlight.Range = 50
    flashlight.FaceCamera = true -- makes it face the camera direction
    flashlight.Shadows = true
    flashlight.Parent = camera -- parent to camera so it moves with it
    return flashlight
end

local flashlight = addFlashlight()
]]

local function addVHSEffect()
    local effectsFolder = Instance.new("Folder")
    effectsFolder.Name = "VHSEffects"
    effectsFolder.Parent = lighting

    -- Color correction for VHS-like distortion
    local colorCorrection = Instance.new("ColorCorrectionEffect")
    colorCorrection.Brightness = 0
    colorCorrection.Contrast = 0.2
    colorCorrection.Saturation = 0.2
    colorCorrection.TintColor = Color3.new(1, 1, 1)
    colorCorrection.Parent = lighting

    -- Bloom for glow
    local bloom = Instance.new("BloomEffect")
    bloom.Intensity = 0.3
    bloom.Threshold = 1
    bloom.Size = 24
    bloom.Parent = lighting

    -- Flickering effect via script
    spawn(function()
        while true do
            local flicker = math.random(950, 1050) / 1000 -- flicker strength
            colorCorrection.Brightness = flicker - 1
            wait(math.random(5, 15) / 100)
        end
    end)

    -- Create a ScreenGui overlay with noise (fully transparent)
    local screenGui = Instance.new("ScreenGui")
    screenGui.Name = "VHSOverlay"
    screenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")

    local overlay = Instance.new("Frame")
    overlay.Size = UDim2.new(1, 0, 1, 0)
    overlay.BackgroundColor3 = Color3.new(0, 0, 0)
    overlay.BackgroundTransparency = 1 -- fully transparent
    overlay.ZIndex = 10
    overlay.Parent = screenGui
end

local function setupEnvironment()
    -- Lock camera to first person
    local player = game.Players.LocalPlayer
    local character = player.Character or player.CharacterAdded:Wait()
    local workspace = game:GetService("Workspace")
    local lighting = game:GetService("Lighting")
    local soundService = game:GetService("SoundService")
    local runService = game:GetService("RunService")

    player.CameraMode = Enum.CameraMode.LockFirstPerson
    if character:FindFirstChildOfClass("Humanoid") then
        character.Humanoid.CameraOffset = Vector3.new(0, 0, -1)
    end

    -- Remove existing Sky
    local sky = lighting:FindFirstChildOfClass("Sky")
    if sky then
        sky:Destroy()
    end

    -- Set environment to dark and less fog
    lighting.Ambient = Color3.new(0, 0, 0)
    lighting.OutdoorAmbient = Color3.new(0, 0, 0)
    lighting.TimeOfDay = "00:00:00"
    lighting.FogColor = Color3.new(0, 0, 0)
    -- Make fog less thick by increasing FogEnd
    lighting.FogStart = 10
    lighting.FogEnd = 300 -- increased for less fog density

    -- Stop all existing sounds
    for _, sound in pairs(soundService:GetChildren()) do
        if sound:IsA("Sound") then
            sound:Stop()
        end
    end

    -- Play background music
    local music = Instance.new("Sound")
    music.SoundId = "rbxassetid://133838630142849" -- your music asset ID
    music.Volume = 0.5
    music.Looped = true
    music.Parent = soundService
    music:Play()

    -- Create ScreenGui for VHS with spinning VHS image
    local screenGui = Instance.new("ScreenGui")
    screenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")

    local imageLabel = Instance.new("ImageLabel")
    imageLabel.Size = UDim2.new(2, 0, 4, 0)
    imageLabel.Position = UDim2.new(0.5, 0, 0.5, 0)
    imageLabel.AnchorPoint = Vector2.new(0.5, 0.5)
    imageLabel.BackgroundTransparency = 1
    imageLabel.Image = "rbxassetid://2510585515" -- your VHS image asset ID
    imageLabel.ImageTransparency = 0.9
    imageLabel.ZIndex = 1
    imageLabel.Parent = screenGui

    -- Spin the VHS image continuously
    local angle = 0
    local spinSpeed = 90 -- degrees per second
    runService.RenderStepped:Connect(function()
        angle = (angle + spinSpeed * runService.Heartbeat:Wait()) % 360
        imageLabel.Rotation = angle
    end)

    -- Add VHS visual effects
    addVHSEffect()

    -- Create inward panels with doubled size
    local baseWidthPercent = 0.15 -- original width
    local expandedWidthPercent = baseWidthPercent * 2 -- doubled width
    local expandedHeightFactor = 2 -- doubled height

    -- Left panel inward
    local leftPanel = Instance.new("Frame")
    leftPanel.Size = UDim2.new(expandedWidthPercent, 0, expandedHeightFactor, 0)
    leftPanel.AnchorPoint = Vector2.new(0.5, 0.5)
    leftPanel.Position = UDim2.new(0, 0, 0.5, 0)
    leftPanel.BackgroundColor3 = Color3.new(0, 0, 0)
    leftPanel.BackgroundTransparency = 0
    leftPanel.ZIndex = 10
    leftPanel.Parent = screenGui

    -- Right panel inward
    local rightPanel = Instance.new("Frame")
    rightPanel.Size = UDim2.new(expandedWidthPercent, 0, expandedHeightFactor, 0)
    rightPanel.AnchorPoint = Vector2.new(0.5, 0.5)
    rightPanel.Position = UDim2.new(1, 0, 0.5, 0)
    rightPanel.BackgroundColor3 = Color3.new(0, 0, 0)
    rightPanel.BackgroundTransparency = 0
    rightPanel.ZIndex = 10
    rightPanel.Parent = screenGui
end

-- Run setup initially
setupEnvironment()

-- Re-setup on respawn
game.Players.LocalPlayer.CharacterAdded:Connect(function()
    wait(1)
    setupEnvironment()
end)

Features & Information

It's not what it's named..
#Scary#Happy#Not what it seems#Spooky

Community Comments (4)

ofejoafafasofejoafafasJun 22, 2025

chatgpt ahh script

xianivomxianivomJun 22, 2025

Nuh uh

yeezyyeezyJun 24, 2025

what

xianivomxianivomJun 24, 2025

Scary👍

More Scripts for Universal Scripts