[CGMZ][Alpha] Dungeon Tools for RPG Maker MZ
A downloadable plugin
Hi all,
This plugin adds reset, arrow, bomb, boomerang, hookshot, interact, and lantern tools to your game. You can optionally have tools require items in the inventory, and consume those items on use.
Reset tool: This tool will "reset" the current map the player is in. It accomplishes this by 1) saving the coordinates the player entered the map and teleporting them to those coordinates when the tool is used, and 2) manipulating the self-switches of events set up to interact with the tool.
Arrow tool: This tool will shoot an arrow in the direction the player is currently facing which will travel for the configurable range number of tiles, or until it collides with either an impassable part of the map or an event. If it collides with an event, it will check and see if that event is interactable with the arrow, and if so, it will manipulate the self-switches of that event. It can move through otherwise impassable map tiles if they are painted with the passable region ID.
Bomb tool: This tool will set a bomb down at the player's current location which will explode after a certain amount of steps taken by the player. Events nearby that are hit by the explosion will be checked to determine if any of their self-switches should be manipulated.
Boomerang tool: This tool will shoot a boomerang in the direction the player is currently facing which will travel for the configurable range number of tiles, or until it collides with either an impassable part of the map or an event where it will then return to the player. It can move through otherwise impassable map tiles if they are painted with the passable region ID. When passing over an event, it will check if the event can be "picked up" by the boomerang as well as if the event should have its self-switches manipulated by the boomerang. The boomerang can pick up an unlimited number of events. Since the boomerang returns to the player, the player cannot move while this tool is active.
Hookshot tool: This tool will shoot a hookshot in the direction the player is currently facing, which will travel for the configurable range number of tiles, or until it collides with an impassable part of the map or an event. If the event it collides with is tagged as interactable with the hookshot tag, it will pull the player to the event rather than returning to the player. Since the hookshot returns to the player (or pulls the player to the hookshot), the player cannot move while this tool is active.
Interact tool: This tool will simply interact with the event(s) in front of the player. Something like a pickaxe or axe to cut through a stone or tree that might be blocking the player's path.
Lantern tool: This tool will show a [CGMZ] Light Effect around the player. When the player moves near an event that interacts with this tool, it will have its self switches turned ON. When the player moves away, the self switches will turn back off. You can use this to create hidden events, hidden floors over pits, and many other uses.
There is some eventing necessary to get these tools to interact with the correct events, so I have also included a demo project which shows one approach to making them function in dungeons. You don't have to do it how I do with self-switches, I just prefer that to avoid using global switches whenever possible. You can get image resources for the tools from the attached demo as well.
This plugin supports both keyboard and gamepad inputs to use and select the tools. You can also assign a key or gamepad button to cycle to the next tool without needing to open the select tool menu. Touch UI is also supported with a button to use, select, and cycle tools.
INTEGRATIONS
[CGMZ] Light Effects - To optionally show a light effect around the player while they use a lantern tool.
[CGMZ] Event Movement - To stun events with the arrow, boomerang, or hookshot tools.
[CGMZ] Scene Backgrounds - To customize the background image of the tool select scene, including scrolling backgrounds.
[CGMZ] Controls Window - To show a window that tells the player keyboard or gamepad controls for using the tool select window, based on their last input type.
Want additional features not already present/listed above? Make suggestions on the Patreon Post, this Itch.io page, or in my discord under the #suggestions channel!
PLEASE READ BEFORE PURCHASING:
Please be aware that you can access this as well as all of my other Alpha plugins for $5 on my Patreon: https://www.patreon.com/CasperGamingRPGM
This is posted to Itch.io since some people only use Itch and are not aware my Patreon and all of my beta/alpha plugins exist, or want to have everything in one convenient location (itch.io), or do not want to do a monthly subscription.
Casper Gaming's Beta/Alpha plugins are treated as an "early access" and will eventually be free for everyone once they are fully released, though this process can take months/years. By purchasing in beta/alpha, you are able to provide early feedback/suggestions which are more likely to make it into the final fully released plugin.
Please see terms of use here: Terms of Use
Requires CGMZ Core plugin: CGMZ Core
Happy RPG Making!
Updated | 18 days ago |
Status | In development |
Category | Tool |
Rating | Rated 5.0 out of 5 stars (1 total ratings) |
Author | Casper Gaming |
Made with | RPG Maker |
Tags | RPG Maker |
Average session | A few minutes |
Languages | English |
Inputs | Keyboard, Mouse, Gamepad (any), Touchscreen |
Links | Homepage, Community, Patreon, YouTube |
Purchase
In order to download this plugin you must purchase it at or above the minimum price of $5 USD. You will get access to the following files:
Development log
- Version Alpha R6 Release Notes66 days ago
- Version Alpha R5 Release NotesJul 27, 2024
- Version Alpha R4 Release NotesApr 25, 2024
- Version Alpha R3 Release NotesDec 23, 2023
- Alpha R2 UpdateJul 28, 2023
Comments
Log in with itch.io to leave a comment.
Hi! I was wondering if it was possible to call the use of a tool via a common event?
Yes you can use the plugin command Use Tool in your common event
Oh! I'm sorry I must be missing something, I don't see a "Use Tool" plugin command, do I have to find it somewhere else?
My goal is to make certain tools only accessible from skills that certain actors can learn.
Hi, you need to update it
Hi there. This looks AMAZING! Two quick questions before I buy:
1. I assume I can modify the images of the tools to something that suits my game (maybe a lasso instead of a hookshot)Hooksett?
2. Do you know if this is compatible with ABS systems?
Hi, yes you can set the images of the tools, you can also have different tools of the same type (if you wanted a normal arrow, fire arrow, and ice arrow, you could do that all with different images for the different arrows).
For your other question, I cannot say for sure if it is compatible with non-CGMZ plugins as I only test with CGMZ plugins in my test project. In general my plugins are highly compatible even with other large plugin libraries.
So, update: Apparently, I bought this when I first started learning the game developing process a couple of months back and completely forgot until I bought it again lol. Not even mad. You do amazing work and I'm beyond grateful for all the contributions you make to the RPG Maker community. Thanks for what you do!
Thanks for the extra support, I am glad you like it 😁
Quick question - Is there anything to carry over to my project besides the image folder and the plugin files? I copied over the settings verbatim and I can pull up the window to select the tools, but the tools themselves are grayed out and the button is unresponsive. It doesn't break the game, it just doesn't do anything. I scoured the demo to see if there were any kind of initialization events or anything and didn't see anything; just the discoverable plugin command on the chests (Excellent streamlined process, btw). I switched all of the other plugins in my project off to see if it was a conflict, but it behaved the same way, which makes me think I overlooked something that needed to be brought over.
Hi, if you are talking about copying settings from the demo, the demo is most likely out of date so depending on the settings you copied over you might need to load the parameters up for your tools and let any new defaults load.
If tools are not enabled, make sure you have turned tool access ON via the plugin command Change Tool Access.
Hello, so I tried everything I could with this plugin, it worked great, but one thing that has bothered me for quite some time now: Changing the buttons to use the tools, rotate and for the change window don't work. It doesn't change the buttons, it didn't work for me for gamepad buttons and after some testing I also noticed that it doesn't seem to work for keyboard.
I might just be missing something, but I feel like I have tried everything, If there isn't a quick solution I guess this is at least some kind of bug report, so you know.
Thank you for all your hard work.
Hi, I am a little confused when you say buttons and then bring up gamepad and keyboard input. Are you talking about the Touch UI buttons or keyboard or gamepad? As in, you press the (touch ui/gamepad/keyboard) button you have assigned to open the change tool window, and nothing happens?
Have you looked at the demo and encountered the same problem there? Otherwise, make sure you have used the Plugin Command called Change Tool Access and set to True to enable the dungeon tools. Alternatively, you can set the Disable Scene With Tools parameter to false if you want the player to always be able to open the change tool scene, even if tools are not currently enabled. Also if you have the keyboard key set to "A" (uppercase), it won't register if you just hit the key "a" without also hitting the shift key.
Okay, sorry that I wrote it so confusing, what I meant by "buttons" was the gamepad keys, they don't change no matter what I set them as. Moreover, they don't only not change on my end, but they don't work, it works on the keyboard, so I know the Plugin works, but it doesn't work on gamepad. Maybe it works for others, but on my end, the gamepad keys don't do what they should on their own.
I know that RPG Maker MZ has only partial controller support, but even with plugins that offer complete controller support, they don't work. The only thing that I could work out, was using a ButtonCommonEvents Plugin, that made the Dungeontools Change Scene work via Plugin Command.
My gamepad works fine everywhere else, so I am very confused on why it doesn't work. (It doesn't work in the demo as well, just tested it again.) and I am using an official Xbox One controller.
I am aware of the case sensitivity as well, I only set keys as lowercase. ("q" for example) The keyboard issues I had were quickly resolved and are no longer a problem! (pretty sure it was just another plugin causing problems)
Thank you for the quick response btw, aside from the gamepad issues this is a very good and well-made plugin!
Ah ok, yes if it is gamepad only then I believe the demo version of the plugin was before gamepad support was added, so it wouldn't work there.
I test using a 360, xbox one, and gamesir pc controller, and all of them work for me in my test project. Do you have the most updated version of CGMZ Core and Dungeon Tools?
Another thing to check would be other plugins that change how controllers work. I use my own gamepad input functions so those plugins most likely would not change how the button works in dungeon tools. Could you try a project with no other plugins besides CGMZ Core and Dungeon Tools and let me know if it works there? It could be some kind of conflict.
For additional troubleshooting, could you copy and paste this into the bottom of CGMZ Dungeon Tools on its own new line (don't overwrite any existing code), and then let me know what is printed to the console when you press a button on your gamepad?
It should look something like this after clicking on the arrow to expand what was logged:
The dungeon tools plugin will read that and look for the button that has "pressed: true" so the buttons array is what I am most interested in seeing.
Okay, so it doesn't work in the Demo, even with the updated Plugin, (and no other plugin around to obstruct it) nothing happens when pressing the Buttons assigned, which leads me to believe that it is incompatibility with the controller. (if anything)
I also added the code that you posted, I pasted it at the very end of the Dungeontools Plugin file, and I must be doing something wrong, if I type in nothing, the console doesn't give out information, (which I assume is normal) but if I type in "Gamepad" like in the second picture, it just says "native code" unfortunately nothing more than that, but I used the command that was added with the string that you posted, and it just says this:
I guess I must have done something wrong or misunderstood, not sure. I tried clicking the arrow and nothing happens in every case.
The plugin will automatically log the gamepad object with that code at the bottom of the dungeon tools plugin file, you don't need to type anything into the console. It will only log something when a gamepad button is being pressed, so to get the object into the console you just need to start the game up and use the controller while the console is open in the background.
Edit: If you want to test with the demo, you would also need to update the CGMZ Core plugin that comes with the demo.
Hey Casper, I purchased it, and it's great! Just was curious. I want to make a sword tool, and is it possible to play a slash animation? Or if not then run a common event to? Thanks for your time!
Hi, yes you could make a sword tool as an "Interact Tool" type, and then it will play an animation when you interact with an event that the sword can interact with.
I went through today and added gifs of the various tool types in action to this page. Could you let me know if the gif for "Interact Tool" is what you want? And if not, how it differs.
Hi Casper! Yeah I see the gif. I actually don't see the interact tool within the demo itself though unless I have an older file.
The way differs is if it's possible to always show the pick axe swinging - even if not next to event. Is that possible? That's okay if thats hard to do. the way above is close.
And also. Is there a way to use a button to quickly cycle through tools without going to menu? Just was checking on that too.
Thanks again Casper.
Hi, you need to use the plugin JS file from the zip file, not the one from the demo. My demos will usually have outdated versions of my plugins since the demos take a lot of effort/time to update and I generally only do it if I feel the update would be 1) difficult to figure out how to use or 2) a major change has been implemented to where the original demo would no longer provide a sufficient understanding of the basic usage of the plugin. Since the interact tool is set up just like the other tools and is quite simple, I figured it didn't warrant an update to the demo. Sorry for any confusion.
You can have it always show the animation regardless of whether it interacts with an event, it's a toggle in the interact tool settings.
There is no button to quickly cycle tools, I can add it to my to-do list for a future update though.
Ahh I see. Yeah that sounds good! Thanks again for your time and help. I will keep supporting your work! Thanks Casper.
Thanks for the support :) Feel free to comment back here if you do have any problems getting your Interact tool set up.