Alistair Plugins: Stat Distribution


So here’s my take on a Stat Distribution plugin.

This plugin allows your heroes to gain Distribution Points upon levelling up. These points can be spent to increase the parameters of your actors (for example to increase HP).


The plugin is mostly Plug & Play, so there are no real settings that you need to change for it to work properly. However, I do recommend to have a look at the available options and adjust them to your liking. If you are using Yanfly’s Menu Manager plugin be sure to read my plugin’s help file. The settings needed for it to work with Yanfly’s plugin are noted there.

There are notetags for Actors and Classes:

<Initial Points: x>

This notetag makes the Actor/Class start with x Distribution Points.
This notetag will ignore the default setting from the plugin parameters.
Actor notetags take priority over Class notetags.


<Level Points: x>

This notetag makes the Actor/Class gain x Distribution Points upon levelling up.
This notetag will ignore the default setting from the plugin parameters.
Actor notetags take priority over Class notetags.


A lot.


Initial Points: The amount of Distribution Points an Actor starts the game with. Default: 0
Level-Up Points: The amount of Distribution Points an Actor gains upon levelling up. Default: 3
Maximum Points: Distribution Points will be capped once they reach this value. Default: 99
Help Window Text: This is the text that will be shown in the upper help window. You can use the following pre-defined variables: param (The parameter in question), amount (The amount the param will go up by), points (The amount of points needed to increase the param)
Return Text: This is the text that will be shown in the upper help window upon selecting the “Finish” command.
Show Menu Switch: This switch needs to be on for the Menu Point to appear. Default: 0
Enable Menu Switch: This switch needs to be on for the Menu Point to be accessible. Default: 0
2.PNGStat Distribution Text: The name of the menu command.
Points Vocabulary: This is how Distribution Points are called in your game.
Command Window Alignment: The alignment of the commands in the command window. Possibilities: left, center, right. Default: left
HP/ MP/ATK/ DEF/ MAT/ MDF/AGI/ LUK Vocabulary: The words to be used in the command window for the respective param.
Return Vocabulary: The word used for the “return” command.
Show HP/MP/ATK/DEF/MAT/MDF/AGI/LUK: Whether or not to show the respective param. Setting this to false will make the param disappear along with its command window command.
4.PNG5HP/MP/ATK/DEF/MAT/MDF/AGI/LUK Growth: The respective stat will go up by the amount defined here when you spend points.
HP/MP/ATK/DEF/MAT/MDF/AGI/LUK Points Needed: The amount of Distribution Points needed to increase the respective param once.
7.PNGHP/MP/ATK/DEF/MAT/MDF/AGI/LUK Gauge Color 1: This is the color of the respective gauge that is more to the left side of the gauge.
HP/MP/ATK/DEF/MAT/MDF/AGI/LUK Gauge Color 2: This is the color of the respective gauge that is more to the right side of the gauge.


Get it at my Dropbox

PS: I can’t believe Brexit.


