Comments

Log in with itch.io to leave a comment.

I tried setting the max weight of an actor to reflect stats rather than a simple value, and, max weight in return, becomes 'NaN'.
Formula:
<maxWeight:((this.dex/3)*(this.level+1))+12>
(I have 'dex' set up as a custom stat as a parallel to 'def'.)
Just curious if I have to set this up a different way.

(+1)

Hi there,

Thanks for your interest in my work! The note tag only accepts simple number values. So this won't work. NaN, stands for Not a Number because that's what the note tag value was expecting.

Yes, I know what 'NaN' means. Just glad that's all it does is return that instead of crashing.
So, I can't even plug in a variable?
Hm. This definitely throws a wrench into things... Ah, well...

(3 edits)

Also is there any way to create temrorary unique loot chest ID? At the moment it seems like I have to create multiple ID's of loot chest, otherwise loot will be stacked in every of the same container ID. Seems like atm I can't reuse ID X containter.

What I mean:

I'm doing random loot containers, once player interacts with the chest for the first time, there's a line of items being randomly added to container ID X.
Once items are added, chest switches to A page, where I put "Open Storage Container ID X" with the "generated" items inside. However, every next same ID opened chest will summarise items which were "generated" in previous container, stacking infinitely. 

Is there any way to get rid of that issue without having to manually add dozens of container's IDs in plugin manager? 

Adding possibility which allows to set temporal random loot ID container and add random items before opening.

Some tips which could be helpful:
Creating a method to generate unique container ID:

Game_Containers.prototype.createTemporaryContainer = function(name, maxStorage, storageIconId) {

    const tempId = this._containers.length + 1; // Generate a new ID

    this.createContainer(name, maxStorage, storageIconId, false);

    return tempId;

};

Modifying 'openContainer' function:

Game_Containers.prototype.openContainer = function(id, isTemporary) {

    if (isTemporary) {

        // Create a temporary container with random items

        const tempId = this.createTemporaryContainer('Temporary Container', 100, 210); // Example values

        this.populateTemporaryContainer(tempId);

        id = tempId;

    }

    this.tempId = id;

    this.currentMaxAmount = this._containers[id - 1].maxStorage;

    SceneManager.push(Scene_Container);

};

Adding a method to populate the temporary container with items

Game_Containers.prototype.populateTemporaryContainer = function(containerId) {

    const randomItems = this.getRandomItems(); // Implement this function to return an array of random items

    for (const item of randomItems) {

        this.depositItem(containerId - 1, item.id, item.amount, item.name, item.iconIndex, item.etypeId, item.description, item.itemWeight, item.itypeId, item.categories, item.meta);

    }

};

Game_Containers.prototype.getRandomItems = function() {

    // Implement dev's logic to generate random items

    // This is just an example

    return [

        { id: 1, amount: 1, name: 'Potion', iconIndex: 16, etypeId: undefined, description: 'Restores HP', itemWeight: 1, itypeId: 1, categories: ['item'], meta: {} },

        // Add more items as needed

    ];

};

etc

Thanks!

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

Great plugin, but currently it strongly lack of buttons like "deposit all" and "withdraw all", or even better "withdraw X", where X is an item category

Is there be any way to call the value of both current carry weight and max carry weight? While I agree with the previous post where inventory could be infinite and states for varying percentages, a lot of that could be accomplished on the user side of the plugin if those 2 values could be called and checked

(1 edit)

Hi there,

There's a couple ways to do this depending on what inventory type you are using for your game.

For Slot Type Inventory:

$gameContainers.getCurrentPartySlotsWeight() - Returns current weight.

$gameContainers._inventoryMaxWeight - Returns max weight.

For Weight Type Inventory:

$gameContainers.getCurrentPartyInventoryWeight() - Returns current weight.

$gameContainers._inventoryMaxWeight - Returns max weight.

would it be possible to add to your plugin so that instead of limiting inventory or slot space, inventory can still be infinite but when overweight by certain thresholds there is a penalty to the party? for example ...10% overweight = deduction % of parameters. 25% overweight = something else... etc. I use custom parameters though so would be asking to be able to modify with js. 

This is not a feature at the present time but I will consider adding this in a future update, thanks.

would be happy to donate towards its development as its something id like to plug into my game. if theres a way to get ahold of you privately please let me know

(1 edit)

You can email support@dmplugins.com with your query and I'll get back to you as soon as I can.

Two quick questions: Can I disable dropping items globally? And can I set the weight of an equipped item to be zero when equipped?

(2 edits)

1. You can't disable it globally, but you could place the <undroppable> note tag on all items in the database, but I realize that's not really the answer you're looking for. You probably want to disable the whole drop command window all together, right?

2. You can't make it 0 when equipped, but you could potentially grant bonus weight with the <equipWeight:+value> note tag. I could look into possibly adding this feature for you, though. How about an actor note tag like <equipWeightReduction:value>? This would subtract the value from the equipment item's current weight only when equipped.

I try to always be available to help with people's projects, but I'll admit it. I do get quite busy developing more plugins for the community and working on my own game. Others have commissioned me directly to get new features like this done quicker. I could also do it relatively cheaply if it were non-exclusive rights because I'd be allowed to share it with the community too. It's just something to consider in case I take too long for you. I'll just leave my email down below in case you are interested.

support@dmplugins.com

(5 edits)

Hello and thanks for this plugin i was looking for ! First of all, i want to know something, i dit some test with max at 10 in settings and i add items... so now my inventory is 20/10 and i still can add items, like no limit... no message... no stop... maybe i did someting wrond... i don't know... (for info i hav visuMZ itemequip and did not touch there)



is it a way to stop the add of items or simply the player cant move with a message "you are carrying to much stuff"...?

and is it possible to add the possibility to change all text ? because everything is displayed in english and i want to translate it... i know i can directly edit the .js but... 

(1 edit)

Hello and thanks for your interest in my plugin. You have to check if the player has space in the inventory before giving the item in a conditional script call using :

$gameContainers.checkPartyHaveSpaceForItem(itemId, amount);

The plugin does prevent the player from taking items from containers when they have no space. When you give items manually you should use the script call.

(2 edits)

thanks for you reply ^^ 

if it is an object givent by a npc i do the same ...?

cause i did the conditional script and it doesnt work...


I just tested it and it does indeed work.


well, can you please tell me what to change in my event... i'm not that fluent with english, i think there is something i did not understand in how to do it... :(

Deleted 360 days ago
(1 edit)

Hello there! Thanks for your keen interest in my plugins. You can always email me at support@dmplugins.com with the features you're looking for and I would be glad to take a look.

Deleted 360 days ago
(1 edit)

I have recently tried to send you a reply through email twice and my email keeps getting rejected. Maybe, you can try contacting your email provider to see what's going on.

Deleted 360 days ago

Done.

(1 edit)

Is there an RPG Maker MV version?

(1 edit)

Not at the present time, I'm sorry. If I see a lot of interest in an MV version, I might consider porting it to MV.

Fantastic plugin! Gives a lot of control over how to set up inventory and storage features. Dev is also very helpful and responsive in helping with any issues and adding new features. I highly recommend! Thanks Dungeonmind! :)

-Olly