A downloadable RPG Maker Plugin

Buy Now$8.00 USD or more


This plugin enhances some event commands, letting you call them and set their arguments in a dynamic way, either by variables or formulas.

For example, the default event command for giving items, weapons, and armor lets you dynamically set the number of items received with a variable. 

But it does not let you dynamically customize the item you are giving.

Instead, if you want to give an item dynamically you have to create several conditional branches or use a script call.

But with this plugin, you can set an item/weapon/armor dynamically using a variable or formula. And also give different items with one command.

You can also change the formation on the map, change the name of an actor using variables or formulas, and much more!


Current Enhanced Commands:

  • Change Item
  • Change Weapon
  • Change Armor
  • Change Party Member
  • Change State
  • Change Skill
  • Change Equipment
  • Change Name
  • Change Class
  •  Change Nickname
  • Change Profile
  • Change Actor Images

● New Commands:

  • Change Party Formation on Map

How To use / Help File

Terms of use

Sample Project

Rated 5.0 out of 5 stars
(2 total ratings)
AuthorHakuen Studio
Made withRPG Maker
Tagseliaquim, hakuen-studio, qol-of-life, quality-of-life, rmmv, rmmz, RPG Maker, RPG Maker MV, RPG Maker MZ, rpg-maker-plugin
Average sessionA few seconds


Buy Now$8.00 USD or more

In order to download this RPG Maker Plugin you must purchase it at or above the minimum price of $8 USD. You will get access to the following files:

MZ - QOL Commands_1 - 2.2.1 4 kB

Development log


Log in with itch.io to leave a comment.


Doesn't the "--" range operator used in 'QOL Commands 2"' apply to 'QOL Commands 1'?

I'm asking because I run plug-in commands such as Change Item, Weapon, Armor, etc., but the range operator doesn't work.

As you know, it would be really convenient if you could range it with a plug-in command when creating an event that deducts all the items that a user has by a certain number. (ex: 1--999)

Can you confirm this issue?

And I need a command to save the ID of the equipment that the actor is currently wearing as a variable. (Specify the equipment type/slot and store the corresponding equipment ID in the variable.)

This command is useful in conjunction with the Change Weapon, Armor commands to accurately remove whatever equipment the actor is currently wearing.

If you could add this command to the plug-in, I'd like to donate a small amount of money for you. You deserve it. Alternatively, you can include this feature in the 'QOL Commands 3' Plugin. Either way, I'll pay for it.

Thank You.

Hi there!

The range operator was supposed to work on both plugins. I will take a look into it! But please, send a screenshot of what you did so I can take a look too. ^^

I will add the variable command! It sounds really useful indeed!

I made a simple event for the test. If this command is followed, all items should be deducted by one, but there was no response. I replaced the Item ID with a normal number or variable, so it worked fine.

Thank you so much for accepting feedback! When this is done, I will definitely send a donation from this plugin page. TY!

Thanks for the screenshot! I will let you know when I have done it!


Thank you! I'm looking forward to it. I sent some donations to your sample project post. I hope this helps you. :)

Hello :)

I respect your time and work, so I don't want to rush you, but I want to know what the progress is. Can I use the necessary functions within this month?

Thank you!

Hi there!

I already manage to fix it. But still didn't have the time to do it. I'm too busy with something else. I will let you know when I upload it. But yes, this month for sure!

oh, can you fix it? thank you! :D


Thanks for the feedback!

(2 edits)

Hello! QoL Plugin 1 and 2 are very useful. I would like you to provide more QoL Plugins, but it's okay right now. Rather, I have a question about the 'Change Item' function. I can get an item, but I don't know how to lose it. How do I set the parameters to lose the item? Thank you!

Hi there!

I'm glad you like it! ^^

To lose an item, you just need to set a negative number on the amount argument. Like -1. This will make the party lose 1 item.

Thank you for your answer, but I'm also an experienced RPG Maker. Of course, I thought I would lose one if I typed '-1', but when I actually tried it, I didn't. It's supposed to be normal. I've already completed the event in a passive way, but I'll try again if I have another chance to use it. Thank you.