36 thoughts on “Alistair Plugins: Stat Distribution

  1. This works pretty well! I ran into a few issues though. I’m using Yanfly’s MenuManager. I added in the info provided in the Help file. After this, the Stat Distribution shows up twice in my menu (during a PlayTest, perhaps this is why?). Also, some of the coloured bars are missing (It cuts off at MDF and I can’t see anything below this). It’s not all spaced out nicely like in the picture.

    Any suggestions? Other than that, it works great!


    1. Weird that it shows up twice. Make sure that my plugin is located below Yanfly’s plugins.

      For the bars being cut off: That’s related to your resolution. I should have mentioned, that with the default resolution the elements won’t fit into the screen. My window height is 786. With that height all the elements should fit. I’ll check out if I can somehow find a way to squeeze everything into smaller resolutions but for now there’s unfortunately no other solution than enlarging the screen size.


      1. The Plugin is currently at the very bottom of the list. I’m using many (MANY) of Yanfly’s Plugins. Could it be colliding with another perhaps?

        Hmm, that’s too bad about the resolution. I’d really like to use this plugin, it’s fantastic, but ultimately I want to be able to play this on a phone. I’m making the game for my wife and it’s the only platform she’ll play games on.


      2. I’m working on a fix for the resolution thing and I’m also investigating the problem with the command showing up twice. Sorry for the inconvenience.


  2. Alright. Both errors should be fixed. The plugin should be able to display everything even if the screen height is smaller than recommended. Please redownload.


    1. Thank you so much! I’m away from my PC for the weekend but I’ll give it a go first thing Monday morning and report back.


  3. Loving this plugin so far! Just have a few questions regarding it’s use however.
    Is there a way to go about preventing players from spending points on an attribute that has been maxed out? I have limit for the stats of actors and once that limit has been reached you are still able to continue dumping points into the stat.
    Also for when I have the scene running, the stat will be maxed out yet will still have room available on its gauge. I have the current limit set to 99 for the stats but it still leaves the additional room, regardless of the resolution I have set as well.


    1. 1. Currently there is no way to prevent that but I’ll try to take care of that.

      2. The fill rate of a stat’s gauge is determined by that stat’s value on level 99. So basically if your actor has 1500 HP on level 99 the gauge will be filled when the HP value reaches 1500.
      I’ll look into it.


  4. So, I’ve been using this script a bunch. It’s great! Two ideas I had though. One, is there a way to take the Stat Distribution OFF the Menu and make it only appear after a level up? Maybe with a Common Event?

    Second idea; Building on the first idea, is there a way to limit the amount of points the player can put into each category upon a level up? Say I give them 5 Points Per Level. Can I limit it so they can only put a max of 2 into a category each time?

    Just some thoughts…


      1. Hmm, I can’t edit my above comment. Upon closer inspection, the update doesn’t quite do what I’d hoped. I like the idea of a Cap on the Stats, but can this be done per level as well?


    1. 1. That sounds like basic eventing. In the plugin’s parameters there’s a parameter called “Show Menu Switch”. Its default value is 0 but you can replace it with any switch. Once you turn that switch on, the command will appear. You could simply turn the switch on once an actor levels up.

      2. Currently there’s no possibility to do this. I’m not sure how feasible this is but I’ll look into it.


  5. It doesn’t appear at all for me. I’ve done everithing edited the main menù plugin settings and placed de stat distribution plugin under the main menù manager plugin


    1. Make sure that you copied everything correctly to the Main Menu Plugin. Did you change the Show Switch parameter in my plugin? If so, that switch needs to be turned on for the command to appear.


  6. I like your script right now and I have a few suggestions to make it a bit better… Or at least to me:

    1. Can you make so the points can be removed as well? Like you have 5 points and you place 2 on HP [uses 2 Points] and one on Atk [uses 1 Point]. Now you decide you want/need more MP [uses 2 Points] so you have to take them back from the HP. Currently that isn’t possible… I saw it done on another Stat Distribution plugin [one that is no where near this good and was designed for mobile almost exclusively] and I thought it could work here, if coupled with my next suggestion…

    2. Can you make the different Stats go up or down by the arrow keys? You highlight the MP using your arrow keys, hit enter, then use the left/right arrow to assign points… hit esc to go back to the list and finish or continue. It could make it better for the player in the long run.

    3. Can the amount of points given at the level bit more random, as well as the amount needed to purchase the Stat? Like make it so that formula can be placed there. As the player gets higher in level and the monsters get harder and harder than the player might need more point to spend at each level. But to balance it you can make it that after a param gets high enough it takes more points to raise.
    MP takes 2 to raise 10 – level 1 – You receive 5 at level
    MP takes 4 to raise 25 – level 40 – You receive 10 at Level
    You can make it like a normal param formula or something.

    4. Can you make it so that each actor can have a different param cost for actors/class? Like a Warrior would want more Atk and HP, but a Mage would want more MP and M.Atk. AS it is now the Warrior and mage pay the same amount for these param, but what if you wanted the Mage to have to pay more for their MP but not their HP, and the Warrior has to pay more his HP but his MP?

    5. To go along with #4, can there by a way to make the growth of each param different for actors/class? Like a Warrior gets more HP for their points than a Mage would and likewise a Mage would get more MP for their points than a Warrior would. Just thought it would add more options for the developer to play with.

    6. Also… I would like to see the TP Param in there. I use a plugin from SumRndmDde that allows you to grow and use your TP like it’s MP or HP and such. Not saying it absolutely needed but I was wondering if it was possible to make the two work together. Maybe? You could make it optional or something… right?


    1. 1. I’m already working on this.

      2. Not sure yet. Maybe at a later time.

      3. Formulas will be introduced in the next update.

      4. See 3.

      5. See 4.

      6. I’m not sure about this one. Right now I don’t have plans for it.


  7. Is there any way this plugin could be interfering with Yanfly’s Job Points plugin? I’m not sure if you’d know or if you’re familiar with the plugin, but I thought I’d ask. I’ve been having trouble with the Job Points plugin and I’m just trying to narrow down my search. Thanks.


      1. Thanks for the interest, but it was the JP plugin and some changes I made to the custom scripts. All fixed up now.


  8. any ideas on why the point choosing window where you pick your stats is overlapping the stat window so you can oinly see the far right side with the numbers?
    i tried changing res and it was the same problem. i dont get any errors in the console to try and troubleshoot either. Was curious if you knew off the top of your head.


    1. We’re talking about the window with “HP, MP, ATK, …” and so on, right? Since that window calls the default function of Window_Command to specify its width, I assume that some other plugin changed the default width of Window_Command.


  9. I’m getting an error message when I go into the menu via Yanflys main menu plugin that says “error: Stat is not defined”
    I made sure your plugin is the last plug in and I haven’t edited anything in yours and I triple checked to make sure everything was correctly written in yanflys menu plugin. Any idea what it could be?


  10. I’ve installed the plugin, and followed the help text for adding it to Yanfly’s main menu manager. .I’m assuming I just pick an emtpy menu slot IE Menu 54 and put the text and script strings per your text.. I’ve set the attributes to reflect the same as the “terms” i’ve set for them in the RM Database. When I test the game, the menu shows up but when I click on an actor to view.. I get this error screen/message: Failed to execute ‘createLinearGradient’ on ‘CanvasRenderingContext2D’:float parameter 3 is non-finite. what did I do wrong?


    1. I assume you use formulas in some of the plugin’s parameters? This error occurs when the Plugin is told to work with strange numbers. Double check that all your formulas are actually viable and that you don’t have any wrong references in there (like a.matk instead of a.mat).


  11. Hi, is there some way to increase an actor’s points with a script call instead of plugin command? I’m using a formula for initial points but i have some instanced actors which have randomized stats after creation, and as i understand it you can’t call variables and eval in a plugin command


  12. This plus the Ability Distribution add-on seems just about perfect for what I have in mind… but, well, unless I’m somehow screwing up something obvious, it appears there’s an incompatibility between YEP Core 1.24 and both AP Stat Distribution 1.07 + AP Ability Distribution 1.05a; with that combination, neither Stat nor Ability Distribution scenes can even be loaded. With Core Engine disabled, both scenes can be loaded just fine; using Stat Distribution 1.05d seems to work at enabling the corresponding scene while the Core Engine is loaded, though Ability Distribution still does not work in it’s currently publicized version.


    1. To specify, the errors received are always along the lines of:

      TypeError: undefined is not a function
      at Window_Overview.calculateSqueeze (/D:/Eigene%20Dateien/MV-Test/Project1/js/plugins/AP_AbilityDistribution.js:745) *
      at Window_Overview.drawActorAbilities (/D:/Eigene%20Dateien/MV-Test/Project1/js/plugins/AP_AbilityDistribution.js:802)
      at Window_Overview.refresh (/D:/Eigene%20Dateien/MV-Test/Project1/js/plugins/AP_AbilityDistribution.js:681)
      at Window_Overview.setActor (/D:/Eigene%20Dateien/MV-Test/Project1/js/plugins/AP_AbilityDistribution.js:689)
      at Scene_StatDistribution.create (/D:/Eigene%20Dateien/MV-Test/Project1/js/plugins/AP_AbilityDistribution.js:330)
      at Function.SceneManager.changeScene (rpg_managers.js:1810)
      at Function.SceneManager.updateMain (rpg_managers.js:1789)
      at Function.SceneManager.update (rpg_managers.js:1714)

      *this seems to attempt to do:
      if (Imported.YEP_CoreEngine) {
      var GaugeHeight = this.gaugeHeight();

      this occurs regardless of whether gauge drawing is enabled in Stat or Ability Distribution or not.


    2. Alright, i found the error, and it’s all my fault. Sorry for the trouble. :c
      Turns out that there was a problem with the plugin configuration when updating YEP Core, leaving it at being basically entirely ignored, yet falsely claimed as being imported anyhow. Embarrassing.

      Liked by 1 person

Write a comment

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s