- Nov 6, 2016
- Reaction score
- First Language
- Primarily Uses
- Script name: GGZiron's Minimap
- Author: GGZiron
- Get the script: From GitHub.
- The previous version(just in case): From GitHub
- Purpose: Adds Minimap on the Scene Map, to be used for navigation.
- Engine: RPG Maker VX Ace
- Compatibility: Check it yourself, for your project .
- Version: 1.2.0
- Last Update:
Version 1.2.0 Released on 06/09/2019
*Now it use better method to scan the entire map passability at once, which
improves the performance.
*Add passability data into cache, to make map drawing faster(needed
for map revisit or for vehicle change). More about caches in settings.
*Fixed some script calls.
*Fixed some bugs.
- How easy to use:
From medium to hard, depending how much of the settings
you plan to change. Even if none, you gotta place comment tags for events,
if you want them drawn on minimap, and check the toggle option with button,
as the probability to like the default is not too high, especially if you
love to dash in debug through during play test.
- Comment tags(used within events):
<minimap normal color>
Will draw default color for the event, if that comment tag is on the active page.
<minimap color n>
Will draw color n from COLORS hash for the event, if that comment tag is on the active page.You can add more entries in the COLORS hash. The letter n is the key for the color.
<minimap color 6>
Will use color with key 6 from the COLORS hash.
Comment tags are case sensitive, and spacing between characters must remain same.
- Script calls:
Asside of Input buttons, minimap visibility can be
changed with script call too. It is one if those two:
Minimap::enabled = true
Minimap::enabled = false
The first one enables it, the second one disables it.
Minimap::map_list_add(map_id_1, map_id_2, map_id_3, ... map_id_n)
Adds to the maps list(see more about it in general options) all the entries. Would those maps be displayed or ignored, depends from MAPS_LIST_FORBID, which you set in settings.
Minimap::map_list_drop(map_id_1, map_id_2, map_id_3, ... map_id_n)
Drops entries from the maps list.
Minimap::update_when_disabled = false
Won't draw and update maps when they are hidden.
Minimap::update_when_disabled = true
Will draw and update maps even when they are hidden.
If currently hidden, the minimap will be drawn on that script call,
unless is forbiden to show by maps list.
If you need to redraw minimap entirely, because it happens something that
my minimap didn't react on, you can use this script call:
Redraws entire map.
In earlier versions i provided Minimap::draw_map, but that will not work
anymore. That so because while it will draw map again, it will use the old
passability data. So, use Minimap::redraw_area instead, if other script
changed terrain, regions, terrain tag or damage floors.
Also redraws the minimap, but is done on the next Minimap update.
Uses old passability data, so will not redraw map.
Minimap::redraw_area(x1, y1, x2, y2)
Doing that, the script will redraw only tiles between x1 and x2,
and tiles between y1 and y2 (An rectangle area).
The coordinate x2 can be same as x1, and y2 can be same as y1, so to redraw
only one tile. Coordinates x1 and y1 must be same or smaller value than x2
and y2, otherwise the redraw request will be ignored.
With version 1.2.0, that script call is tested and fixed.
There are more script calls, which you can find in the Script calls header inside the script.
*Kinda simplified minimap, but not simple on features.
*Draws passable area.
*Draws impassable area.
*Option to set or unset buttons for toggling minimap visibility.
*Draws partly passable as passable, but then draw impassable line on the
edge of the tile. You will see what I mean if you test ladders, walls
with walk-able upper floor, ladders, bridges and so on.
*Draws events, but not by default. You need to put comments with certain
formation, similar like in the notetags. Also, while there is default color
for the events characters, you can set to use different one, to make
characters standing out of the crowd(quest NPC, point of special interest).
*Player input options.
*Option to draw regions and terrain tags too.
*Draws damage floor.
*Updates player and event movement on straight move, diagonal move, jump,
*Redraws passage map on changing vehicle, according the new passability.
For example, riding boat will turn all water tiles as passable, and all
ground as impassable. Region and terrain tag, same as damage floor,
When using airship, will draw the land ok tiles, instead passable tiles.
Otherwise riding airship would mean to have one color minimap, with no tiles
within, as airship can pass through everything.
*Option to change the character object priority. Priority is used so if
two objects are within same tile, it will draw the color of the one with
higher priority. Objects are: player, events, damage floor, region,
terrain_tag, vehicle. When two events share a tile, it will draw the one
with higher id number.
With version 1.1.0, objects are on two groups: characters and tiles.
*Configurable minimap size; transparency; x, y and z coordinates.
*Reacts on loop maps, as then the minimap loops too.
*Option to determine how deep to look in event commands for the needed
comment tags. In ideal case, should be set to look only the top one
comment, but if there is other script requiring comments to be on top,
then you can set to look for second command or third and so on.
Merging same comment to have many tags for the different scripts is option
*With version 1.1.0: Maps List. See in general options about it.
One feature that is NOT included (for now), is drawing the followers.
- Screen Shots:
Indoor. See wall and ceiling floors.
Outside. See wall here too. Ladder is reflected.
About to ride a boat.
On boat now. Map redrawn with new passability.
And now, on airship. As on airship everything is passable, the black tiles here are the tiles
where the ship cannot land.
- Author notes:
Why I made minimap script: Just recalled how much I wanted to have one before, but couldn't find.
I recalled that after trying to do fix for other minimap script, but didn't got anything from there.
My script works differently.
As that is my initial version, you might want me to patch it a little before including that into your project.
As my University semester starts, I won't be able to do big fixes for some time, but might be able to do minor ones.
- Possible issues:
Aside everything else that could go wrong, it could affect the game performance. But if it is affected too much, then there is incompatibility with other script, or flaw in my script design, that is triggered from other script.
- Known script flaws:
Works kinda slow for very big maps. Also, it consumes a lot of memory. With the default TILE_SIZE (given in settings) in 500 x 500 map, a default project would eat nearly 80 mb operative memory, when without my script on same map it takes only 35 mb. That is so because it draws one large bitmap. To prevent that, I guess I should write some sorta tile map, but so far I couldn't figure how to make one, and cannot use the engine's Tilemap for the minimap. With not too big maps I believe this flaw won't be a deal breaker.
Other known flaw is with the looping maps. While minimap itself will loop properly, the event characters will not. They would appear suddenly on their spots only after the player is relocated at the oposite end.
Free for non commercial and commercial projects.
Sending me a copy of your game would be very appreciated,
but is not mandatory. With terms update, that so even for commercial
projects. You have to credit me as GGZiron.
Not allowed to repost, only allowed to post link to this script tread in
RPG maker forum.
Allowed to edit, and allowed to post your edit, but together with link to this
script tread in RPG Maker forums. Not the case if the very post is within
the tread of this script in RPG Maker forums, then link not needed.