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.
Download Tile Control Plugin MV
How to Install
- Download the file, and unzip it.
- Make sure the unzipped file is named Tyruswoo_TileControl.js and is saved as a .js file.
- Open the file folder of your project. Place the file in your project’s “js” folder, within the “plugins” folder.
- 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.
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.
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.
Tile Control 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. ===== How to identify the Tile ID: 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). (Note that for this to work, the "Tile Info on Button" option must be true in the Plugin Manager.) 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 ===== Tile Layers, Autotiles and Exact Tiles: 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!