Universal Rain Script v2
Baseplate Keyless
Universal Rain Script v2
👤 alexriderr 👁 8 views ❤️ 0 likes ⏱ May 9, 2026
Rain With Lightings
✨ Features
Rain Lightings
📋 Script Code
local SETTINGS = {
    -- lightning
    LIGHTNING_VOL = 0.5,
    LIGHTNING_INTERVAL = {10, 15}, -- 10 min sec 15 max sec
    
    -- main *rain*
    RAIN_DENSITY = 8,
    RAIN_DISTANCE = 125,
    RAIN_HEIGHT = 60,
    RAIN_FALL_SPEED = -120,
    
    -- global sounds
    GLOBAL_SOUND_VOL = 0.1,
}

local Lighting = game:GetService("Lighting")
local RunService = game:GetService("RunService")
local Players = game:GetService("Players")
local TweenService = game:GetService("TweenService")

local player = Players.LocalPlayer
local camera = workspace.CurrentCamera

-- ids
local SKY_ID = "rbxassetid://93362504723753"
local RAIN_SOUND_ID = "rbxassetid://9064263922"
local LIGHTNING_SOUND_ID = "rbxassetid://139968319088532" 

-- create visual flash effect
local colorCorrection = Instance.new("ColorCorrectionEffect")
colorCorrection.Name = "LightningFlash_FX"
colorCorrection.Brightness = 0
colorCorrection.Parent = Lighting

-- 1. environment cleanup
local function purgeEnvironment()
    for _, obj in pairs(Lighting:GetChildren()) do
        if (obj:IsA("Sky") or obj:IsA("Atmosphere") or obj:IsA("Clouds")) and obj.Name ~= "LightningFlash_FX" then
            obj:Destroy()
        end
    end
    Lighting.Brightness = 0.2
    Lighting.OutdoorAmbient = Color3.fromRGB(50, 50, 60)
    Lighting.ClockTime = 18
end

-- 2. lightning strike logic
local function strikeLightning(soundObj)
    soundObj.Volume = SETTINGS.LIGHTNING_VOL
    soundObj:Play()

    -- Screen Flash
    colorCorrection.Brightness = 0.8 
    local fadeTween = TweenService:Create(colorCorrection, TweenInfo.new(0.5, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {Brightness = 0})
    fadeTween:Play()
end

-- 3. sound setup
local rainSound = Instance.new("Sound", camera)
rainSound.SoundId = RAIN_SOUND_ID
rainSound.Volume = 0.5
rainSound.Looped = true
rainSound:Play()

task.spawn(function()
    local lightningSound = Instance.new("Sound", camera)
    lightningSound.SoundId = LIGHTNING_SOUND_ID
    
    while true do
        local waitTime = math.random(SETTINGS.LIGHTNING_INTERVAL[1], SETTINGS.LIGHTNING_INTERVAL[2])
        task.wait(waitTime)
        strikeLightning(lightningSound)
    end
end)

-- 4. global audio mixer
local function mix()
    for _, s in pairs(game:GetDescendants()) do
        if s:IsA("Sound") and s ~= rainSound then
            s.Volume = SETTINGS.GLOBAL_SOUND_VOL
        end
    end
end

game.DescendantAdded:Connect(function(d)
    if d:IsA("Sound") and d ~= rainSound then
        d.Volume = SETTINGS.GLOBAL_SOUND_VOL
    end
end)

-- 5. rain spawner
local folder = Instance.new("Folder", camera)
local function spawnDrop()
    local char = player.Character
    local root = char and char:FindFirstChild("HumanoidRootPart")
    if not root then return end
    
    local dist = SETTINGS.RAIN_DISTANCE
    local drop = Instance.new("Part")
    drop.Size = Vector3.new(0.06, 7, 0.06)
    drop.Color = Color3.fromRGB(180, 180, 200)
    drop.Transparency = 0.7
    drop.Material = Enum.Material.Neon
    drop.CanCollide, drop.CanQuery, drop.CastShadow = false, false, false
    
    -- position based on settings
    local spawnPos = root.Position + Vector3.new(math.random(-dist, dist), SETTINGS.RAIN_HEIGHT, math.random(-dist, dist))
    drop.CFrame = CFrame.new(spawnPos)
    drop.AssemblyLinearVelocity = Vector3.new(0, SETTINGS.RAIN_FALL_SPEED, 0)
    
    drop.Parent = folder
    task.delay(1.1, function() drop:Destroy() end)
end

-- execution
purgeEnvironment()
mix()

RunService.RenderStepped:Connect(function()
    for i = 1, SETTINGS.RAIN_DENSITY do 
        spawnDrop() 
    end
end)

print("rain loaded by fartioso" .. SETTINGS.LIGHTNING_VOL)
🎮 Similar Scripts
💬 Comments (0)
Login to post a comment
No comments yet. Be the first!
Script Info
Game Baseplate
TypeKeyless
Authoralexriderr
Views8
Likes0
PublishedMay 9, 2026
🎮 Play Game on Roblox
🕐 Recent Scripts
Zerax hub Super Epic Crazy Tag Script Keyless
Zerax hub Super Epic Crazy Tag Script Keyless
Super Epic Crazy Tag • 👁 1
Keyless
Evade Instant Revive Keyless Script
Evade Instant Revive Keyless Script
Evade • 👁 10
Keyless
Auto Farm Kick and Claim
Auto Farm Kick and Claim
Kick a Lucky Block • 👁 10
Keyless
HoneyLua MM2 Auto Farm OP
HoneyLua MM2 Auto Farm OP
Murder Mystery 2 • 👁 8
Keyless
Basketball Training Instant Cash Script Keyless
Basketball Training Instant Cash Script Keyless
Basketball Training! • 👁 9
Keyless