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

Heya, noob question, but how do I get this to work? I've tried to get my parameter initialized, but I can't seem to set a value to it. What am I missing? I'm wanting the stat to remain static throughout the game if that info is of any help.

Hi there!

1 - maxgut will only work for custom params that are Hp Type. It seems that yours is not.

2 - on the script call "gut" must be around quotes.

3 - You can also set custom parameter values by using note tags. Check help file.

Hope it helps!

hello, I’ve read through the help section of the plugin and I can’t seem to find what notetag will set the stat. I can’t quite understand what the help section says about setting the parameter value (Not trying to say that it’s your fault, I just have trouble with parsing what some things mean). What notetag do I use to set it? Also, I forgot to ask, but are the custom parameters able to be used for plugins? 

Here on the itch io page, there are screenshots of the note tags and also explanation about it.

But as I said before, you can also use the script calls like you did. Just put the parameter name around qoutes on the script call.

It depends on what did you mean by using in another plugins. My plugin implement custom parameters. The actors will have custom parameters. 

Now to use this in another plugin, depends on a lot of factors. But I need to know exactly what you mean.


Hello, I’m wanting to use your plugin in conjunction with MythAtelier’s Odometer Gauge plugin. The plugin uses Luck for its calculations in how fast the HP decreases, but I’m wanting to use your plugin instead of Luck. Also I got the parameter to work, thanks.


Nice you managed to make it work :)

Now, about the MythAtelier plugin, you probably need to find where the plugin specifies that LUK is used for calculations and replace with a custom parameter. The thing is, even if there is a plugin parameter that you could change, this probably needs to be adjusted on the plugin code too. And since it is a paid plugin, I can do nothing on my side.

You can try talking to the developer, by opening a thread there and requesting compatibility. My plugin is free and the code is open, so he/she can take a look (or talk to me) so we can make a compatibility.

I'm a bit confused about the growth function. Does this determine how the stats grow with each level or is it just a hard increase, and if it's the later, is there a way to set the new parameters with each level?

The growth on the custom parameter plugin is the same effect that Item has on the database. Below the item will have an effect to increase + 10 on the max hp.

For the custom parameter, you can add the note tag set on the help file also to increase their values.

With only the custom parameter plugin, you can increase their values with script calls and plugin commands or equipment. So if you change the level, use the script/plugin commands provided in the help file.

Another way to make them increase on each level is using the Class Curves plugin.

I have an issue, I am using SRD HUDMaker and I can't display a gauge for my custom parameter, says the current and max values are undefined.


I need more info. Show me how you are doing this.

I created a new parameter knowned as "Lust", which I intended for it to act like a HP/MP/TP type.

My overall goal was to have this gauge appear using SRD HUDMaker, but it would not be displayed, prompting an undefined current and max value it says.

Below is script I wrote in the notetags for one of my characters

If you press F8/F12 a browser window will open. Go to the CONSOLE tab, and see if there is any error. Something was written in red. If yes, send me a screenshot.

If not, try type there the following: $gameParty.leader().lus

And see if it will return a value. If not, I guess I will need a sample project from you to check what is happening.

Went to console and found this

This error means you are not using my core plugin, Eli Book. It must be installed somewhere above all other Eli Plugins. Without it, the plugin is not being able to parse the plugin parameters, and because of that, it is not working at all.

Hi I'm using your plugin for a hunger system but i don't understand how to link CustomHP to actors/party members or does the custom stat are already integrated in via the plugin being ON?

Hi there!

The Custom Hp parameters are linked to the actors the same way any other custom parameter is linked.

And of course, the plugin must be ON on the plugin manager, otherwise it will not work.

Just create the configuration you need on the plugin parameters and attach the configuration name/id into the actor note tag.

You can take a look at my sample project to see how it is done. There is some examples there.


Hi there, I'm back with more questions. I read in a comment from about a year ago that a plugin would be required to display any added parameters. I'm using Visustella's Element and Status plugin currently, do you know if its possible to display any added parameters with that plugin? If not, do you know of any plugins that fulfil that purpose?

Hi there!

Yes, I know that some people already managed to display my parameters with the Visustella Plugins. I'm just not sure what.

But on this thread, people already said it is possible, and managed to do it:


Maybe you can ask them?


Someone found a solution

Is it possible to use custom parameters on a class instead of a specific actor?


Hi there!

Yes. As stated on the itch io page here of the plugin, you can apply custom parameters to Equipment(Weapon and Armor) and Classes notes.


Hi, I posted on your Twitter, I am really new to RPG Maker in general, I need a lot of help to try and learn things. I was trying to use this Plugin to remove stats off of the class parameters and add in personal ones to create specific mechanics like Rage and other class resources. Any help would be appreciated!


Hi there!

First of all, I believe if you are really new to RPG Maker in general, you shouldn't be looking for plugins at all. Learn the engine first, and make a project without plugins to learn how to use the engine.

Now, this plugin does not remove any parameters from classes. It just adds new ones. And these new ones are not shown on the menu.

What can you do, with the default RPG Maker, is go into the Database/Terms and change the name of some parameters to "fake" them. Like, let's say you want to remove the Luck parameter and add a Rage parameter. Just rename Luck to Rage.

That can work for you?


That can work, I have already played with that a bit. Thanks for the advice! I have a project in mind already by having a card game I was developing and making it to an RPG with a 1:1 of basically everything. That way when the game is done itself, I can use it as a storyboard tool and as a test environment for new abilities and spells in the future, just so much to do!


Good luck with your project! :)


I can use it for Spell Slot mechanics. Nice.

this is a great plugin

Thanks!! :D

How do I use custom HP like parameter as a cost for a spell or make an item recover the custom parameter?

Hi there!

To make the custom parameter as a cost for a skill, you will need my Skill Cost plugin

To make an item recover that custom parameter, you need to attach a common event to it and use the script calls listed on the plugin parameter.

  • To change the current 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)

But I will add a way to do it through note tags as you can already do with Buff/Debuff in the next update.

Hey I was writing a common event for an after-hit effect of a skill. I want to check the current actors custom parameter and create a conditional branch from that. I want this event to call upon the current actor and not have the need for a static actor ID. Is there a way I can check that?

Hi there!

My plugin only implements the custom parameter feature. I don't know if you are using a plugin to do this after-hit effect or just the default common event of a skill. I guess there is probably a way to get the current actor, and I already see people asking this on the forum. Maybe you should take a look there.

For getting the custom parameter and creating a conditional, on the help file you have all the script calls needed for that.

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.