Parameter Tables
In RPG Maker MV, you have eight basic parameters to work with for your actors
- Max HP
- max MP
- Attack
- Defense
- Magical Attack
- Magical Defense
- Agility
- Luck
Parameters are managed for each class, and your actors’ parameters are determined by their current level along with their current class. However, the only way to manage your parameters is through the editor, and the editor does not support
- Levels beyond 99
- Custom parameters that you would like to use in your game, if you have such a plugin
This plugin provides you with a way to manage all of your parameters as external tables which you can edit using text editors like notepad, or more sophisticated spreadsheet software like Excel. You can set values for parameters individually for every level between 1 and 99, as well as levels beyond 99.
You can also set values for any custom parameters that you may have in your game, though you would first need a plugin that provides custom parameter functionality.
By maintaining your parameters externally, you should have more control over your game than before.
Download
Plugin: download here (right-click, save-as)
You can also look at a demo.
Here are some templates that you can use to get you started:
This plugin is for MV only. Click here for the Ace version.
Patches
- Using Enemy Classes? Add this patch under it.
Installation
Download the plugin and place it in the “plugins” folder in your project’s “js” folder. Then open your Plugin Manager (F10), double-click an empty row, and select the HIME_ParameterTables plugin.
Once it is in your list of plugins, turn the plugin on.
Usage
In your project folder, go to the “Data” folder and created a new folder called “params” (case-sensitive).
You will place all of the parameter tables inside this folder, along with a special configuration file that the plugin uses to tell the game how to read your tables.
Parameter Tables
To manage parameter curves for each class, you will create a CSV file. You can download a sample one from here to get started.
You can use any spreadsheet software that you have, like Excel, or a text editor.
The first row of the table contains your headers, which are the names of the parameters that each column represents. Every row after that is the value of the parameter for the corresponding level. The first column on the left is reserved for levels.
So for example, this is how your table might look
Level,Max HP,Max MP,Attack,Defense,Magical Attack,Magical Defense,Agility,Luck 1,100,80,30,10,10,20,15,7 2,110,82,34,13,11,21,16,7 3,120,84,38,16,12,22,17,8 4,130,86,42,19,13,23,18,8 5,140,88,46,22,14,24,19,8
Or, if you’re using Excel:
Simply create your table, pick a filename (make sure it is saved as CSV), then save it in the Params folder. For example, I might call this table “fruitNinjaTable.csv”
Assigning Tables to Classes
In your class database, note-tag classes with the name of the file stored in the Params folder without the CSV part, like this:
<parameter table: FILENAME />
To have the class use that table
If you don’t specify a table, the game will just use the default curves provided by the class. Multiple classes can use the same table if necessary. Simply assign the same table.
If everything works, you should see your custom parameters when you look at your actor’s status.
Assigning Tables to Actors
By default, actor parameters are based on their current class and current level. If you wanted actors to have their own parameters and ignore their class parameters, you can note-tag an actor directly with
<parameter table: NAME_OF_TABLE />
This will each actor to determine what their parameters are based on their current level, regardless what their class is.
Configuration File
To get you started, you can download a sample configuration file and place this in your Params folder.
If you are using the default parameters in your project, you don’t need to worry about the file since it is set up already for you. Otherwise, if you are planning to work with custom parameters, or you want to change the displayed names in the tables, you will need to understand how to modify the file.
The format of the file is as follows
[ { "name" : "NAME OF YOUR PARAMETER", "type" : "TYPE OF PARAMETER", "id" : parameterID }, { "name" : "Max HP", "type" : "basic" "id" : 0 } ... ]
The name of the parameter is the name that you used in the table. It must match the name exactly.
There are three types of parameters:
– basic
– extra (not implemented)
– special (not implemented)
These are the three types of parameters available in the game by default.
The ID if the parameter is what the game uses to identify which parameter to read. The following ID’s are reserved:
basic 0 - max HP basic 1 - Max MP basic 2 - Attack basic 3 - Defense basic 4 - Magical Attack basic 5 - Magical Defense basic 6 - Agility basic 7 - Luck
You can have any number of parameters as you need.
hello does this work in mz?
There seems to be a problem when I start up the game. A Developer Tools – chrome-extension window keeps popping up at the same time.
Never mind. The problem was that it didn’t work with Yanfly’s auto-save plugin. It seems to work fine with a different auto-save plugin.
does this work with yanfly subjob parameter?
I am getting an eternal load screen while attempting to fire this method up in a test game in MZ. Could it be that this technique is not compatible with MZ, or maybe I am using it incorrectly.
Either way this looks like the most comprehensive by far explanation for how to add custom parameters to the game. I hope i’m just missing something.
Hello!
A quick question, does it work on android?
Thanks!
Just what i’m looking for!
Can we add in the table some way to add random stats level up?
Hi. I see that you don’t update your blog too often. I know that
writing content is boring and time consuming. But did you
know that there is a tool that allows you to create new
articles using existing content (from article directories or
other pages from your niche)? And it does it very well.
The new posts are high quality and pass the copyscape test.
You should try miftolo’s tools
What does it mean cannot read property ”1 of undefined ‘
2 red mnmm
I see you don’t monetize your website, don’t waste your traffic, you can earn extra
cash every month because you’ve got high quality content. If you want to
know how to make extra $$$, search for: Mertiso’s tips best adsense
alternative
Is there any way to use Ex-Paramaters and Sp-Parameters in this?
If not, do you plan on making a plug-in that does?
No, because those parameters are handled differently.
Ex-params start with a base of 0, and then adds on any other traits.
So for example, hit-rate is an ex-param, and by default you have 0% chance of hitting.
Sp-params start with a base of 1, and then is multiplied with any other traits.
I suppose you could manage the base values of each ex/sp param using the spreadsheet as well.
What kind of functionality do you want to implement?
Well, there’d be several mechanics that could be implemented with the use of Ex/Sp-Parameter Tables, but the first that came to mind was an increase in Evasion per level rather than HP.
This would be more realistic for a rogue that you wanted to last longer in battle. Otherwise, you’d have to increase HP or DEF, which wouldn’t exactly make sense.
I was more curious than anything else, but it’d definitely be a cool idea when it comes to using Ex/Sp-Parameters in MV. Especially since the values tend to be static, it’d be nice to see some of those stats change as you level up.
Does this allow for in game alterations of parameters? Like if I have static parameters for every level, parameters that are set at character creation and don’t change via level up, only through events, will a level up reset the value, or does it account for in game changes?
Parameter tables replace the parameter curves defined by each class, so you can use spreadsheets to manage them instead of the UI the editor provides.
These determine the “base” parameters, which is used as part of the final parameter calculations.
If you have bonus parameters, those are applied afterwards.
I have a question. I there a way to use a formula to determine a base parameter (preferably MHP)? I have tried using Yanfly’s Class base parameters plugin and it just won’t work.
Also, may I have your permission to use your level up events, common event queue, and instance actors plugins in a commercial game?
Thanks in advance!
Parameter tables is designed to allow you to determine your base parameters using static values.
If you want to use formulas you will need to find a different plugin that changes the way parameters are managed.
All plugins are free for use as long as credits are provided.
Thanks! I’ll be sure to credit you.
I noticed that the parameter names have to be the same in all locations.
Yes, the tables are using name as the identifier. Do you prefer something else?
It’s fine. I also found a way around using a plugin for raising the max level above 99, max parameters, and even learning skills past 99. The first two happened by modifying rpg_objects.js and the last one was modifying skill levels in Classes.json.
All of the return numbers can be changed, and “return this.actor().maxLevel;” can be changed to “return number,” replacing number with your desired max level.
Game_BattlerBase.prototype.paramMax = function(paramId) {
if (paramId === 0) {
return 999999; // MHP
} else if (paramId === 1) {
return 9999; // MMP
} else {
return 999;
}
};
Game_Actor.prototype.paramMax = function(paramId) {
if (paramId === 0) {
return 9999; // MHP
}
return Game_Battler.prototype.paramMax.call(this, paramId);
};
Game_Party.prototype.maxGold = function() {
return 99999999;
};
Game_Party.prototype.maxItems = function(item) {
return 99;
};
Game_Party.prototype.maxItems = function(item) {
return 99;
};
Game_Actor.prototype.maxLevel = function() {
return this.actor().maxLevel;
//return 200;
};
Looks like the status display has a hard limit of 9999 for HP and MP without a plugin though.
Yes, there are a number of hardcoded limits in the default scripts.
Since this plugin isn’t meant to actually change those limits, but instead to allow you to manage parameters using external files, I chose not to include such functionality.
Or I was trying to look up level 200 stats when my CSV I didn’t update only went to level 176. Oops.
They’re not so hard coded if you change it in the scripts. It was a simple CSV Error.
https://drive.google.com/open?id=0B3YpblxtxnazV2xnQlFnYzhjaFk
2 Thinks i would like to ask.
First I tryed to make it in exel but some who et downst work only if i write it liek this on exel and that would defy exel itself ….
Level,Max HP,Max MP,Attack,Defense,Magical Attack,Magical Defense,Agility,Luck
1,100,80,30,10,10,20,15,7
2,110,82,34,13,11,21,16,7
3,120,84,38,16,12,22,17,8
4,130,86,42,19,13,23,18,8
5,140,88,46,22,14,24,19,8
so could you make a Exel file wthat would have them seperated.
second thing is i have some costum parameters like.
value = str
name = “Strength”
and some more so i dont knwo who to writte them for real like this
who do i implement them
{
"name" : "Strength",
"type" : "basic",
"id" : str or 8 both doesnt work.
},
a littel help would be nice.
It is a CSV file. Excel supports CSV format. You would need to import it and specify the columns should be separated by commas.
Custom parameters would require a plugin that actually supports the use of custom parameters. This plugin simply reads them and puts them in a table along with all of the other parameters.
ok found the option in Exel ^^ its under Data at my side just search for Convert Text to Columns. ^^ befor i tryed to seperat them manualy no wonder it didnt work xD.
ehem well i know at least i can use my costum parameters in game since if i have more str and dex my atk go’s up same for vit and int and so on.
and i can see my costum states in my status window and equipment window.
still dont know who to writte somethign like that into this plugin ^^.
O and i am using QuasiParamsPlus for costum states, dont know if you could make a plugin or wrrite me an example to implement a costum states.
hey hime i loved your plugin but i had an error while doing my own sheet
when adding formulas to the sheet, it worked perfectly, but after i closed and re-opened the file, the formulas just erased and leaving only the results, idk if this happened by the type of file. csv doesnt support formulas? and if not, it is posible to import .xlsx files?
i really want to add formulas Dx
thx!
You should keep your excel file separate from your CSV. Your excel file will hold all of your formulas and everything, and the CSV file will be the final export generated from your formulas that you will use in MV.
I found an issue with the parameter table… In my game level 99 is the max, the tables work fine up to level 98 but once my character is level 99 it crashes any time I try to go into the menu or in battle…
TypeError: Failed to execute ‘createLinearGradient’ on ‘CanvasRenderingContext2D’: float parameter 3 is non-finite.
at TypeError (native)
at Bitmap.gradientFillRect (file:///C:/Users/Eric/Documents/Games/Arcadia/js/rpg_core.js:791:24)
at Window_MenuStatus.Window_Base.drawGauge (file:///C:/Users/Eric/Documents/Games/Arcadia/js/rpg_windows.js:469:19)
at Window_MenuStatus.Window_Base.drawActorHp (file:///C:/Users/Eric/Documents/Games/Arcadia/js/rpg_windows.js:555:10)
at Window_MenuStatus.Window_Base.drawActorSimpleStatus (file:///C:/Users/Eric/Documents/Games/Arcadia/js/rpg_windows.js:592:10)
at Window_MenuStatus.drawItemStatus (file:///C:/Users/Eric/Documents/Games/Arcadia/js/rpg_windows.js:1763:10)
at Window_MenuStatus.drawItem (file:///C:/Users/Eric/Documents/Games/Arcadia/js/rpg_windows.js:1736:10)
at Window_MenuStatus.Window_Selectable.drawAllItems (file:///C:/Users/Eric/Documents/Games/Arcadia/js/rpg_windows.js:1250:18)
at Window_MenuStatus.Window_Selectable.refresh (file:///C:/Users/Eric/Documents/Games/Arcadia/js/rpg_windows.js:1277:14)
at Window_MenuStatus.initialize (file:///C:/Users/Eric/Documents/Games/Arcadia/js/rpg_windows.js:1703:10)rpg_managers.js:1722 SceneManager.catchException
I have tried this on a fresh new project, only using this plugin which I redownloaded fresh. I created the params folder in the data folder of the project, redownloaded the config file and put it in there, I redownloaded the template spreadsheet and removed all the entries for level 100 and over… then put in the class note (Test was what I renamed the spreadsheet file as) and started the game with the level 1 character using that class, no problem…. put the character to level 98, no problem… put the character to level 99 and crashes as described above.
This isn’t exactly game breaking as the current fix is to have Level 100 stats in the parameter tables, as long as you have 99 as the level limit then the stats for level 100 will never be used, however I figure this bug is worth mentioning.
I’ve updated the plugin. It looks like it wasn’t reading the last row.
The plugin makes the game not work and not even my console understand why!
You will need to provide more information. Try it in a new project and see if it works.
If it works in a new project and not the current project, you may have some compatibility issue with another plugin.
Sometimes it works. Sometimes it doesn’t.
What happens when it doesn’t?
I’ve updated the plugin to address the “sometimes doesn’t work” issue.
How can I make the custom parameters appear on the menu screen?
You will need a plugin that will change the way your menu is displayed. This largely depends on how you would like it to look. I would recommend putting in a request, perhaps on one of the forums or someone that you know who can write plugins, with a design that shows how you like it to look.
No, this plugin pretty much just let’s you use spreadsheets to maintain your parameter curves rather than using the editor’s functions.
can i use formulas to define a parameter? Like if i have a custom parameter called MaxStamina and i want it to be = hp * 0.1.
Also, if you have time, can you do a tuturial / plugin to help me add a custom parameter gauge in the battle screen? I did on for the scene_map, but i’m not sure how to do it to battle screen (i’m still very noob at it, sry :/). I was planning on using a lot of custom parameters like happiness, stamina, rage, etc…. So a plugin / tutorial to show that in battle would be very helpful.
If i had more experience i would like to do a status menu that is more focused on the character you are using (because of the custom gauges), for example most of the battle status screen will show information about the active character and the rest of the team will have a small hud that will expand when you select them with a skill/item, but if you can do that i also would be very grateful 🙂