I’ve been wanting to make a simple weather system and it works as expected. The only problem is that if I want to make the rain work, I have to insert a quadrillion parts with ParticleEmitter
s just to make the rain look similar to… rain? So, I remember seeing a plugin a while ago and it makes awesome rain! The only issue is, I’m not sure if I can modify the plugin’s settings through a script so the rain wouldn’t be enabled all the time, but only when the rain is supposed to be active.
Here is a screenshot of the plugin’s settings:
…and the script I use. It is located in game.ServerScriptService
.
local clouds:Clouds = workspace.Terrain.Clouds
local atmosphere = game.Lighting.Atmosphere
local lighting = game.Lighting
local TS = game:GetService("TweenService")
while task.wait() do
TS:Create(clouds, TweenInfo.new(15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Cover = math.random(0.45, 0.65)}):Play()
print("{ weather_system: } cloud_cover changing to: normal")
TS:Create(clouds, TweenInfo.new(15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Density = 0.45}):Play()
print("{ weather_system: } cloud_density changing to: normal")
TS:Create(atmosphere, TweenInfo.new(15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Density = 0.35}):Play()
print("{ weather_system: } atmosphere_density changing to: normal")
TS:Create(lighting, TweenInfo.new(15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Brightness = 3}):Play()
print("{ weather_system: } atmosphere_brightness changing to: normal")
task.wait(math.random(10,30))
TS:Create(clouds, TweenInfo.new(15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Cover = math.random(0.8, 1)}):Play()
print("{ weather_system: } cloud_cover changing to: cloudy")
TS:Create(clouds, TweenInfo.new(15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Density = 0.75}):Play()
print("{ weather_system: } cloud_density changing to: cloudy")
TS:Create(atmosphere, TweenInfo.new(15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Density = 0.75}):Play()
print("{ weather_system: } atmosphere_density changing to: cloudy")
TS:Create(lighting, TweenInfo.new(15, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut), {Brightness = 0.65}):Play()
print("{ weather_system: } atmosphere_brightness changing to: cloudy")
print("{ weather_system: } looping...")
task.wait(math.random(10,30))
end
The math.random()
times are this short only for testing purposes. The script works, but any idea of how I could set the Enabled
in the plugin’s settings as well in the script?
Any help is highly appreciated!
If it isn’t possible, please state what I could do to replace the plugin’s rain and make it work. Thanks!
Plugin link: Rain Plugin