Tile Control v2.0 for RPG Maker MV

Hey RPG Makers!

It is now easier than ever to place the desired tile! There are a few new ways to indicate which tile you want to be placed!

This update also fixes the bugs in Tile Control v1.00! Now, any tile can be placed, including autotiles, and the correct autotile shape will be calculated. You can still place an exact tile, if desired.

You are not logged in.
Download available to supporters of the Design Counselor level and higher.

To install:

  1. Download the file, and unzip it.
  2. Make sure the unzipped file is named Tyruswoo_TileControl.js and is saved as a .js file.
  3. Open the file folder of your project. Place the file in your project’s “js” folder, within the “plugins” folder.
  4. Open your project in RPG Maker MV, then go to the Tools menu and select Plugin Manager. Use the Plugin Manager to add and activate the plugin.

The easiest way to identify the desired tile is using the tile’s coordinates. For example, if the map is using the Overworld tileset, and we want to place a whirlpool, we can use A3,1 for the tileId.

Tyruswoo Tile Control tileId Code
Example of how to determine the tileId code.

In the example above, it is also possible to use the code A11 to place the whirlpool tile, since (starting from the top left tile being tile 0), the whirlpool is tile 11. Note that this number matches the same number as shown on the R (region) tab, so you can use the region tab to easily find a code for the desired tile.

Or, in the example above, we can use the technical tileId, which is 2576. Using a technical tileId is only necessary if you want to place a specific shape of the autotile. In such cases, in your plugin command, you will also need to use SetExact instead of Set. To find the technical tileId, you can go into playtesting mode, then hold Ctrl and press Enter on top of a tile to log its technical tileId to the console window.

Caution!

When using the above method for finding the “letter x comma y” tileId code (or the similar “letter number” tileId code), you must never select a tile that is not defined in your tileset. Undefined tiles are most commonly accidentally selected when the A tab tiles do not include all of the A1, A2, A3, A4, and A5 tiles. Note that Tile Control assumes that when you determining the code, you are using a full set of all five types of A tiles in your tileset. So, for example, if your tileset is missing A3, and you do not account for this when determining the appropriate code for your A4 tile, you may accidentally select an A3 code, resulting in placing an undefined tile. This can cause your game to freeze and crash, and necessitate forcing the app to close!

The best way to avoid this problem is to fill all your tilesets with A1, A2, A3, A4, and A5 tiles, even if they are just placeholder tiles. This way, you can more easily count to determine the correct tileId code.

The update notes for Tile Control v2.0 are included below.

Tile Control v2.0
by Tyruswoo

Last Update: April 19, 2020

===========================================================================

Plugin Commands:

Tile Info

Displays the location and ID of the tiles on which the player currently stands.

Tile Refresh

Forces the tilemap to refresh, which allows correctly displaying the graphics of the map’s tiles. (Note: Tilemap refresh is automatic whenever a tile is changed.)

Tile Set x y z tileId

Set a tile at coordinates x y and layer z to the selected tileId. z = 0 for lowest layer.

Tile Set PlayerLoc z tileId

Set a tile at the player’s coordinates and layer z to the selected tileId.

Tile Set PlayerFront z tileId

Set the tile towards which player is facing at layer z to selected tileId.

Tile Set EventLoc eventID z tileId

At the location of the event with eventID, set layer z to tileId.

===========================================================================

A tile’s tileId may be identified by opening the console window (using F12), then by having the party leader stand on the tile of interest, then holding the Control (Ctrl) key and pressing Enter (Return).

For example, using the default Overworld tileset, a whirlpool can be placed using the following plugin command:

Tile Set PlayerLoc 0 2576

There is also an easier way to specify the tileId. Rather than using the tileId itself, a code can be used. The code should begin with the letter of the tile panel to be used (A, B, C, D, or E). This is followed by the code number of the desired tile, where the numbers begin at 0 in the upper-left corner of the tile pane, then proceed to increment by 1 from left to right, then top to bottom. The pattern of the numbers for each pane A, B, C, D, and E, matches exactly the numbers shown in the R (region) pane, so the region pane can be used to determine the code number of any desired tile.

For example, using the default Overworld tileset, a whirlpool can be placed using this plugin command:

Tile Set PlayerLoc 0 A11

Notice in the above, that the whirlpool tile is in the A panel, and it is tile 11 in the panel.

Another easy way to specify the tileId is using tilemap coordinates; in other words, the (x,y) position of the desired tile within the tile’s selection panel.

For example, using the default Overworld tileset, a whirlpool can be placed using this plugin command:

Tile Set PlayerLoc 0 A3,1

===========================================================================

By default, above the selected z layer, all z layers are erased when the tile is set. This is similar to how RPG Maker MV works in the map editor. If you want to set a single z layer without modifying any upper z layers, use “Tile SetLayer” instead of “Tile Set”.

By default, autotiles are detected, so if Tile Set is used to set an autotile, then nearby autotiles will be detected, and they will be linked together. If you want to prevent autotiling, and just set the tile exactly, then use “Tile SetExact” instead of “Tile Set”. This is similar to using a Ctrl+RightClick to copy a tile exactly in the map editor.

It is possible to combine “Tile SetLayer” and “Tile SetExact”. So, you can use “Tile SetLayerExact” (or synonymously, “Tile SetExactLayer”). Using “Tile SetLayerExact” will result in the z layer of the tile being modified, without changing the above z layers of the tile, and without affecting any nearby autotiling.

===========================================================================

Enjoy being master of the tiles!

Tyruswoo

Questions or concerns? Check out the forums to ask a question. You may even find an answer there, already!

To view and submit comments on this post, you must be logged in and joined as at least a Warm Fuzzy member. Log In No account, or ready to upgrade your membership? Join the adventure!

Tyruswoo

Indie Game Designer
creating game content!

Latest RPG Maker

Pin It on Pinterest

Shares