Tile Control Plugin for MZ

Tyruswoo.com Forums RPG Maker MZ Tile Control Plugin for MZ

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #8301
    BrentBAM
    Participant

    Hi 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

    #8365
    Tyruswoo
    Keymaster

    Thank 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!

    #8423
    BrentBAM
    Participant

    Hi 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?

    #8429
    Tyruswoo
    Keymaster

    Hi 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

    #8436
    Tyruswoo
    Keymaster

    Here 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 Info on OK Press

    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.

    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.

    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.

    #8437
    BrentBAM
    Participant

    Hi 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.

     

    #8438
    Tyruswoo
    Keymaster

    Hi Brent,

    I sent you a request for access to the project file.

    Tyruswoo

    #8439
    BrentBAM
    Participant

    Hi Tyrus.

    Okay I think I allowed you to.

    Let me know if that didn’t work.

    #8440
    Tyruswoo
    Keymaster

    Hey Brent,

    I accessed the project.  I will test it out, and if needed, I will have McKathlin test it as well.

    #8441
    BrentBAM
    Participant

    Okay. It’s very appreciated.

    #8444
    Tyruswoo
    Keymaster

    I 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.

    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.

    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:

    1. After the new update to Tile Control is released, you get the update.
    2. 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.

    #8445
    BrentBAM
    Participant

    Hi 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.

     

    #8446
    Tyruswoo
    Keymaster

    Good 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:

    1. Download the files for Tyruswoo_AltimitMovement (v0.5) and Tyruswoo_TileControl (v2.0) and place both files in your project’s .js folder.
    2. Open your project’s Plugin Manager.  Deactivate AltimitMovement and in its place use Tyruswoo_AltimitMovement.
    3. Also in the Plugin Manager, make sure you enter into Tyruswoo_TileControl so that it updates to v2.0.
    4. 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.

    #8449
    BrentBAM
    Participant

    Tyrus! That worked perfect! Thanks so much!

    Appreciate your quick work in fixing it all too.

    #1 MZ programmer!

    You have my vote! 🙂

    #8450
    Tyruswoo
    Keymaster

    I’m glad it is working well with your project!  Wishing you the best for your game!

Viewing 15 posts - 1 through 15 (of 15 total)
  • You must be logged in to reply to this topic.