OcRam - Passages plugin [v2.05 updated: 2018/05/05]

Discussion in 'JS Plugin Releases (RMMV)' started by OcRam, Dec 4, 2017.

  1. OcRam

    OcRam Servant of the Universe Veteran

    Messages:
    92
    Likes Received:
    74
    Location:
    Void
    First Language:
    Finnish
    Primarily Uses:
    RMMV
    Introduction
    This plugin uses region IDs to determine a player 'floor level'. Even autotiles can be drawn ABOVE players (if player is on lower ground). I have tried to find this type of plugin for a long time, then decided to code one my self.

    I know you can use different tilesets or events to accomplish this, but this saves a lot of tiles in my tilesets. And no more event switches to toggle higher / lower ground.

    Use event comments <lower> or <higher> to assign event floor level. If autotiles A3 (roofs) or A4 (walltop) tiles are used "Auto-assign" (no comments found) will assign the event to higher floor level, else event is assigned to lower floor level.

    Also works (for example) with "OcRam_Local_Coop" and Yanfly engine -plugins (no issues known).

    ps. You can use this plugin indoors as door passages also (shown later).

    Here's what you need:

    1. "OcRam_Passages" -plugin


    2. Mark regions
    • RegionID 16 = Underpassage (this will set player to lower ground)
    • RegionID 17 = Overpassage (this will set player to higher ground, also draws B-E layers)
    • RegionID 18 = Cover tile for tiles B-E (transparent background)
    • RegionID 19 = Autotile Cover for A tiles (opaque background)
    • RegionID 20 = Always block passage (for blocking ie. door way sides)
    • RegionID 21 = Block passage AND draw tiles ABOVE, if on lower floor
    • RegionID 22 = Block passage to underpassage region (can be used to fix RMMV core "bug" where passable tile, like "bush", allows passage over cliffs)
      is_this_bug.png
    Credits to PandaMaru for bridge tiles.
    passages_outdoors.png
    passages_indoors.png

    3. Try it

    Terms of Use
    Non-commercial: Free to use with credits to "OcRam" for using "Passages -plugin"
    Commercial: Contact mmp_81 (at) hotmail.com
    License must be obtained BEFORE you start SELLING your game. Even if you obtain commercial license; copyrights still remain as they are. NOTE: Also games with micro-transactions and/or advertising incomes are considred commercial use of this plugin!

    To obtain license:
    • I need project name (Project name should be same as sold product)
    • I need e-mail for PayPal payment request (if it is other than email has been sent)
    • I need license type (”Standard” / ”No credits”)
    License types:
    • Standard: 19.99 EUR - Paid in full (credits to ”OcRam” is required for using ”Passages -plugin”)
    • No credits: 59.99 EUR - Paid in full (credits not required)
    After payment: I will send you verification e-mail that you may use this plugin commercially in project: [Your_project_name_here] with [license_type].

    Why payments? There's a lot of work to maintain plugins - not to mention creating one like this.

    Please do not hesitate to contact me for more information.

    Under development (v2.06)
    Support for for bigger player characters (and draw order by y axis). But width and height must be in grid for 48px (ie. 144px x 96px).

    Version history

    2018/05/05 v2.05 - Hot Fix for v2.04
    • Added new function to Scene_Base (isMap())​
    2018/05/05 v2.04 - Battle test fix
    • Allows now battle tests (fixes error caused by addActor function, when scene was not type of "Map")​
    2018/04/03 v2.03 - HotFix for v2.02
    • Fixed bug where follower collision tests gave invalid results
    2018/04/02 v2.02 - EventMiniLabels and OcRam_Local_Coop
    • Support for Yanfly EventMiniLabels
    • Improved compatibility with OcRam_Local_Coop -plugin (followers)!
    2018/03/21 v2.01 - Doodads and auto-assign change
    • Support for Yanfly doodads.
    • Auto-assign will assign to higher floor level only on roof and wall top tiles.
    2018/03/04 v2.00 - Initial release
    • Autonomous move route support for events
    • No more scripting to manually move events on lower ground while player is on higher (no more work-arounds)
    • Events will follow same region Id rules as player do
    • New feature "Smartpass" (credits to that girl for the idea)
    • Underpass region Id no longer required to paint all over the lower ground
    • Overpass- or Block regions no longer needed to block passability from lower to higher level while walking under cover tiles
    • Event comments <higher> and <lower> will also sign event to desired "floor level" (shown above or below cover tiles)
    • Usage of plugin command "floor_level" is changed "floor_level [eventId] [high/low/auto]". Auto parameter works with same principal as "Vehicle Smart drop"
    • Compatible with "OcRam_Local_Coop" -plugin (also for Player 2)
    • Support for all sized events!
    • Default RegionIds will be: 16=underpass, 17=overpass, 18=cover B-E (transparent BG), 19 = cover A (opaque BG), 20=Block, 21=Overhead, 22=Block High <> Low (no worries it won't change existing Plugin parameter values)
    • Support for vehicles + "Vehicle Smart drop" checks if A1 or A2 autotile is used (on landing spot): assign player to lower floor level, else assign to higher floor level
    • Ready for RMMV 1.6.0
    • New Plugin parameter "Block High to Low ID" (must be next to underpass region), this will fix the RMMV core "bug" where passable tile (B-E) on the edge of cliff allows passage over the cliff edge on every direction.
    Version history
    • 2017/12/03 v1.00 - Initial release
    • 2017/12/04 v1.01 - Player can interact only with events with same floor level. Added support for event stepping animations
    • 2017/12/05 v1.02 - Support for $ and ! character images (only sizes 48 x 48, 48 x 96, 96 x 96, 120 x 120)
    • 2017/12/07 v1.03 - Fixed issue where events could pass impassable tile
      Fixed issue where cover tiles were shifted +-1px from time to time
      Underpass region Id 17 should always grant passage to player
      New region Id (default 20) to always block passage
    • 2017/12/10 v1.04 - Fixed issue where events didn't start properly if they were on ANY other region Id than 16 - 20 or 0
    • 2017/12/12 v1.05 - New Region Id 21 'passage overhead tiles' this region blocks passage if on lower floor level + draw tiles ABOVE.
      Added new feature 'event trigger floor'. Override default trigger floor for desired events. Possible comments for the events are: <all_layers> || <higher> || <lower>
    • 2017/12/20 v1.06 - Fixed issue where ALL tiles were under the player if player was on "higher ground" (ie. bridge railings).
      Tile B-E Z-Order functions are now deprecated due new methods to draw them.
      Fixed issue where erased events may have caused errors.
      Game_Map.checkPassage is now aliased (for max compatibility with other plugins that use this function).
    • 2017/12/24 v1.07 - Fixed issue where page index -1 may have caused errors.
      Added event support (static/stepping) for region Id 16.
      Added PARTIAL (not autonomous) move route support on cover tiles.
      Added "refresh_covers" -plugin command.
      Fixed issue where party was drawn ABOVE covers even if party was BEHIND cover tiles after menu scene.
    • 2018/01/02 v1.08 - Events on higher 'floor' level can be now moved even if player would be on lower 'floor' level.
      Optimized char update animations on cover tiles (a lot).
      Plugin command 'refresh_covers' no longer required after event moving on cover tiles.
      Fixed issue from prev patch where 'visiting' left edge of map caused tiles 'fix pos to screen' in some cases.
      Events may pass UNDER the cover regions (16 & 19) IF player is also on LOWER 'floor' level (usage of wait recommended to avoid glitches).
      New plugin command: "floor_level" with parameters low / high for scripting more complex events.
      NOTE: THIS PATCH CREATES GRAPHIC LAYERS! (So if any 'layer' plugins are used, this plugin should go above those plugins).
    • 2018/02/14 Hotfix to v1.08 - Compatible now with OrangeMapshot

    My (long-term) project

    banner.png
     

    Attached Files:

    Last edited: Jul 20, 2018 at 4:37 PM
    #1
  2. mlogan

    mlogan Global Moderators Global Mod

    Messages:
    11,996
    Likes Received:
    6,490
    Location:
    Texas
    First Language:
    English
    Primarily Uses:
    RMMV
    Wow, this looks really amazing!
     
    #2
    Joy Diamond and OcRam like this.
  3. Joy Diamond

    Joy Diamond Talkative Veteran

    Messages:
    135
    Likes Received:
    171
    First Language:
    English
    Primarily Uses:
    RMMV
    +1 Yes, it looks quite amazing. Both:
    • In what it does;
    • but more importantly, in the very nice posting & pictures explaining what it does.
    Also reading the code, it looks well written, clear, concise & a reasonable amount of comments.

    ... Note sure if I could use it, though, due to commercial limitations ...
     
    #3
    OcRam likes this.
  4. Aloe Guvner

    Aloe Guvner Walrus Veteran

    Messages:
    681
    Likes Received:
    435
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    RMMV
    This is so useful!
    I just re-did a bunch of my maps with this and tried to break it in any way possible, but as long as the regions are set up correctly it always worked for me!
     
    #4
    OcRam likes this.
  5. styx92

    styx92 Veteran Veteran

    Messages:
    287
    Likes Received:
    36
    First Language:
    German
    I get a crash at the begin:

    Unbenannt.JPG

    Maybe you get it with this screenshot.

    But a very needfull plugin, i think.

    EDIT: Okay i found the troublemaker Plugin :D Its SAN_Analogmove plugin. If i dont use it, than it works :)
     
    Last edited by a moderator: Dec 12, 2017
    #5
  6. Joy Diamond

    Joy Diamond Talkative Veteran

    Messages:
    135
    Likes Received:
    171
    First Language:
    English
    Primarily Uses:
    RMMV
    Styx92,

    Can you please post a list of all your plugins you are using?

    Also can you start this with a new project, and see if you can reproduce the crash you are seeing?
    Thanks,

    Joy Diamond.

    NOTE: You can edit your previous message, easier for others than creating a new one. Thanks!
     
    #6
  7. OcRam

    OcRam Servant of the Universe Veteran

    Messages:
    92
    Likes Received:
    74
    Location:
    Void
    First Language:
    Finnish
    Primarily Uses:
    RMMV
    I took a look at the line 488 and the problem is that current scene (or it's childerens) are not initialized. As Joy Diamond asked I think I need plugins that are in use. Also the plugin order or updating this plugin (to v1.03) may solve this.

    EDIT: I managed to reproduce same error! I will try to make this plugin compatible with 'SAN_AnalogMove' -plugin. Thank you for the information.

    EDIT2: SceneManager.isCurrentSceneStarted() -function returns always false (even if _tilemap is ready), but only when using SAN_AnalogMove -plugin. I think that needs to be fixed first...
     
    Last edited by a moderator: Dec 12, 2017
    #7
  8. Ravenith

    Ravenith Veteran Veteran

    Messages:
    258
    Likes Received:
    13
    First Language:
    Greek
    Kudos both for the script and the detailed, concise description. You, Sir or Madam, deserve a cookie.
     
    #8
    OcRam and Zarsla like this.
  9. wrap

    wrap Villager Member

    Messages:
    9
    Likes Received:
    6
    First Language:
    Japanese
    Primarily Uses:
    RMMV
    Is there a way to solve this problem?
     
    #9
    OcRam likes this.
  10. Sharm

    Sharm Pixel Tile Artist Global Mod

    Messages:
    11,800
    Likes Received:
    7,956
    Location:
    USA
    First Language:
    English
    Primarily Uses:
    N/A
    Oh, cool! I'm likely going to be using this in every game I make.

    @styx92 and @OcRam Red, like blue, is a reserved color for moderators. I've edited it out of your posts.

     
    #10
    OcRam and Joy Diamond like this.
  11. OcRam

    OcRam Servant of the Universe Veteran

    Messages:
    92
    Likes Received:
    74
    Location:
    Void
    First Language:
    Finnish
    Primarily Uses:
    RMMV
    Yes, there are solutions (actually several ways to do it), but I think I'll implement new RegionID 21 (where passage is blocked AND tiles are draw above player). I will provide an example when new version is released (maybe later this week). Laters!

    Edit: Actually this was easy peasy and it's ready already. ENJOY! :)
     
    Last edited: Dec 13, 2017
    #11
    wrap likes this.
  12. PinkMarble

    PinkMarble Harbinger of Pink Doom Member

    Messages:
    5
    Likes Received:
    5
    Location:
    Lisbon
    First Language:
    English
    Primarily Uses:
    RMMV
    How I’ve longed for something like this, if only I knew JavaScript at all.

    Anyway, my eternal thanks, this pink marble is officially in love with you.
     
    #12
    OcRam likes this.
  13. wrap

    wrap Villager Member

    Messages:
    9
    Likes Received:
    6
    First Language:
    Japanese
    Primarily Uses:
    RMMV
    I was late for noticing.
    You responded quickly and perfectly. OcRam, thank you very much!
     
    #13
    OcRam likes this.
  14. Rweinegger

    Rweinegger Villager Member

    Messages:
    6
    Likes Received:
    1
    First Language:
    Ger
    Primarily Uses:
    RMMV
    Really nice Plugin :)

    I found something: If you stay on the bridge and u use the touch interface from a smartphone, than u can jumpt from region tile 16 to region tile 17.

    Am I to stupid to use it right or is it like this?
     

    Attached Files:

    #14
  15. OcRam

    OcRam Servant of the Universe Veteran

    Messages:
    92
    Likes Received:
    74
    Location:
    Void
    First Language:
    Finnish
    Primarily Uses:
    RMMV
    Thank you for your intrest towards this plugin. If I understood this correctly; please check that tileset passages are configured correctly (example below).
    bridge_support.png

    Please let me know if this was the answer you were looking for.
     
    #15
  16. Nicke

    Nicke Pure Evil Veteran

    Messages:
    501
    Likes Received:
    356
    Location:
    Sweden
    First Language:
    Swedish
    Primarily Uses:
    RMMV
    Hey, I have a little problem with this plugin. I use this bridge as shown below and walking under works just fine but when you walk above it there is a wierd bug with the railing. I would like it to show above the player and not below. Hope you understand!

    [​IMG]
     
    #16
  17. OcRam

    OcRam Servant of the Universe Veteran

    Messages:
    92
    Likes Received:
    74
    Location:
    Void
    First Language:
    Finnish
    Primarily Uses:
    RMMV
    Thank you for the message. Your post is clear and well explained. I'm fixing that to next release (v1.06 - maybe later this week).

    Edit: New version (v1.06) is now released where this issue has been fixed (hopefully). Please let me know if this patch fixed or didn't fix the problem :)
     
    Last edited: Dec 20, 2017
    #17
  18. PinkMarble

    PinkMarble Harbinger of Pink Doom Member

    Messages:
    5
    Likes Received:
    5
    Location:
    Lisbon
    First Language:
    English
    Primarily Uses:
    RMMV
    I’ve run into a similar issue, but I just countered it with Above Player events. It works perfectly, although it would be better to have a built in alternative. If you are stalling your map making due to this, I recommend using events until it’s fixed.
     
    #18
    OcRam likes this.
  19. Rweinegger

    Rweinegger Villager Member

    Messages:
    6
    Likes Received:
    1
    First Language:
    Ger
    Primarily Uses:
    RMMV
    You had right! I'm Sorry xD
    But I'm wondering why before it works with the arrow keys, but when I use the Mouse then it won't work?
     
    #19
  20. OcRam

    OcRam Servant of the Universe Veteran

    Messages:
    92
    Likes Received:
    74
    Location:
    Void
    First Language:
    Finnish
    Primarily Uses:
    RMMV
    I think mouse/touch input is handled differently (if you press arrow key, only next tile passage is checked. But when you click somewhere on the map several tile passages are checked).
     
    #20

Share This Page