• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Date & Random Weather Systems 1.4

This bundle is marked as useful / simple. Simplicity is bliss, low effort and/or may contain minor bugs.
What does this do/ provide?

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)
      • Set Current_year = (String(Year))
      • Set Current_Month_num = 1
      • Set Current_day_num = 1
      • Set Current_Month = Months[1]
      • Set Current_Day = Days[1]
      • Set Count_d_m = 1
      • Set Current_season = Seasons[1]
      • Set Current_date_num = ((String(Count_d_m)) + (- + ((String(Current_Month_num)) + (- + Current_year))))
      • 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)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • Current_Month_num Equal to 9
              • Current_Month_num Equal to 10
              • Current_Month_num Equal to 11
        • Then - Actions
          • Set Current_season = Seasons[4]
          • Set ChanceVAR = (HMWE + 3)
        • Else - Actions
      • Set Current_date_num = ((String(Count_d_m)) + (- + ((String(Current_Month_num)) + (- + Current_year))))
      • 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
      • 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]%)




Keywords:
Weather system, Weather, date, time, date system ,time system, random, season, seasons, summer, winter
Contents

Date & Random Weather System 1.4 (Map)

Reviews
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...

Moderator

M

Moderator

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.
 
Level 3
Joined
Feb 23, 2010
Messages
46
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?

Will test the system itself later.
 
Level 2
Joined
Apr 30, 2010
Messages
14
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)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • Current_Month_num Equal to 9
              • Current_Month_num Equal to 10
              • Current_Month_num Equal to 11
        • Then - Actions
          • Set Current_season = Seasons[4]
          • Set ChanceVAR = (HMWE + 3)
        • Else - Actions
      • Set Current_date_num = ((String(Count_d_m)) + (- + ((String(Current_Month_num)) + (- + Current_year))))
      • 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
      • 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]%)


  • UpdateDate
    • Events
      • Time - Every 0.50 seconds of game time
    • Conditions
    • Actions
      • Trigger - Run Number Randomizer <gen> (ignoring conditions)
      • -------- 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)
        • If - Conditions
          • Or - Any (Conditions) are true
            • Conditions
              • Current_Month_num Equal to 9
              • Current_Month_num Equal to 10
              • Current_Month_num Equal to 11
        • Then - Actions
          • Set Current_season = Seasons[4]
          • Set ChanceVAR = (HMWE + 3)
        • Else - Actions
      • Set Current_date_num = ((String(Count_d_m)) + (- + ((String(Current_Month_num)) + (- + Current_year))))
      • 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
      • 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 Engine <gen> (ignoring conditions)

You are only adding these two lines
  • Trigger - Run Number Randomizer <gen> (ignoring conditions)
  • Trigger - Run Engine <gen> (ignoring conditions)
But you are changing one line also.
  • Time - Every 480.00 seconds of game time
To
  • Time - Every 0.50 seconds of game time
 
Last edited:
Level 19
Joined
Oct 12, 2007
Messages
1,821
Lol
Screenshot -> Date 1st of january -> Summer...
I think you should learn the 4 seasons a bit better my friend:p
 
Level 8
Joined
Dec 1, 2010
Messages
316
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...
 
Top