A downloadable RPG Maker Plugin

Download NowName your own price

Want to support me?


If you ever felt that you need more than 8 parameters, that the default 
parameters are not enough, so that is your chance!
This plugin lets you add as many new parameters as you want!


  • Add new custom parameters to actors and enemies!
  • Manipulate these parameters with note tags and script calls!
  • Add buffs, debuffs, and grow effect to these parameters!

How to use


Go to the plugin parameter "New parameters" and add as many parameters as you want.

  • ShortName → This will be the one that you will use to reference script calls and note tags.
  • FullName → This will be the full name of the parameters. That can appear on battle log etc.
  • HP/MP/TP type → That will decide if the parameter will work like HP/MP/TP.

After that, you can choose the buff and Debuff icon range for these parameters.

They work exactly like the default ones. They will get an icon in the icon sheet and will follow a range.
With the exception that the range must follow how many custom parameters you have added.
The default works like that:
You have 8 default parameters: hp, mp, atk... etc.
The buff icons for these parameters go from the icon index 32 to 48.
This means the index 32 will be the Hp Buff level 1,
33 Hp buff level 2. And so on.

The same for Debuff, which takes the icon index 48 to 62.

  • 48 Hp Debuff level 1
  • 49 Hp Debuff level 2. 

So you have to follow the same logic for the Buff and Debuff icon for these new parameters.


You can use the following note tags on the item and skill note fields to add effects to the new parameters:

  • <AddCBuff: paramId/shortName:turns >
  • <RemoveCBuff: paramId/shortName >
  • <AddCDebuff: paramId/shortName:turns >
  • <RemoveCDebuff: paramId/shortName >
  • <GrowC:paramId/shortName:value >

If you want to add more than one parameter, separate each one with a comma ",".
To add new parameter changes for the equipment and class, you can use the following note tag on the weapon, armor, or class note fields:

<cparams: paramId/shortName:value, paramId/shortName:value>


You can either use the paramId or the shortName of the new parameters. 
The id will start at 0. This means that the new parameter id 0 will be the first one you have created.
<cparams: crm:23, 1:37> → Will add 23 to the crm parameter, and 37 for the new parameter id 1.

Optionally, you can also use the plugin parameter templates for that:

  • <CParams: TemplateName>

For both ways, if you don't set a specific parameter, it will be equal to 0.

         ***ATTENTION! All notes are case sensitive!***


You can use them with actors or enemies:
$gameActors.actor(ID).[script call]
$gameParty.members()[index].[script call]
$gameTroop.members()[index].[script call]

.addCParam(paramId, value)


  • $gameParty.members()[0].cparam(0) → Will return the value of the first Custom Parameter.

You can also reference them using the object name directly, which is the short name:

  • $gameParty.members()[0].crm → Will return the crm(charm) value

For those parameters that work like HP/MP/TP, you will reference the current value of them with the script calls above.

But to get the max value, you can use the prefix "max" before the shortname:

  • $gameParty.members()[0].maxlp → Will return the max lp value

To change parameter value, like changing the hp and not the mhp, you can use the following:

  • $gameParty.members()[0].changeCustomHpParam(paramId/shortName, value)

To set a value, you can use the below:

  • $gameParty.members()[0].setCustomHpParam(paramId/shortName, value)

NOTE¹: The recover all event command will also recover the custom parameters that are HP-like.
NOTE²: If you are using MZ, you can use the plugin commands.

Update Log

Terms of use 5.0.0 and higher

Terms of use(Old)

Rated 5.0 out of 5 stars
(2 total ratings)
AuthorHakuen Studio
Made withRPG Maker
Tagseliaquim, hakuen-studio, plugin, rmmv, rmmz, RPG Maker


Download NowName your own price

Click download now to get access to the following files:

MZ - Custom Parameters 5.0.1 7 kB
MV - Custom Parameters 5.0.1 7 kB
MZ - Custom Parameters 2.0.0 8 kB
MV - Custom Parameters 1.2.1 6 kB

Development log


Log in with itch.io to leave a comment.