Indeed! I did the test here and it is a bug!

Thanks for the feedback! Will fix it soon enough! ^^

Using this plugin, would it be possible to set a range of variables to  equal the values of another range of variables?

As in,

"Set Variables[10-20] = Variables[50-60]"??

Because I've run into a small issue in my project where during my quest generation frame work, I have a common event randomly generate the information of a quest (Item ID, Item Amount, Reward Amount, DIfficulty Level, Days to Complete, etc) in the form of 20 variables.

Those values are initially generated into my 'TempQuest Info variables", but immediatly after I need to make a Common Event to move those values into a more permanent location, such as "Quest Info Variables A", or "Quest Info Variables C"

This is what I've been using (ironically learned from a forumpost you helpfully commented on ;D)

const d = $gameVariables._data;

[d[1221], d[1222], d[1223], d[1224], d[1225], d[1226], d[1227], d[1228], d[1229], d[1230], d[1231], d[1232], d[1233], d[1234], d[1235], d[1236], d[1237], d[1238], d[1239], d[1240]]

= [d[1201], d[1202], d[1203], d[1204], d[1205], d[1206], d[1207], d[1208], d[1209], d[1210], d[1211], d[1212], d[1213], d[1214], d[1215], d[1216], d[1217], d[1218], d[1219], d[1220]];

^This scriptcall sets all the variables from my TempOrderInfo, into my OrderInfoA.

The Player has many possible quest slots so you can imagine why I'm dreading repeating this for OrderInfoB, OrderInfoC, all the way down to OrderInfoJ. T-T

(1 edit)

Hi there!

Not with this plugin. But maybe I have a better solution for you.

Add the following on any text file, and save with the extension .js, with any name you want.

@target MZ

function equalsVarRange(tempVarStartId, questVarStartId, range){
    for(let i = 0; i < range; i++){
        const tempVarId = tempVarStartId + i
        const questVarId = questVarStartId + i
        $gameVariables._data[questVarId] = $gameVariables._data[tempVarId]

After that, insert it as a plugin on your project.

So, after you set your temp quest variables, you can now use a script call:

  • equalsVarRange(tempVarStartId, questVarStartId, range)

There are 3 parameters on the script call above that you will need to replace with something. Let's take the example you showed, so I can teach you how you will replace them:

  • Set Variables[10-20] = Variables[50-60]
  • So, variables 10 to 20, are the quest variables.
  • Variables 50 to 60, are the temp variables.
  • As you can see, you have a range of 10 variables.

So, now you would replace them like that:

  • tempVarStartId = 50 (The start Id of the temp variables)
  • questVarStartId = 10 (The start Id of the quest variables)
  • range = 10

The script would need to look like this:

  • equalsVarRange(50, 10, 10)

If you don't know how to add that into your project as a plugin, you can use a script call and replace the parameters directly:

    for(let i = 0; i < range; i++){
        const tempVarId = tempVarStartId + I
        const questVarId = questVarStartId + I
        $gameVariables._data[questVarId] = $gameVariables._data[tempVarId]


Oh my gosh, such a swift reply and you made it look so effortless!!

I knew there was a way to type it using the const thing, but I just couldn't grasp anything close to that :P

I was surprised to find that there was an event command for setting a range of var to 1 variable, but not a range to another range!

Both the plugin+scriptcall, and the scriptcall by itself work flawlessly, and I'm really quite stoked to be able to continue on with the Quest frame work!

A small heads up though, it turns out the simple scriptcall wouldn't actually work, and it took some experimenting to figure out that while lowercase/uppercase typically doesn't seem to matter in these codes, It seemed both 'i' being capitalized stoped the scriptcall from working.  So switching them to lowercase did the trick!!

Again, thank you so much Hakuen, you really know your stuff and hopefully in the next week I'll be buying some others of your plugins (and possibly still this one too -that 'remove item from inventory based on variable' looks reaaaally useful for handing over the randomized quest items xD)

The I on uppercase was my bad, but you manage to solve ^^

I'm glad I could help! ^^

Happy RPG Making!