• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
Resource icon

Resource [20.1+] Weather System 1.3.10

LinKazamine

Champion
Member
Joined
May 24, 2023
Posts
674
There can be multiple tilesets. You have to put the "original" tilesets (the ones you will use to create the map on the RPG maker) ID (the number that is at the left of the name on the tileset tab on the database) on the OUTDOOR_TILESETS on configuration and then indicate how much the code has to add to those original tilesets ID to get to their seasonal variants on SUMMER_TILESET, AUTUMN_TILESET, WINTER_TILESET and SPRING_TILESET (one of those values can be 0 if you are using that season as the original tileset). Be aware that the program will add the same value to all the ID on OUTDOOR_TILESET to get to the same seasonal variant so keep them all at the same distance from the original one.

For example, the original IDs are for spring, are 24, 28 and 32 and you have configured it so summer adds 1, autumn 2, winter 3 and spring 0 (since it's the original tileset). The summer variants would be IDs 25, 29 and 33, the autumn variants would be IDs 26, 30 and 34 and the winter ones would be IDs 27, 31 and 35.

As a note, the original tilesets don't need to be used for a season but that would mean to have 4 tileset variants instead of 3.

I hope I have resolved all your doubts but if there are more don't hesitate to ask.
 

Kenway Rayleigh

Rookie
Member
Joined
Aug 19, 2024
Posts
2
There can be multiple tilesets. You have to put the "original" tilesets (the ones you will use to create the map on the RPG maker) ID (the number that is at the left of the name on the tileset tab on the database) on the OUTDOOR_TILESETS on configuration and then indicate how much the code has to add to those original tilesets ID to get to their seasonal variants on SUMMER_TILESET, AUTUMN_TILESET, WINTER_TILESET and SPRING_TILESET (one of those values can be 0 if you are using that season as the original tileset). Be aware that the program will add the same value to all the ID on OUTDOOR_TILESET to get to the same seasonal variant so keep them all at the same distance from the original one.

For example, the original IDs are for spring, are 24, 28 and 32 and you have configured it so summer adds 1, autumn 2, winter 3 and spring 0 (since it's the original tileset). The summer variants would be IDs 25, 29 and 33, the autumn variants would be IDs 26, 30 and 34 and the winter ones would be IDs 27, 31 and 35.

As a note, the original tilesets don't need to be used for a season but that would mean to have 4 tileset variants instead of 3.

I hope I have resolved all your doubts but if there are more don't hesitate to ask.

I was setting it up wrong.

Thank you very much.
 

Templar33

Rookie
Member
Joined
Oct 26, 2024
Posts
5
I am running into a problem. For some reason, weather doesn't want to change. All I did was change the map ID numbers (Route 1, Cendolan City and Route 2) to my maps ID's and it still shows weather changes in only those areas. So i keep getting weather at the deafult locations (2,5) but not the new location. here is the config (dont mind seasons, they have yet to be implemented):


#===============================================================================
# * Weather System Configuration
#===============================================================================

module WeatherConfig
# Set to false to use the Weather System.
NO_WEATHER = false # Default: false

# Set to true to show the weather on the Town Map.
SHOW_WEATHER_ON_MAP = true # Default: true

# Set to true to use the computer's time. Will not work without Unreal Time System.
USE_REAL_TIME = false # Default: true

# Set to true to have the weather change at midnight.
CHANGE_MIDNIGHT = false # Default: true

# Define the min and max amount of time (in hours) before the weather changes.
# Set the same number to not randomize the amount of time before the weather changes.
CHANGE_TIME_MIN = 5 # Default: 1
CHANGE_TIME_MAX = 10 # Default: 4

# Set to true to if you want to force the weather to change when interacting with certain events.
# Use pbForceUpdateWeather in an event to update all zone weathers.
# Use pbForceUpdateZoneWeather(zone) in an event to update the weather of a zone.
FORCE_UPDATE = false # Default: false

# Set to true to have the outdoor maps change with seasons.
# The map's appearance will update when leaving an indoor map.
SEASON_CHANGE = true # Default: false

# Set to true if your game starts outdoors and want to show the season splash when going somewhere indoors.
# Set to false if your game starts indoors and want to show the season splash when going somewhere outdoors.
OUTDOOR = false # Default: false

# Array with the ID of outside tilesets that will change with seasons.
OUTDOOR_TILESETS = [1, 2]

# The difference between the ID of the tileset defined for an outdoor map and it's season version.
# The difference has to be the same for any tileset defined in OUTDOOR_TILESETS.
# Use the same season tileset as the default outdoor map tileset and define the diference for that season as 0.
SUMMER_TILESET = 0
AUTUMN_TILESET = 0
WINTER_TILESET = 0
SPRING_TILESET = 0

#===============================================================================
# * Weather Substitute
#===============================================================================
# A hash with the ID of the maps that will have or not have certain weathers.
# The ID of the weather has to be of the main one you want to change with WEATHER_SUBSTITUTE.
# Use "exclude" to define a list of maps that will not use that weather when it's the main one.
# Any maps of a zone not added on the "exclude" list will use the main weather.
# Use "include" to define a list of maps that will use that weather when it's the main one.
# Any maps of a zone not added on the "include" list will use the secondary weather.
MAPS_SUBSTITUTE = {
:Snow => ["exclude", 1, 4],
:Blizzard => ["exclude", 1, 4],
:Sandstorm => ["include", 5]
}

# The ID of the weathers that will substitute the main when appropiate (conditions defined in MAPS_SUBSTITUTE).
# There has to be a hash (defined between {}) for each defined zone with weather to substitute.
# Any weather not defined in the hash for a zone will use the main weather instead.
WEATHER_SUBSTITUTE = [
{:None => :None, :Rain => :Rain, :Storm => :Storm, :Snow => :Rain, :Blizzard => :Storm, :Sandstorm => :None, :HeavyRain => :HeavyRain, :Sun => :Sun, :Fog => :Fog},
{:Snow => :Rain, :Blizzard => :Storm, :Sandstorm => :None},
{:Snow => :Rain, :Blizzard => :HeavyRain}
]

#===============================================================================
# * Weather Names
#===============================================================================
# A hash that contains the ID of weather and the name to display for each one.
# Using .downcase will make them lowercase.
def self.weather_names
return {
:None => _INTL("None"),
:Rain => _INTL("Rain"),
:Storm => _INTL("Storm"),
:Snow => _INTL("Snow"),
:Blizzard => _INTL("Blizzard"),
:Sandstorm => _INTL("Sandstorm"),
:HeavyRain => _INTL("Heavy rain"),
:Sun => _INTL("Sun"),
:Fog => _INTL("Fog")
}
end
#===============================================================================
# * Zones Configuration
#===============================================================================
# Arrays of id of the maps of each zone. Each array within the main array is a zone.
# The maps within each zone will have the same weather at the same time.
# Each zone may have a different weather than the others.
ZONE_MAPS = [
[112, 113, 114, 115, 116, 118, 124, 126, 130, 131],
[7],
[21]
]
#===============================================================================
# * Map Display
#===============================================================================
# Array of hashes to get each map's position in the Town Map. Each hash corresponds to a zone in ZONE_MAPS.
# In "Map Name" you have to put the name the Town Map displays for that point.
# In Map ID you have to put the ID of the map the name corresponds to, like in ZONE_MAPS.
MAPS_POSITIONS = [
#{"Map Name" => Map ID},
{"Metrola" => 126, "Route 1" => 5},
{"Cedolan City" => 7},
{"Route 2" => 21}
]

# A hash for the plugin to display the proper weather image on the map.
# They have to be on Graphics/Pictures/Weather (in 20+) or Graphics/UI/Weather (in 21+).
WEATHER_IMAGE = {
:Rain => "mapRain",
:Storm => "mapStorm",
:Snow => "mapSnow",
:Blizzard => "mapBlizzard",
:Sandstorm => "mapSand",
:HeavyRain => "mapRain",
:Sun => "mapSun",
:Fog => "mapFog"
}
#===============================================================================
# * Season Probability Configuration
#===============================================================================
# Arrays of probability of weather for each zone in the different seasons.
# Each array within the main array corresponds to a zone in ZONE_MAPS.
# Put 0 to weather you don't want if you define a probability after it.
# If your game doesn't use seasons, edit the probabilities of one season and copy it to the others.

# Probability of weather in summer.
# Order: None, Rain, Storm, Snow, Blizzard, Sandstorm, HeavyRain, Sun/Sunny, Fog
ZONE_WEATHER_SUMMER = [
[50, 120, 3, 0, 0, 0, 5, 30],
[40, 50],
[60]
]

# Probability of weather in autumn.
# Order: None, Rain, Storm, Snow, Blizzard, Sandstorm, HeavyRain, Sun/Sunny, Fog
ZONE_WEATHER_AUTUMN = [
[50, 120, 3, 0, 0, 0, 5, 30],
[40, 50],
[60]
]

# Probability of weather in winter.
# Order: None, Rain, Storm, Snow, Blizzard, Sandstorm, HeavyRain, Sun/Sunny, Fog
ZONE_WEATHER_WINTER = [
[50, 120, 3, 0, 0, 0, 5, 30],
[40, 50],
[60]
]

# Probability of weather in spring.
# Order: None, Rain, Storm, Snow, Blizzard, Sandstorm, HeavyRain, Sun/Sunny, Fog
ZONE_WEATHER_SPRING = [
[50, 120, 3, 0, 0, 0, 5, 30],
[40, 50],
[60]
]
end[/CODE]
 

LinKazamine

Champion
Member
Joined
May 24, 2023
Posts
674
Did you test the plugin before changing the maps ID? If you did, then that may be the problem since the plugin stores the maps ID for each zone when creating the variable it needs to work. If you use $WeatherSystem.zoneMaps = WeatherConfig::ZONE_MAPS, it should update the maps that belong to each zone. You may also want to use pbInitializeWeather to update the weather so all the defined zones have one.

I'll update the plugin soon to solve that problem I didn't think about.

As a side note, I see you have changed the MAP_POSITIONS wrong. While there are a lot of maps defined for that zone that aren't added there, you have defined a map with ID 5 that is not defined on any zone. Take it out or update the map ID to the proper one.
 

Templar33

Rookie
Member
Joined
Oct 26, 2024
Posts
5
Did you test the plugin before changing the maps ID? If you did, then that may be the problem since the plugin stores the maps ID for each zone when creating the variable it needs to work. If you use $WeatherSystem.zoneMaps = WeatherConfig::ZONE_MAPS, it should update the maps that belong to each zone. You may also want to use pbInitializeWeather to update the weather so all the defined zones have one.

I'll update the plugin soon to solve that problem I didn't think about.

As a side note, I see you have changed the MAP_POSITIONS wrong. While there are a lot of maps defined for that zone that aren't added there, you have defined a map with ID 5 that is not defined on any zone. Take it out or update the map ID to the proper one.
Thank you, it works now (I know Map positions don't work since im still working on that).
 
Back
Top