im looking for a way to give my players control over how stats improve each level is there a stat allocation plugin that works with this one?

Hi there!

I don't know about any stat allocation plugin. If you find it, you will have to test it to see if works.

But, I do have a plugin, that gives you more control over all the parameters. You may be able to find workarounds to do what you want to do with the class curve plugin: https://hakuenstudio.itch.io/eli-class-curve-for-rpg-maker

But you will have to understand how it works first.

I actually am working on a work around useing a post battle common event plugin that will allow me to detect level ups and give my players choice on stats


Have fun :)

I can't get the shortName to work at all. Should it be a certain length of characters? Does it need to be uncapitalized?

Hi there!

By default, they are case-sensitive. Meaning the same way you set the short name you need to use that to reference them inside the game:

As you can see above, there is a new Custom Parameter called Fire Magic and its short name is "FiRe".

Meaning that if you want to reference it inside the game you need to write the short name with the same capitalization of the letters:

  • $gameActors.actor(ID).FiRe
  • $gameParty.members()[Index].FiRe

But can you tell me exactly what you are trying to do, and where you are trying to use the short name?

I'm using the short name of MSXP and I've written the same way in the numerous places, but couldn't get it to work that way at all. For instance, $gameParty.members()[0].MSXP wouldn't return the value, but $gameParty.members()[0].cparam(3) would. I also used a.MSXP + a.atk * 4 - b.def * 2 in my damage formula but I get the same amount of damage every time. I had this in the note tag for a skill and it didn't work:

<JS Post-Apply>


</JS Post-Apply>

But using 3 instead works.

Can you show to me a screenshot of your custom parameter configuration, just like I did in my previous comment?

For this work user.addCParam(MSXP,1) you need to set the shortName in quotes:

  • user.addCParam("MSXP",1);

Besides that, the $gameParty.members()[0].MSXP should work. Which lead me to think that maybe it is a compatibility issue.

Can you provide me a sample project replicating the error so I can take a look?

Here's the screenshot.

Yeah, it seems fine to me.

In that case, I will really need a sample project replicating the error, so I can try to find what is wrong and if it is a compatibility issue.

You can upload it on google drive, dropbox, etc.

Can send it through here or discord: Hakuen Studio#5661

Sorry for bothering you with this weird question, but do you know how to display the custom stat in the game? I created 4 more stats and don't know how to make them appear in-game.

Hi there!

You will need a plugin for that. My plugin currently does not do that visual stuff. Only implements the custom parameter functionality.

I'm sorry if this comes off as a dumb question, but when decreasing a custom parameter that's like HP/MP/TP, do I do it like this: 

  • $gameParty.members()[1].changeCustomHpParam(pwr, -2)

Also, what's the difference in application between $gameActors.actor(ID) and $gameParty.members()[index]? 


Hi there!

Yes, you need to use that to change the HP/MP/TP parameters. But if you choose to use the short name instead of the parameter id, you need to use quotes, like this:

  • $gameParty.members()[1].changeCustomHpParam("pwr", -2)

The difference between the two script calls you ask for is that using the actor one, you will target the actor by its ID property, as set on the database.

But using the member one, you will target the actor by its index position on your party. So:

Index 0 = First member on the party.

Index 1 = Second member of the party. and so on.

I have a question - Is there a way to add custom parameters to an actor with a notetag, or do I need to use necessarily a plugin command/script call?

Hi there!

To add, meaning increase, decrease, or change the parameters of an actor, you will need to use the script calls and plugin commands.

But you can also change them with equipment.

Or even with items:

But for more dynamic stuff, like increasing by level up, you can use this plugin:


(1 edit)

Thank you! I have another question: how can I set an actor to use custom parameters? Do I need to use events for that? Or can I just use notetags? I tried changing my actor's parameters, but every time, the value was equal to zero, so I thought that I must have done something wrong when setting up the custom parameters.

Hi there!

I don't know if I understand. But to use the plugin you need to build the following:

1 - On Plugin Parameters > New Parameters: Here you will create the custom parameters for your game.

