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.

  1. The maps themselves. These are stored in Map001.rvdata2, Map002.rvdata2, etc.
  2. 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.

You may also like...

90 Responses

  1. Gahrenslair says:

    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.

  2. Anonymous says:

    Does it works with Yanfly’s doodads mapping plugin?

  3. JayRay says:

    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?

    • Hime says:

      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.

  4. Anonymous says:

    where i need paste that change_map_folder (х)
    $ game_system.change_map_folder (х) ?

  5. Anonymous says:

    can i just click 'new folder' in the data section and name it?

  6. Anonymous says:

    should i just copy the mapinfos file and put it in the folder?

  7. grumpycatrules says:

    What do you mean by moving mapInfos.rvdata2? where should it go? Im confused. 😛

    • Hime says:

      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.

  1. March 30, 2015

    […] Maps in Subfolders […]

Leave a Reply

Your email address will not be published. Required fields are marked *