Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
This system provides an configurable weather system ( 100% random weather) a full date system that still works after one year and season which affect weather. This will be suited for rpg & oprg maps. or anything that needs it.
you can add different weather to the system by editing current variables or by adding variables.
The date system is fully configurable, you can change how many days in a month, the names of the days/months, starting year. You can even change how many months in the year by changing the "Current_Month_num Greater than 12" variable in one of the tweak able triggers.
Why I created something so simple? Well I already had a system but it was hard to configure, this system is very easy to configure. Also it will work with just copy and paste making it easy to put into already maps and the random weather adds to the "effect" of the game. =]
Note: The system will work with just copying and pasting them. but I recommend tuning them to your map since my weather doesn't snow, only rain and wind.
Please credit if used.
1.0 - Weather System
1.1 - Added Date system, removed integer A, replaced with WE_int variable.
1.2 - Removed all waits, removed random generation variables every few seconds. Now only generated when needed.(Improved performance.) Also removed showing of time on multi-board ( improves performance and was not needed.) Added -date command removed unneeded variables. Added Fog to weather system, its random too! (Changeable in the trigger called Number Randomizer.)
1.3 - Added Seasons, Seasons affect weather, less chance to have fine weather in winter etc. all 3 systems integrated into one. One trigger to tweak 90% of the system. Trigger that can be tweaked state what to and what not to touch.
1.3a - Fixed time desync
1.4 - Changed how seasons work, high chance of sunny days in summer, higher chances of rain and wind in other seasons, no heavy rain in summer. Fog changes every day not just when the weather changes. Added more comments to System.
NOTE: This is all my own work, I know there is another Date/weather system. I Have not even looked at it. if you compare these they "should" be different.
Whats next? Make it smaller and easier to use.
Varibles
Events
Time - Elapsed game time is 0.10 seconds
Conditions
Actions
-------- You can change the ones below --------
Set HMWE = 3
Set ChanceVAR = (HMWE + 4)
-------- Days Names set --------
Set Days[1] = Sunday
Set Days[2] = Monday
Set Days[3] = Tuesday
Set Days[4] = Wednesday
Set Days[5] = Thrusday
Set Days[6] = Friday
Set Days[7] = Saturday
-------- Month name set and days in month, also start year set --------
Set Months[1] = January
Set Days_in_month[1] = 31
Set Months[2] = February
Set Days_in_month[2] = 28
Set Months[3] = March
Set Days_in_month[3] = 31
Set Months[4] = April
Set Days_in_month[4] = 30
Set Months[5] = May
Set Days_in_month[5] = 31
Set Months[6] = June
Set Days_in_month[6] = 30
Set Months[7] = July
Set Days_in_month[7] = 31
Set Months[8] = August
Set Days_in_month[8] = 31
Set Months[9] = September
Set Days_in_month[9] = 30
Set Months[10] = October
Set Days_in_month[10] = 31
Set Months[11] = November
Set Days_in_month[11] = 30
Set Months[12] = December
Set Days_in_month[12] = 31
Set Year = 2010
-------- Seasons set --------
Set Seasons[1] = Summer
Set Seasons[2] = Autumn
Set Seasons[3] = Winter
Set Seasons[4] = Spring
-------- Weather Effects Set --------
Environment - Create at (Entire map) the weather effect Lordaeron Rain (Heavy)
Set WeatherEffect[1] = (Last created weather effect)
Environment - Create at (Entire map) the weather effect Lordaeron Rain (Light)
Set WeatherEffect[2] = (Last created weather effect)
Environment - Create at (Entire map) the weather effect Wind (Heavy)
Set WeatherEffect[3] = (Last created weather effect)
-------- Don't Change varibles below unless you know what you're doing. --------
Game - Set the time of day to 0.00
Trigger - Run Number Randomizer <gen> (ignoring conditions)
For each (Integer WE_int) from 1 to HMWE, do (Actions)
Loop - Actions
Environment - Turn WeatherEffect[WE_int] Off
Trigger - Run MultiBoard <gen> (checking conditions)
Trigger - Run Engine <gen> (checking conditions)
Engine
Events
Time - Timer expires
Conditions
Actions
-------- Turn off fog and current weather --------
Environment - Reset fog to default values
For each (Integer WE_int) from 1 to HMWE, do (Actions)
Loop - Actions
Environment - Turn WeatherEffect[WE_int] Off
-------- Turn on new weather --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
RandomNumber Less than or equal to HMWE
Then - Actions
Environment - Turn WeatherEffect[RandomNumber] On
Else - Actions
Environment - Set fog to style Linear, z-start Real[1], z-end Real[2], density Real[3] and color (Real[4]%, Real[5]%, Real[6]%)
Trigger - Run Create Timer <gen> (checking conditions)
Create Timer
Events
Conditions
Actions
Countdown Timer - Create a timer window for Timer with title Time
Countdown Timer - Hide (Last created timer window)
Countdown Timer - Start Timer as a One-shot timer that will expire in Real[0] seconds
Trigger - Run Number Randomizer <gen> (checking conditions)
Number Randomizer
Events
Conditions
Actions
-------- Randomizes weather and fog --------
If (Current_season Equal to Seasons[1]) then do (Set RandomNumber = (Random integer number between 2 and ChanceVAR)) else do (Set RandomNumber = (Random integer number between 1 and ChanceVAR))
Set Real[0] = (Random real number between 60.00 and 240.00)
Set Real[1] = (Random real number between 1000.00 and 2500.00)
Set Real[2] = (Random real number between 8000.00 and 10800.00)
Set Real[3] = (Random real number between 0.10 and 1.80)
Set Real[4] = (Random real number between 75.00 and 100.00)
Set Real[5] = (Random real number between 75.00 and 100.00)
Set Real[6] = (Random real number between 75.00 and 100.00)
MultiBoard
Events
Conditions
Actions
Multiboard - Create a multiboard with 5 columns and 1 rows, titled Current Date
Set Date = (Last created multiboard)
Multiboard - Set the width for Date item in column 1, row 1 to 6.15% of the total screen width
Multiboard - Set the width for Date item in column 2, row 1 to 6.15% of the total screen width
Multiboard - Set the width for Date item in column 3, row 1 to 3.50% of the total screen width
Multiboard - Set the width for Date item in column 4, row 1 to 5.20% of the total screen width
Multiboard - Set the width for Date item in column 5, row 1 to 5.20% of the total screen width
Multiboard - Set the text for Date item in column 1, row 1 to Current_Day
Multiboard - Set the text for Date item in column 2, row 1 to Current_Month
Multiboard - Set the text for Date item in column 3, row 1 to Current_year
Multiboard - Set the text for Date item in column 4, row 1 to Current_date_num
Multiboard - Set the text for Date item in column 5, row 1 to Current_season
Multiboard - Show Date
UpdateDate
Events
Time - Every 480.00 seconds of game time
Conditions
Actions
-------- Fog reset --------
Environment - Reset fog to default values
-------- Change date or month or year. --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Current_day_num Less than or equal to 7
Then - Actions
Set Count_d_m = (Count_d_m + 1)
Set Current_day_num = (Current_day_num + 1)
Set Current_Day = Days[Current_day_num]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Current_day_num Greater than or equal to 7
Then - Actions
Set Current_day_num = 1
Set Current_Day = Days[Current_day_num]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Count_d_m Greater than Days_in_month[Current_Month_num]
Then - Actions
Set Current_day_num = 1
Set Count_d_m = 1
Set Current_Month_num = (Current_Month_num + 1)
Set Current_Month = Months[Current_Month_num]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Current_Month_num Greater than 12
Then - Actions
Set Current_Month_num = 1
Set Current_day_num = 1
Set Year = (Year + 1)
Set Current_year = (String(Year))
Set Current_Month = Months[Current_Month_num]
Else - Actions
-------- Below all ? are seasons, only edit the numbers if you know what you're doing --------
-------- Changes seasons and sets a setting for that season --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
Current_Month_num Equal to 12
Current_Month_num Equal to 1
Current_Month_num Equal to 2
Then - Actions
Set Current_season = Seasons[1]
Set ChanceVAR = (HMWE + 4)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
Current_Month_num Equal to 3
Current_Month_num Equal to 4
Current_Month_num Equal to 5
Then - Actions
Set Current_season = Seasons[2]
Set ChanceVAR = (HMWE + 2)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
Current_Month_num Equal to 6
Current_Month_num Equal to 7
Current_Month_num Equal to 8
Then - Actions
Set Current_season = Seasons[3]
Set ChanceVAR = (HMWE + 1)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
11:06, 14th Nov 2015
BPower: Set to rejected due to no update in years.
22:42, 16th Jun 2010
Hanky:
It's too simple to be a real system. It need more documentation and settings possibilities. After you have improved that message me or one of...
11:06, 14th Nov 2015
BPower: Set to rejected due to no update in years.
22:42, 16th Jun 2010
Hanky:
It's too simple to be a real system. It need more documentation and settings possibilities. After you have improved that message me or one of the other spell moderators.
Add descriptions to you hidden triggers
You should correct the name of your days in the first trigger... "thrusday"
I don't know but can you change your first trigger to "map init" instead of time expires 0.10?
The Reason it is not Map init but a timer, is because you should only have one map init event (I read that somewhere) and most maps would already have one so I just use the same timer.
I'll fix those today.
Also if you're going to test it you will want to change date update trigger look below.
UpdateDate
Events
Time - Every 480.00 seconds of game time
Conditions
Actions
-------- Fog reset --------
Environment - Reset fog to default values
-------- Change date or month or year. --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Current_day_num Less than or equal to 7
Then - Actions
Set Count_d_m = (Count_d_m + 1)
Set Current_day_num = (Current_day_num + 1)
Set Current_Day = Days[Current_day_num]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Current_day_num Greater than or equal to 7
Then - Actions
Set Current_day_num = 1
Set Current_Day = Days[Current_day_num]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Count_d_m Greater than Days_in_month[Current_Month_num]
Then - Actions
Set Current_day_num = 1
Set Count_d_m = 1
Set Current_Month_num = (Current_Month_num + 1)
Set Current_Month = Months[Current_Month_num]
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Current_Month_num Greater than 12
Then - Actions
Set Current_Month_num = 1
Set Current_day_num = 1
Set Year = (Year + 1)
Set Current_year = (String(Year))
Set Current_Month = Months[Current_Month_num]
Else - Actions
-------- Below all ? are seasons, only edit the numbers if you know what you're doing --------
-------- Changes seasons and sets a setting for that season --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
Current_Month_num Equal to 12
Current_Month_num Equal to 1
Current_Month_num Equal to 2
Then - Actions
Set Current_season = Seasons[1]
Set ChanceVAR = (HMWE + 4)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
Current_Month_num Equal to 3
Current_Month_num Equal to 4
Current_Month_num Equal to 5
Then - Actions
Set Current_season = Seasons[2]
Set ChanceVAR = (HMWE + 2)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
Or - Any (Conditions) are true
Conditions
Current_Month_num Equal to 6
Current_Month_num Equal to 7
Current_Month_num Equal to 8
Then - Actions
Set Current_season = Seasons[3]
Set ChanceVAR = (HMWE + 1)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
can u add ground changes? when winter and snow falls the ground in player selceted regions change to snow and change back when another season? but back to original gras or witout regions and all snow even ice on water and retourn to old terain when done...
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.