2 - Plugin Parameters > Templates: Here you will build the custom parameters configurations to be applied to the data objects: Weapons, Armors, Classes, Actors, etc.

3 - Get the template name created on 2 and assign it to a note tag on the data object of your choice:

4 - Alternatively, you can skip steps 2 and 3 and just insert the plugin parameter note tag:

So that are two ways of setting custom parameters to an actor.

Now to use them in-game, it all depends on you. You can reference them in damage formulas by using their short name or script calls etc.

If you want to change parameters, inside the game, you can use the plugin commands/ script calls that are on the help file. Did you not find them?

Show me the event you are using to change the custom parameters.

(2 edits)

I am trying to use the commands you showed me, but for some reason, the parameters remain stuck on 0, as if I did nothing. I was planning to use an event that checks how much of a certain parameter you have, and if that value is higher than an arbitrary value I give, it would perform something.

Am I doing something wrong?

I have followed the steps and set the parameters I wanted to use in a notetag on my actor, but for some reason, the value is always set at 0.

Yes, you are doing something wrong.

This is script call is not setting any value to a parameter. What you are doing here is just CHECKING if the Custom Parameter ID 1 is higher than 0. (Also, a side note, don't do "$gameActors.actor(01)", do instead "$gameActors.actor(1)").

So what you need to do now is SET a value for the actor custom parameter 1.

And as stated before, you can set a value via script calls, plugin commands, or note tags.

if you already did that, show me a screenshot of your event using the plugin command or script call, or your note tag, etc.

I may be missing something really simple but ... is there an easy way to have a state/item buff or debuff a value by a certain amount (either set amount or by an equation)? 

For example a state that reduces 'wis' by 4.

Or a state that would buff your attack value by 1/4 your 'str' and 1/4 your 'int'

Hi there!

See the " Note Tags" help section on the plugin file. You can add Buff, Debuff, and Growth Effects to the Custom parameters on the note fields of items and skills. They will work the same way as with the default parameters.

  • <AddCBuff: paramId/shortName:turns >
  • <RemoveCBuff: paramId/shortName >
  • <AddCDebuff: paramId/shortName:turns >
  • <RemoveCDebuff: paramId/shortName >
  • <GrowC:paramId/shortName:value >

You can also add changes to the Custom Parameters using the Equip. Class, and Enemy note fields:

<CParams:paramId/shortName:value, paramId/shortName:value>

For more complex stuff, you can use my other plugin Eli Dynamic Parameters:


Then you can create a template on the plugin parameters and apply that template to States, Weapons, and Armor note fields.

<DynParams: TemplateName>

Well the straight AddCBuff and debuff commands don't fit with what I've been trying to do ... but I think a chunk of what's causing me problems is that I'm using this in conjunction with the VS plugins and for some reason the base creation of stats and the leveling curves and the like work with it but ... I can't seem to get any of the other notetags for buffs, debuffs, or the dynamic parameters to ever actually apply.

Well, this maybe can be the problem. The best way to know for sure if it is a compatibility issue, is if you create a blank project, only with my plugins, then you try to use them.

If they work, then it's a compatibility issue.  If they did not work on the blank project, send me a screenshot of your plugin manager and also how you set the note tags.

You can also try switching my plugins to another position on the plugin manager to see if they will work on the project you also have the visu installed. Otherwise,  there is not much I can do because their code is obfuscated.

(2 edits)

This looks like an excellent plugin, but I keep getting the error "Cannot read property 'createParameters' of undefined." This is in a new project with no other plugins, and I made no changes to the plugin's default settings.

EDIT: I didn't realize it required another plugin to work, lol! The plugin works great, but would it be possible to make it compatible with VisueMZ Element Status Core so that you can add the new parameters into the status menu? When I try to add them in to the settings that determine which parameters shown, it only enters a blank space.

Hi there!

Thanks for using it! Sorry about the error, I forgot to add a warning on the plugin telling the user that he needs my core plugins.

Could you please edit this page to include that? I wasted 2.5 hours trying to get this plugin to work before I saw this comment


So sorry! I see that I didn't add the warning on the MV plugin version, only on MZ. 

Will do it for sure!

Awesome, thank you a ton!

(1 edit) (+1)

Hi! I'm also trying to achieve this... I created a new custom param (Magical Hit rate - shortname: mhit) with this plugin and I'm trying to create a bridge Custom parameter in the VisuStella CoreEngine, with the JS: user.cparamBase(0). And then, I plug this in the Status menu window with the VisuStella ElementStatusCore.

It doesn't crash... but it only shows 0 for my new custom parameter... What may I be doing wrong?

EDIT: I should be using user.cparamBase(0) to obtain the flat property! Now is working like a charm, showing in stats menu with VisuStella plugin!

Is there a method to set the cparam to a specific number? Like I have it currently at 6 but I want to set it to 10 without adding 4. Like .cparamSet(paramId, value)

Hi there!

For MV and MZ you can use the script calls:

To set a value, you can use the below:

  • ACTOR.setCustomHpParam(paramId/shortName, value)

You can do the same for the custom parameters that are not hp/mp/tp type:

  • ACTOR.setCustomParam(paramId/shortName, value)

This one, instead of adding or removing a value, will set a value for the custom parameter.

Replace ACTOR with $gameActors.actor(id) or $gameParty.members()[INDEX] etc...

For MZ, it seems I forgot to put that on the plugin command. WIll do it on the next update!

Thank you, I saw the HP type version but not the other. 

Can values be non-numeric values? Like can I have a parameter be a list of strings?

Hi there!

No. Parameters can only be numbers.

Do you know if there is an easy way to use a custom 'ToHit' (lets call it id 0) parameter and 'dodge' (id 1) parameter for accuracy? 

so something like % chance to hit = user.cparam(0) - target.cparam(1)

Or would I have to go deep and change the core files?

Hi there!

With the custom parameter plugin, you can build as many custom parameters as you want. But, by default, it is up to you how you use them.

Thinking about this limitation, I build other plugins to help with that:
Eli Dynamic Parameters- I think this one can help you use the custom parameters to affect the default parameters that are responsible for the HIT and Accuracy. 


I actually use that one as well, I will do some more research into it. I am just a dev and being given requirements for a game, the 'client' wants a lot of special things so its a matter of what can I do to get them. Your plugins are great by the way, thank you for all your work on them!

Nice! Good luck then! ^^

As a note, this is possible through changing the core file rmmz_objects (or making a plugin to change the core file) in two places. Game_Action.prototype.itemHit and Game_Action.prototype.itemEva. itemHit is used for accuracy and you can define different hit types as different parameters (I have different accuracy for melee, ranged, and magic) and itemEva is used for dodge and you can have multiple based on the hit type. 

Nice! ^^

(1 edit) (+1)

hi, thanks for making this i use it a ton

is there a way for adding note tags to let states affect the CParams? like, for say, a poisoned state reducing a CParam "vitality" by 5

Hi there!
Yes you can, but you must use Eli Dynamic Parameters for that. :)

I see a lot of stuff for increasing, buffing and debuffing the params, but how do we add actual effects to the param? For the P types, how do we set the color of the guage?

Hi there!
When you mean add effects, you mean like add +3 to a custom parameter for example:

  • <GrowC:paramId/shortName:value >

Unfortunately, this plugin does not cover the visual part. Maybe I will do it someday. But I'm pretty sure you can add it with plugins that can add gauges, like the Ultra Hud Maker or Galv Gauge variables. Because my plugin delivers to you a current and max value.

What about having effects such as a third type of evasion, or anything like that?

Yes, you can make that. You can create any Custom Parameter you like.

And use them whenever you want: Script calls, damage formula, put them into variables, etc...
You just have to create it and choose when and how you will use it.

You can combine this plugin withDynamic Parameters, and change the evasion parameter according to a value set on a custom parameter for example.

Is there a way to use these custom parameters in conditional branch event commands?

Hi there!

Yes, you can. It's only a matter of use the script call 




Replace customParameterId with the id of the desired custom parameter.