Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(8 edits) (+1)

Hi there,

Thanks for your interest in my plugin. This plugin is a tool that was created to extend the functionality of the RPG Maker MZ engine and help you make your game. It's not meant to do all the hard work for you. You can already create advanced random chests using the available plugin commands and script calls available to you in combination with the game engine's eventing system.

For example:

You can create a new loot container and use the same ID if you want to. Just use the built-in game event conditional branches and call a random variable before opening the chest to add random loot to the container. If you want to reuse the same container later, you can. Simply design a common event that eliminates every item from the "Random Loot Container" sequentially using the available plugin commands, and then initiate it prior to the opening of a fresh random chest to replenish the container with additional random items.

I'll even give you a quick script call that can erase all current items in a container instead of you having to use a plugin command to remove each item in the database one by one.

$gameContainers._containers[id-1].itemArray = [];

Replace 'id' with the number matching your container id defined in the plugin parameters.

This should solve your issue for wanting to use the same loot container over and over again with new random loot. Good luck with your game and feel free to ask for more help if you want by contacting me through my support email at:

support@dmplugins.com

Happy RPG Making!

(1 edit)

Hey!

Thank you very much for quick response. That seems useful!

However, with the current approach I see a different issues:
- Player enters a dungeon, which is a single large map (100x50)
- The dungeon contains 2 containers with ID 1
- Player opens the first container and gotcha - there's a legendary sword! But player doesn't have slots for the sword so he decides to find his way out of dungeon to sell some of his items in a shop.
- As player approaches to the exit, player encounters another one container with ID 1 - he opens it, loots some light weight misc stuff from it, and gets out of dungeon.
- After he sell some stuff making some room for the legendary sword, he comes back to the very first chest he encountered and... boom! There's no legendary sword.

Thats a major issue. With such approach it looks like I have to create dozens of container ID's per loot tier so I could place them in a dungeon which significantly hardens the QoL for the developer. 

(3 edits) (+1)

Hi Rawrr,

I answered this in your support request, but I'm just going to paste the event work I did for you here just in case someone else finds it useful.

You can copy and paste your 'Loot Container' very easily in the plugin parameters, which takes less than 5 seconds per container. Use keyboard shortcuts to make this even quicker.

Next, you can create a common event that includes all of your potential random loot. Then, every time you add a container to your dungeon, you can just change one variable before calling your random loot common event for each container event to add random loot to the container. Then use a self switch to make the container keep its random loot indefinitely. It literally takes seconds to add multiple random loot containers this way.



Obviously, if you are calling a common event like this, you would remove the 'container_id' variable event command and place it in each container instead, and then call the common event that contains all of your possible random loot that can be deposited for your 'Randomized Loot Container'. You would, of course, have to spend some time creating all your possible random loot, but after it's done once, it never has to be done again.

It also should be quite simple to add more random loot to the common event later, when you have created more items, weapons, or armour for your game, by just adding another conditional branch and incrementing the randomize variable by 1.