Tile Control Plugin for MZ
Tyruswoo.com › Forums › RPG Maker MZ › Tile Control Plugin for MZ
Tagged: AltimitMovement
- This topic has 14 replies, 2 voices, and was last updated 1 year, 3 months ago by
Tyruswoo.
- AuthorPosts
- October 3, 2021 at 8:07 pm #8301
BrentBAM
ParticipantHi Tyrus.
I’m a new member. I am using your Tile Control plugin in MZ which works well.
It works in changing the tiles. However, one problem is that tiles that I change to that are not normally passable become passable.
(meaning I can walk over the tiles when I’m not supposed to).
Is there a setting I’m overlooking?
Appreciate any help.
BrentBAM
October 13, 2021 at 9:53 pm #8365Tyruswoo
KeymasterThank you for the bug report! I will ask our lead coder, McKathlin, to look into this!
Also, be sure to check for the following:
- Plugins that use regions to affect movement, such as a region restriction plugin. Regions would remain the same, even if tiles are changed.
- Setting “Through On” for the player would also allow movement through tiles.
- Ensure that your map’s tileset has the new tiles with the correct passability. The tileset passability can be checked in the Database.
Please let me know if any of these solutions help, or if you found a different solution.
To help us further assist you, please create a small project demonstrating the bug, with only the Tile Control plugin installed, and email the project to support@tyruswoo.com. Thank you!
October 17, 2021 at 4:14 am #8423BrentBAM
ParticipantHi Tyrus.
I tried those options but it did not appear to fix it.
It seems that whenever I change any tile over a walkable floor, the new tile is always walkable too – even if the passability is not possible to move on.
It think what is happening is that it is keeping the passability of the original tile no matter what. And it happens when I disable all other plugins as well.
Would there be another way to fix this?
October 17, 2021 at 3:57 pm #8429Tyruswoo
KeymasterHi Brent,
Our lead coder, McKathlin, has tried to reproduce the bug, but has not yet reproduced it. Once she is able to reproduce the bug, she will be able to find anything that needs to be fixed, or we will be able to provide instructions on how you can fix it in your project.
Please send us a copy of a small project reproducing the bug. Or, you can send us a copy of your project where you first encountered the bug, if you like, but also create a save file at the location of the bug in the project, and tell us which save file to use to find the problem. You can send any file to support@tyruswoo.com.
We will help find and fix the problem. A copy of a project containing an example of the bug will help us find a solution.
Tyruswoo
October 17, 2021 at 4:54 pm #8436Tyruswoo
KeymasterHere is another possible solution to consider:
Each tile location actually contains multiple tiles at various z levels including z0, z1, z2, and z3. It is possible that your project has a tile that affects movement but is either invisible or covered by one of the tiles at a higher z level. So checking which tiles are at each z level is important.
To check tiles at each z level, first make sure the Plugin Manager has the parameter “Tile Info on OK Press” set to true.
Tile Control includes a “Tile Info on OK Press” parameter, which can be set to true using the Plugin Manager.
Then, playtest your game, and make sure you open your game’s console window. You can open the console window by pressing the F12 key while playtesting.
RPG Maker MZ Console Window. Open the console window by pressing the F12 key.
Now, go to the location where the tiles will be changed, with the player leader character directly on top of the tile location to be changed. Press Ctrl+Enter to get the tile information at that location.
While standing on the location of interest, hold Ctrl and press Enter to get the tile information at that location.
As you can see, there is a plethora of data for each tile, including the flags that determine movement properties. Although the movement properties are difficult to interpret from the flags, you can see the tile codes in green. Check your tileset to see what movement properties are associated with each of the tiles listed.
This technique is likely to give you some clues to the problem, especially if you check the tiles both before and after the tile change.
October 17, 2021 at 5:22 pm #8437BrentBAM
ParticipantHi Tyrus!
I have made an example project.
Can you download it and take a look?
I appreciate it if you could. In my sample game you just need to walk to the star area to trigger the cutscene.
It will show you that you can walk over the gap tiles which should be unpassable.
Here is the link to my project file:
https://drive.google.com/file/d/1T0GZeTNqWulxhQ8NE3xBUu6mzGNKBUFA/view?usp=sharing
Edit: I’ll take a look at that debugging info you gave me as well to see if I find out anything.
October 17, 2021 at 5:27 pm #8438Tyruswoo
KeymasterHi Brent,
I sent you a request for access to the project file.
Tyruswoo
October 17, 2021 at 5:28 pm #8439BrentBAM
ParticipantHi Tyrus.
Okay I think I allowed you to.
Let me know if that didn’t work.
October 17, 2021 at 5:32 pm #8440Tyruswoo
KeymasterHey Brent,
I accessed the project. I will test it out, and if needed, I will have McKathlin test it as well.
October 17, 2021 at 5:36 pm #8441BrentBAM
ParticipantOkay. It’s very appreciated.
October 17, 2021 at 8:22 pm #8444Tyruswoo
KeymasterI found two components of this problem:
- An update to Tile Control is currently in development, which fixes a portion of this problem.
- Even with the update to Tile Control, there is still an incompatibility between AltimitMovement and Tyruswoo_TileControl. Disabling the AltimitMovement plugin results in Tile Control working as expected.
Most level designers would initially say you need to choose either Tyruswoo_TileControl or AltimitMovement, and disable whichever plugin you do not choose. However, I am sure you would like to keep both. So let’s design a solution using events.
Solution Using Events:
Create a variable called “Pit progression” and have it match the regions in which the pit exists. For example, at the end of the event that runs Tile Control plugin commands, also include a Control Variables event command that increases the “Pit progression” variable’s value.
AltimitMovement and Tile Control collision fix using events, showing the location of events where pits will appear using Tile Control.
The collision events only activate when the “Pit progression” variable is increased.
Example event showing how to use events to fix the collision incompatibility with the AltimitMovement and Tile Control plugins. Note that the event priority must be “Same as characters.”
If the pit extends further, the variable can be increased to a higher value. Matching the value with regions where Tile Control has created pits would be a convenient way to control the variable.
Ideal Solution:
- After the new update to Tile Control is released, you get the update.
- You also need an update to AltimitMovement that recognizes the possibility that maps may change dynamically by means of a tile-altering plugin. One possible way the plugin designer might fix the issue is by adding a script that allows you to recalculate the map’s AltimitMovement collision bounds.
I hope the eventing solution will be sufficient at this time. I do recommend informing the creator of AltimitMovement of the incompatibility between AltimitMovement and Tile Control.
October 17, 2021 at 8:48 pm #8445BrentBAM
ParticipantHi Tyrus.
Okay, I understand the problem. Thanks so much for getting back so fast.
I will try using the events to block collision method you have listed.
That might be a temporary fix.
I had another question though – would it be possible to ‘refresh’ the tiles with a script call to update their passability?
Thanks again though.
October 18, 2021 at 12:52 am #8446Tyruswoo
KeymasterGood news!
I created a patched version of AltimitMovement for you! You will also need Tyruswoo_TileControl v2.0 or higher for this to run. See your email for the downloads.
In the coming weeks, Tyruswoo_AltimitMovement will be added as a post on this site, for others who may be interested.
Here is how you install:
- Download the files for Tyruswoo_AltimitMovement (v0.5) and Tyruswoo_TileControl (v2.0) and place both files in your project’s .js folder.
- Open your project’s Plugin Manager. Deactivate AltimitMovement and in its place use Tyruswoo_AltimitMovement.
- Also in the Plugin Manager, make sure you enter into Tyruswoo_TileControl so that it updates to v2.0.
- Now, you can edit events. In any event that runs Tile Control, at the end of the event’s commands, add a plugin command from Tyruswoo_AltimitMovement, the “Recalculate Collision Mesh” plugin command.
Now, everything should work! After tiles are changed, be sure to use the “Recalculate Collision Mesh” plugin command to update the map’s collision locations.
Edit: I tried to send you an email with these files, but the email wasn’t working. So instead, I sent you a private message through this site. Please see your messages for the downloads.
October 19, 2021 at 1:31 am #8449BrentBAM
ParticipantTyrus! That worked perfect! Thanks so much!
Appreciate your quick work in fixing it all too.
#1 MZ programmer!
You have my vote! 🙂
October 19, 2021 at 2:56 pm #8450Tyruswoo
KeymasterI’m glad it is working well with your project! Wishing you the best for your game!
- AuthorPosts
- You must be logged in to reply to this topic.