Map Folders – Managing Unlimited Maps
This script allows you to manage more than 999 maps in a single project.
It allows you to place extra maps into separate sub-folders in your Data
folder.
For example, suppose you have 2500 maps in your game. You might have 999 maps in your Data folder, and then another 999 maps in “Map1” folder, and maybe 502 maps in “Map2” folder. It is easy to change maps across different folders when developing your maps by using simple script calls in the transfer events.
This script allows you to quickly swap maps that you are currently editing: simply take all of the maps in the Data folder and place them in a subfolder, and then move the maps from a subfolder into the Data folder and reload your project.
Download
Script: download here
Installation
Place this below Materials and above Main.
You should place this script above other custom scripts.
Usage
Understanding maps in RM
There are two components to map management in RPG Maker.
- The maps themselves. These are stored in Map001.rvdata2, Map002.rvdata2, etc.
- Information about the maps. These are stored in MapInfos.rvdata2
The map information contains things like the map tree structure, the map ID’s, and so on. In order to correctly load your maps when you open a project, you need to have both the maps and the map info file in the Data folder.
Setting up map folders
Create folders with the name
Maps#
For example, Maps1, Maps2, Maps234, etc.
You can change the naming scheme in the configuration section. The name scheme must take exactly one number, which represents the folder ID. For example
Chapter %d
Will allow you to use the folder names
Chapter 1 Chapter 2 Chapter 3
You can then place maps into these folders. Remember to move your mapInfos.rvdata2 file as well, since the editor uses that to build the map tree as explained in the previous section.
You will use script calls to change to different folders in the game.
You should place these script calls before the actual map transfer command.
change_map_folder(x) $game_system.change_map_folder(x)
If you want to switch to maps in Map1, then you will use
change_map_folder(1)
You can specify the position you want the player to be transferred to in case the position on your new map is not available in the editor.
You can pass in the x, y coordinates in the script call
change_map_folder(id, x, y)
Maps directly under the “Data” folder are said to be located in the “zero folder”, and you would change to folder 0.
Note that changing folders is only necessary if you are load a map from a different folder. You don’t have to do it all the time, although it may be good practice in case you are transferring to maps from many different folders in a single map.
Due to how the default scripts work, if you transfer to a map with the same ID, the game won’t actually setup a new map! This can be solved easily but for compatibility reasons it has not been changed. The simplest way to get around this problem at the moment is to just avoid transferring to a map in another folder with the same ID.
Script conflicts with Scene Interpeter:
Script ‘Himeworks Map Folders’ line 193: NoMethodError
occurred.
undefined method ‘map_folder_transfer_x=’ for nil:NilClass
I’m not sure if you still work on RGSS3 Scripts, but im just reporting it for any chance.
Does it works with Yanfly’s doodads mapping plugin?
question, does this preserve the actual folder of maps a player is on when they save and load a game?
For instance, say character is on map 120 of Folder “Maps 3”, will the system preserve that data upon saving, so that when he starts up game later, and clicks load, he goes back to that Maps 3?, or would I need to add that info to an event, pass to variables, in an event or something first, and then when loading game, bring it back?
Yes, the current folder is stored with the save file. You should not have to do anything in particular when it comes to loading games.
where i need paste that change_map_folder (х)
$ game_system.change_map_folder (х) ?
Script call before you do a player transfer
can i just click 'new folder' in the data section and name it?
Yes, that is the usual way to create a folder.
should i just copy the mapinfos file and put it in the folder?
Yes. Every set of maps needs the corresponding mapinfos file.
What do you mean by moving mapInfos.rvdata2? where should it go? Im confused. 😛
Each set of maps needs to have the corresponding mapInfos file so the editor knows how to load them. If you ever move maps into a folder, you should remember to move the mapinfos file as well.