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

  1. Levels beyond 99
  2. 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

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.

parameterTables2

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:

parameterTables3

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

parameterTables4

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.

parameterTables5

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.

You may also like...

98 Responses

  1. Anonymous says:

    hello does this work in mz?

  2. Anonymous says:

    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.

    • Anonymous says:

      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.

  3. Azrael_Astaroth#7425 says:

    does this work with yanfly subjob parameter?

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

  5. Strife250 says:

    Hello!

    A quick question, does it work on android?

    Thanks!

  6. Eliaquim Nascimento says:

    Just what i’m looking for!
    Can we add in the table some way to add random stats level up?

  7. AkilahJuicy says:

    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

  8. whatever says:

    What does it mean cannot read property ”1 of undefined ‘

  9. LastHugh says:

    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

  10. KeeganKLM says:

    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?

    • Hime says:

      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?

      • KeeganKLM says:

        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.

  11. jbt1234 says:

    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?

    • Hime says:

      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.

  12. Green says:

    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!

    • Hime says:

      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.

  13. Sundricat says:

    I noticed that the parameter names have to be the same in all locations.

    • Hime says:

      Yes, the tables are using name as the identifier. Do you prefer something else?

      • Sundricat says:

        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.

        • Sundricat says:

          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.

          • Sundricat says:

            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;
            };

          • Sundricat says:

            Looks like the status display has a hard limit of 9999 for HP and MP without a plugin though.

          • Hime says:

            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.

          • Sundricat says:

            Or I was trying to look up level 200 stats when my CSV I didn’t update only went to level 176. Oops.

          • Sundricat says:

            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

  14. Lilian says:

    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.

    • Hime says:

      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.

      • Lilian says:

        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.

  15. zheg says:

    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!

    • Hime says:

      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.

  16. Sartha says:

    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.

  17. Anonymous says:

    The plugin makes the game not work and not even my console understand why!

    • Hime says:

      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.

  18. BloodletterQ says:

    Sometimes it works. Sometimes it doesn’t.

    • Hime says:

      What happens when it doesn’t?

    • Hime says:

      I’ve updated the plugin to address the “sometimes doesn’t work” issue.

      • Amir Clayton says:

        How can I make the custom parameters appear on the menu screen?

        • Hime says:

          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.

  19. Hime says:

    No, this plugin pretty much just let’s you use spreadsheets to maintain your parameter curves rather than using the editor’s functions.

  20. manoma says:

    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 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *