World Map Plugin

World Map Plugin 2.00b
Author: Michael Morris @Blue Booth Studios
Engine: RPGMaker MV
Language: JavaScript
Links: RPGMakerWeb Plugin Release Post
MV Plugins Entry

This marks my first script for RPGMaker MV, and my first script in JavaScript in over a decade. A port and more flexible design based on the original World Map system I put together in RMXP.  Allows for a customizable, fully featured World Map system.  Each World Map location is a ‘node’, pathing between nodes can be locked/unlocked (ie. landslide occurs, cutting off passage between two towns), arrow support built-in (can be enabled/disabled with custom pictures), which can identify both unlocked paths and locked paths (locked paths uses Disabled Arrows).  Comes with customizable window displaying node status.

  • Flexible World Map system (nodes may be as little as one tile apart, can daisy chain multiple world maps, etc.)
  • Each node uses Events as much as possible, nodes can be animated.
  • Each node may have between 1 – 4 paths leading to other nodes.
  • No manual pathfinding necessary!  This is all handled by Shaz’s Path Finder.
  • Status window displaying status for each node using any variables of your choosing (for example, recommended level, number of chests, etc.)
  • Status window will move if the player gets too close to it.  The player should be unable to get behind the Status window.
  • Game Variable tie-ins to remember the previous map (in case the user decides to cancel out of the world map).
  • Each path can be enabled/disabled using true, false, or a $gameSwitch value.
  • Optional arrow picture support (each picture can be a custom picture file).
  • Optional disabled arrow picture support (each picture can be a custom picture file).

worldMapSysComplete World Map Plugin Screen A World Map Plugin Screen B
How to Use
  1. Download or copy script into your game js/plugins directory.
  2. Download or copy required scripts into the same directory.
  3. Set up Regional Restriction IDs to restrict player movement on the world map (see Yanfly’s documentation).
  4. Import these scripts into your project.  See the Demo for an example of how to set everything up.

This script was developed to be used in conjunction with the following scripts:

Demo Project: WM
Script: BBS_WorldMap.js
Script: BBS_MapControls.js
Script: BBS_TransitionHistory.js
Includes scripts from: Yanfly, Hime, and Shaz (Region Restrictions, Direction Lock, and Smart Pathfinding respectively).

Change Log
  • Fixed logic error that could hide buttons underneath Node Status Window.
  • Separated out world map arrows into BBS_MapControls.js and added mouse/touch support for arrows (now buttons).
  • Completed tests ensuring touch and mouse worked properly with world map.
  • Removed redundant functions.
  • Button commands now much easier to read.
  • Separated out last map handling to BBS_TransitionHistory.js to fix world map daisy-chain.
  • Fixed player not facing down after moving between nodes.
  • Node status window auto switches y position to avoid obscuring player and player arrows.
  • Custom text color issues resolved thanks to Tsukihime.
  • Plugin finished. All major bugs fixed.

Credit and Thanks

Known Bugs
  • Movement lock does not prevent manual player movement while SmartPathing to a destination node. If the player touches a node they weren’t headed to, this can cause problem.
  • Input attempts using mouse and touch need more testing to ensure they do not override player movement.
  • Documentation needs to be improved.

Terms of Use
Contact us

Free for non-commercial usage of script as long as credit is given.
Credit needed for non-commercial usage of the world map arrow pictures provided in the demo.

Please contact us for details.

Comments (2)

  • Raen Andaleio


    Any chance of getting a more thorough documentation? The script’s help text is rather sparse and I can’t really make sense of it.
    What do the parameters of the node command even do?
    Looking at the demo project doesn’t help either. There’s a lot going on there and it’s not clear what that all means.


    • admin


      Hello Raen, sorry to hear you’re having difficulty with my plugin. I currently don’t have time to make more thorough documentation, but I’d be happy to help you with any questions you have.

      By the node command, are you referring to “UpdateNodeWindow”? If so, let me know, and I’ll go through the parameters with you.

      Have you looked at our thread here?
      There are a few (admittedly outdated) videos that might help you get started.


Leave a comment