Run it
Copy the script and paste it into your executor.
Lighting = :()
Workspace = :()
RunService = :()
TweenService = :()
Players = :()
LocalPlayer = Players.LocalPlayer
Camera = Workspace.CurrentCamera
_, obj (Lighting:())
obj.Name:() obj:()
oldFX = Workspace:()
oldFX oldFX:()
oldPuddles = Workspace:()
oldPuddles oldPuddles:()
oldGrass = Workspace:()
oldGrass oldGrass:()
FXFolder = .()
FXFolder.Name =
FXFolder.Parent = Workspace
.(()
.()
_, obj (Lighting:())
obj:() obj.Name ~=
obj.Size =
obj:()
obj.FarIntensity = ; obj.NearIntensity = ; obj.FocusDistance =
)
CC = .(); CC.Name = ; CC.Parent = Lighting
Bloom = .(); Bloom.Name = ; Bloom.Parent = Lighting
SunRays = .(); SunRays.Name = ; SunRays.Parent = Lighting
Atmos = .(); Atmos.Name = ; Atmos.Parent = Lighting
MotionBlur = .()
MotionBlur.Name =
MotionBlur.Size =
MotionBlur.Parent = Lighting
NightProfile = {
CC = {Brightness = , Contrast = , Saturation = -, TintColor = .(, , )},
Bloom = {Intensity = , Size = , Threshold = },
SunRays = {Intensity = , Spread = },
Atmos = {Density = , Offset = , Color = .(, , ), Decay = .(, , ), Glare = , Haze = },
LightingProps = {
Ambient = .(, , ),
OutdoorAmbient = .(, , ),
Brightness = ,
ShadowSoftness =
},
FOV =
}
DayProfile = {
CC = {Brightness = , Contrast = , Saturation = , TintColor = .(, , )},
Bloom = {Intensity = , Size = , Threshold = },
SunRays = {Intensity = , Spread = },
Atmos = {Density = , Offset = , Color = .(, , ), Decay = .(, , ), Glare = , Haze = },
LightingProps = {
Ambient = .(, , ),
OutdoorAmbient = .(, , ),
Brightness = ,
ShadowSoftness =
},
FOV =
}
isNight =
currentState =
(profile, transitionTime)
tInfo = TweenInfo.(transitionTime, .EasingStyle.Sine, .EasingDirection.InOut)
TweenService:(CC, tInfo, profile.CC):()
TweenService:(Bloom, tInfo, profile.Bloom):()
TweenService:(SunRays, tInfo, profile.SunRays):()
TweenService:(Atmos, tInfo, profile.Atmos):()
TweenService:(Lighting, tInfo, profile.LightingProps):()
TweenService:(Camera, tInfo, {FieldOfView = profile.FOV}):()
initialTime = Lighting.ClockTime
initialTime >= initialTime <
isNight = ; currentState = ; (NightProfile, )
isNight = ; currentState = ; (DayProfile, )
()
part = .()
part.Name =
part.Shape = .PartType.Ball
part.Size = .(, , )
part.Material = .Material.Neon
part.Color = .(, , )
part.Anchored =
part.CanCollide =
part.Parent = FXFolder
light = .()
light.Color = part.Color
light.Range =
light.Brightness =
light.Shadows =
light.Parent = part
rootPart = LocalPlayer.Character LocalPlayer.Character:()
basePos = rootPart rootPart.Position Camera.CFrame.Position
part.Position = basePos + .(.(-, ), .(-, ), .(-, ))
startTime = ()
basePosition = part.Position
connection
connection = RunService.Heartbeat:(()
part.Parent connection:()
rootPart
dist = (part.Position - rootPart.Position).Magnitude
dist <
dir = (part.Position - rootPart.Position).Unit
basePosition = basePosition + dir *
timePassed = () - startTime
xOff = .(timePassed * ) *
yOff = .(timePassed * ) * + .(timePassed * ) *
zOff = .(timePassed * ) *
part.CFrame = .(basePosition + .(xOff, yOff, zOff))
)
.(.(, ), ()
connection:()
part part.Parent
TweenService:(part, TweenInfo.(), {Transparency = }):()
.()
part:()
)
()
rootPart = LocalPlayer.Character LocalPlayer.Character:()
rootPart
spawnPos = rootPart.Position + .(.(-, ), .(, ), .(-, ))
raycastParams = RaycastParams.()
raycastParams.FilterDescendantsInstances = {FXFolder, LocalPlayer.Character}
raycastParams.FilterType = .RaycastFilterType.Exclude
rayResult = Workspace:(spawnPos, .(, -, ), raycastParams)
rayResult
dust = .()
dust.Name =
dust.Size = .(, , )
dust.Color = .(, , )
dust.Material = .Material.Neon
dust.Anchored =
dust.CanCollide =
dust.Transparency =
dust.CFrame = .(spawnPos)
dust.Parent = FXFolder
fallDistance = (spawnPos - rayResult.Position).Magnitude
fallTween = TweenService:(dust, TweenInfo.(fallDistance / , .EasingStyle.Linear), {
= .(rayResult.Position + .(, , ))
})
fallTween:()
fallTween.Completed:(()
dust dust.Parent
sparkles = .()
sparkles.Texture =
sparkles.Rate =
sparkles.Lifetime = NumberRange.(, )
sparkles.Speed = NumberRange.(, )
sparkles.SpreadAngle = .(, )
sparkles.Size = NumberSequence.()
sparkles.Color = ColorSequence.(.(, , ))
sparkles.LightEmission =
sparkles.Parent = dust
.()
dust dust.Parent
sparkles.Rate =
TweenService:(dust, TweenInfo.(, .EasingStyle.Sine), {Transparency = }):()
.()
dust dust:()
)
.(()
currentBugs =
_, v (FXFolder:())
v.Name == currentBugs = currentBugs +
currentState == currentBugs < ()
currentState ~=
_, v (FXFolder:())
v.Name == v:()
.(.(, ))
)
.(()
()
.(.(, ))
)
timeAccum =
lastCamCFrame = Camera.CFrame
currentBlur =
RunService.RenderStepped:((deltaTime)
timeAccum = timeAccum + deltaTime
currentCamCFrame = Camera.CFrame
posDelta = (currentCamCFrame.Position - lastCamCFrame.Position).Magnitude
rotDelta = (currentCamCFrame.LookVector - lastCamCFrame.LookVector).Magnitude
speed = posDelta + (rotDelta * )
lastCamCFrame = currentCamCFrame
targetBlur = .(speed * , , )
currentBlur = currentBlur + (targetBlur - currentBlur) *
MotionBlur.Size = currentBlur
clock = Lighting.ClockTime
shouldBeNight = (clock >= clock < )
shouldBeNight ~= isNight
isNight = shouldBeNight
isNight currentState = ; (NightProfile, )
currentState = ; (DayProfile, )
currentState ==
Atmos.Density = NightProfile.Atmos.Density + .(timeAccum * ) *
shake = .(timeAccum * ) *
Camera.CFrame = Camera.CFrame * .(shake, shake, )
currentState ==
SunRays.Intensity = DayProfile.SunRays.Intensity + .(timeAccum * ) *
Bloom.Intensity = DayProfile.Bloom.Intensity + .(timeAccum * ) *
)
()This is a shader script with no gui

Universal