Perfect Stat Point Distribution System

Script Information:
====================
This script is a highly dynamic & customisable stat point distribution system,
it not only provides you with a way to distribute stats, it actually gives you
new stats as well, vit/str/dex and mag are now the proud parents of all other
stats. And they are far superior…

Set which stats increase, how much it costs, does one stat make another stat go
down? is the luck gain for your characters going to be completely random ?

maybe you want to continue to gain params via the param curves in the database,
but you wish you could give your characters just that little bit more flexablity?

NOW YOU CAN DECIDE.

Dont want that much control? thats fine set the system to be as random as
you like.

It is HIGHLY advised you take a moment to look through the cusomisation options
to see if any apply to your current project. (they also change regularly)
FEATURES:
==========
– New Parent Stats that give you COMPLETE control over ALL other stats

– Use your new stats in skill formula’s and even conditional branches

– OVER 170 customisation options, NOT including random gain feature(another 100+)

– Plug and Play ?  YES !

SCRIPT LINK
THIS SCRIPT NOW REQUIRES THIS CORE SCRIPT

 

NOTE::

This script is very old, i recently wrote a new distribution system with MANY MANY more features than this one…

Here is the Link !!

80 thoughts on “Perfect Stat Point Distribution System

    1. hamsterpirateninjas says:

      Also, a small bug report. When you add a trait to an actor, class, or piece of equipment, which would add a percentage modifier to a base attribute(atk/def/etc.) It adds points to the stats in your system automatically.

    2. Dekita-RPG says:

      $game_actors[x].vit == ??
      $game_party.members[x].mag == ??

      both methods can use vit,str,dex and mag replace x with actor id or party member id (first party member id is 0) replace ?? with your number

      e.g
      $game_party.members[0].str == 30
      This means the conditional branch will check party member 0 (0 is the first actor in the party, 1 is the second and so on) has str equal to 30, you can also use
      .str = 30 (over 30 or equal to)

  1. Dekita-RPG says:

    do you mean when you notetag a peice of equipment with lets say it increases everything
    under the vit option? because if so i made it like that 🙂
    so that vit acts more like a parent stat towards all of option ones parameter gains 🙂

  2. Sven-Arild Ims (Valthonis) says:

    Hi, I have a small request to make, and if you do not have the time (or want) to do it, then I completely understand, as I’ve already gained alot by finding your script (free to use non the less!).

    The thing is, I am horrible with scripts, (as in I really cant code worth a dime..) But thats were great people like you come in, and make scripts that can be used as is, or tweaked to fit in the game the user is making.

    I’m trying to find a way to check if the whole party (preferably)

    have 0 < nr of statpoints.

    Simply to be able to create a "trainer" NPC, that will say something along the lines of
    "You have potential, I will train you." if the party has unspent points,
    or "I cannot train you yet" if they have no points left.

    Or to be able to use it in a switch to trigger it in the custom menu I am using (it can show or not show items depending on the status of a switch). (by running a parralel common event that checks the statpoints and turns ON/OFF the switch. This method would be the best, since I can just check the switch for any trainers I'd make, to avoid having to event each and every one of them.

    I've been looking at your script for a while now, and I cant seem to find what I am looking for (though it must be in there, since the script checks the same thing to display unspent points)

    Remember, I am horrible at scripting, so as simple as possible please.

    1. Dekita-RPG says:

      Script is only free to use in non-commercial ^_^.

      this script provides many new “stats” such as vit,str,dex,mag. those can be used in skill formulas and conditional branches,
      there are also “kind-of-stats” such as level up points, attribute points, and spirit points ( a feature for future upgrades), for what you are asking

      $game_party.members[x].level_up_pts == ??
      $game_actors.[x].level_up_pts == ??

      (used in “script” option in conditional branches) would return the value of actors level up points
      e.g
      $game_actors[1].level_up_pts == 0 # This would check if actor id 1 has level up points equal to 0

      however i do realise this isnt what your asking me, what you need is a call to check if ANY actor (in the party) has these points, is that right ?
      if so, i would have to do a script call to pull the highest value of all the actors level up points and if any have points above “0”
      im just confirming this is what your asking before i go about implementing it :p

      1. Sven-Arild Ims (Valthonis) says:

        Hi!
        Yes, my game is totaly non-commercial!
        (nobody would pay for the game I’m working on anyways ;).

        I sent you an email (to your Gmail account) btw, if you would rather reply there. I also included a bug (or maybe incompatability) in the “Perfect Status Screen” script (it returns an error when scrolling past the page that lists MaxHp,Hit chance, etc..

        BUT

        Thank you for the two bits of code, they work awesomely if you only want to check a single character (as you said).

        But you are correct, I am after a way to check if -any- of the actors in the party has skill points above 0 and put the result in a user defined variable.

        Since making menu triggers or events is then as easy a a conditional branch with
        – if “variable” >0 then – to hide\show\enable the common event that launches the level up screen (SceneManager.call(Scene_Level_Up)

        Thank you so much for replying 🙂

        Cheers!

  3. hamsterpirateninjas says:

    Any plans to make it so you can switch between characters on the level up screen? It works fine as is, it’d just add a bit more comfortable of a feel. Just an idea. ^^ P.S. I love the script and you’re awesome for making it. 🙂

  4. Dekita-RPG says:

    ^_^ i was going to remove that as well, but i kept it 🙂 and ill get to work on trying to check for an average party points amount (maybe sometime next week before i release another update)

    also @hamsterpirateninja’s i checked that out and your are completely right, it seems to increase vit/str/dex and magic when your increase MaxHP,MaxMP,ATK and DEF %’s on your weapons (increases by 1 vit for every 100% MaxHP) i also h ave absolutly no fuckin idea why, i advise not using those kind of features on your weapons unlesss you really have to until i can figure out a fix for it ^_^

    1. hamsterpirateninjas says:

      It actually does it if you use the feature on anything. I tested with actor, weapon, and class. Might wanna double check though. I tend to make small mistakes. I’m pretty sure this is true though. :s An easy temporary fix is to give the weapon a -(number) to the stat, and I can do that, I just figured you’d like to know about the bug. 🙂

  5. Dekita-RPG says:

    @ Sven-Arild Ims (Valthonis),

    #======================#
    class Game_Interpreter # in the script option for conditional branches
    #======================# simply put “check_party_points” to check for lvl up pts
    def check_party_points
    if $game_party.members.size == 1
    return true if #returns true if
    $game_party.members[0].level_up_pts == 0
    return false # return false if above condition is not met
    elsif $game_party.members.size == 2
    return true if #returns true if
    $game_party.members[0].level_up_pts == 0 &&
    $game_party.members[1].level_up_pts == 0
    return false # return false if above condition is not met
    elsif $game_party.members.size == 3
    return true if #returns true if
    $game_party.members[0].level_up_pts == 0 &&
    $game_party.members[1].level_up_pts == 0 &&
    $game_party.members[2].level_up_pts == 0
    return false # return false if above condition is not met
    elsif $game_party.members.size == 4
    return true if #returns true if
    $game_party.members[0].level_up_pts == 0 &&
    $game_party.members[1].level_up_pts == 0 &&
    $game_party.members[2].level_up_pts == 0 &&
    $game_party.members[3].level_up_pts == 0
    return false # return false if above condition is not met
    else
    # If no condition is met…
    return false
    end
    end

    end # class Game_Interpreter

    pop that into a script page under the stat point script, then use “check_party_points” in the script option of your conditional branch, you probably have to customize it slightly to suit your exact needs, but theres the base for what you want ^^

    1. Sven-Arild Ims (Valthonis) says:

      Thank you so much! I only had to change one thing to make it work perfrectly,
      namely == 0 to > 0.

      I did not have the time to check back here before now, sorry about that.
      (and I never got a mail bump from the site subscription, guess that only works for new articles..).

      If I ever make a party larger than 4 I would simply have to do this right? :

      elsif $game_party.members.size == 6
      return true if #returns true if
      $game_party.members[0].level_up_pts == 0 &&
      $game_party.members[1].level_up_pts == 0 &&
      $game_party.members[2].level_up_pts == 0 &&
      $game_party.members[3].level_up_pts == 0 &&
      $game_party.members[4].level_up_pts == 0 &&
      $game_party.members[5].level_up_pts == 0
      return false # return false if above condition is not met
      else

      Again, thank you so much!
      -Valthonis

      1. Sven-Arild Ims (Valthonis) says:

        Woophs! I was a little quick there, I also had to change one more bit, took me a bit to figure it out (since I suck at reading code). the “problem” was that the script call returned false even if one or more actors has above 0 points (>0), they -all- had to have >0 points for it to return true.

        After some headscratching and attempts at logical thinking, I figured that the culprit was the “&&” after each actor, so I deleted them! (and promptly got an error for my trouble).

        So I went back in and figured that if this code follows the “if and or then” formula, that the “&&” needed to be replaced not removed, so I hazzard a guess, and put in “or”.

        And that did it, so all I had to do was to change it to look like this :

        #======================#
        class Game_Interpreter # in the script option for conditional branches
        #======================# simply put “check_party_points” to check for lvl up pts
        def check_party_points
        if $game_party.members.size == 1
        return true if #returns true if
        $game_party.members[0].level_up_pts > 0
        return false # return false if above condition is not met
        elsif $game_party.members.size == 2
        return true if #returns true if
        $game_party.members[0].level_up_pts > 0 or
        $game_party.members[1].level_up_pts > 0
        return false # return false if above condition is not met
        elsif $game_party.members.size == 3
        return true if #returns true if
        $game_party.members[0].level_up_pts > 0 or
        $game_party.members[1].level_up_pts > 0 or
        $game_party.members[2].level_up_pts > 0
        return false # return false if above condition is not met
        elsif $game_party.members.size == 4
        return true if #returns true if
        $game_party.members[0].level_up_pts > 0 or
        $game_party.members[1].level_up_pts > 0 or
        $game_party.members[2].level_up_pts > 0 or
        $game_party.members[3].level_up_pts > 0
        return false # return false if above condition is not met
        else
        # If no condition is met…
        return false
        end
        end

        end # class Game_Interpreter

        Like you said, a solid base for what I needed to do. Thank you !

        I even learned something from this 🙂

        Cheers!

  6. Dekita-RPG says:

    lol no problem, i knew it wouldnt be exact what you needed but i felt i put enough instruction in it for almost anyone to be able to change it to suit their needs and yes if you have more than a 4 person party just increase the code and change the numbers :p

    and the && /or was my fault. i apologise, i was testing the code and making itreturn false unless all actors had points (i had an event level the whole party 1 time) therefor all party memebers had points while i was testing it 🙂 as long as it works now is the main thing though 🙂

  7. Miguel Cañas says:

    This script allows me to level up stadistics? i mean you have 4 stats to level up but i want have 5 is it possible ( i hope you can understandme DX)
    something like digital devil saga stats

  8. Dekita-RPG says:

    unfortunately only 4 stats is possible, it would take a LOT of code to make another stat but i dont really think there is much need for another stat.

    yes the script will work with yanflys extra param formulas script, there really isnt much need for it, but it will work ^_^

    i hope this answered your question(s)

  9. SirCumferance says:

    [IMG]http://i75.photobucket.com/albums/i304/Rune-Mage/Error_zps1da1b0df.jpg[/IMG]
    This error I am not sure if it is common or not. If I press enter it takes me to a point distribution screen, but otherwise, it looks like this

      1. SirCumferance says:

        Ah, I thought it would say something else is all, if that is what it is supposed to be like, then yea, all good. Love it man, its good stuff

  10. amicable says:

    hey i’m trying to make a event that resets the character’s points and puts them all back into spendable lvl up points. i’ve found that adding a negative number to try and take away causes the game to freeze. while i was originally calling up variables to decrease, i ended up just trying a simple inc_vit(1, -1) and it still kept freezing the screen.

    i also tried installing it on a clean game, and there were still errors so i can rule out cross-script incompatibility. i’m using the newest version of your script. if there’s anything else you need, let me know, but i managed to get the bug working ‘perfectly’ just by putting that script at the beginning of any event.

    thanks! 🙂

  11. Dekita-RPG says:

    this hasnt ever happened before (that i know of) if you could send me a copy of your project to have a better look at, as when i reduce points i get no error, also i have noticed depending on your computers power the FPS will drop slightly because of the sheer amount of information being passed through the methods and then onto the actors, so maybe that could be it ?

    1. amicable says:

      I don’t think so, the game stops moving completely. I’ll make a new project to recreate the error without my +5000 extra scripts getting in the way.

      https://www.dropbox.com/s/w2ouhx7qdwqrztq/PstatErrors.exe

      if you run the game, level up, then talk to the girl on the right you should be able to duplicate the error

      Long version = my complicated and awkward script to reset all the values
      Short version = quick call of “inc_vit(1, -1)”

  12. Dekita-RPG says:

    # $game_actors[ACTOR_ID].reduce_vit(VALUE)
    # $game_actors[ACTOR_ID].reduce_str(VALUE)
    # $game_actors[ACTOR_ID].reduce_dex(VALUE)
    # $game_actors[ACTOR_ID].reduce_mag(VALUE)
    #==============================================================================
    class Game_Actor < Game_Battler
    #==============================================================================

    def reduce_vit(value)
    value.times {||
    add_param(0, -(DPB::PSPDS::OPTION_1_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxHP_RAND_MIN, DPB::PSPDS::OP_1_MaxHP_RAND_MAX)))
    add_param(1, -(DPB::PSPDS::OPTION_1_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxMP_RAND_MIN, DPB::PSPDS::OP_1_MaxMP_RAND_MAX)))
    add_param(2, -(DPB::PSPDS::OPTION_1_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_ATK_RAND_MIN, DPB::PSPDS::OP_1_ATK_RAND_MAX)))
    add_param(3, -(DPB::PSPDS::OPTION_1_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_DEF_RAND_MIN, DPB::PSPDS::OP_1_DEF_RAND_MAX)))
    add_param(4, -(DPB::PSPDS::OPTION_1_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MAT_RAND_MIN, DPB::PSPDS::OP_1_MAT_RAND_MAX)))
    add_param(5, -(DPB::PSPDS::OPTION_1_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MDF_RAND_MIN, DPB::PSPDS::OP_1_MDF_RAND_MAX)))
    add_param(6, -(DPB::PSPDS::OPTION_1_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_AGI_RAND_MIN, DPB::PSPDS::OP_1_AGI_RAND_MAX)))
    add_param(7, -(DPB::PSPDS::OPTION_1_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_LUK_RAND_MIN, DPB::PSPDS::OP_1_LUK_RAND_MAX)))
    #x's
    add_xparam(0, -(DPB::PSPDS::OPTION_1_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HIT_RAND_MIN, DPB::PSPDS::OP_1_HIT_RAND_MAX)))
    add_xparam(1, -(DPB::PSPDS::OPTION_1_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_1_EVA_RAND_MIN, DPB::PSPDS::OP_1_EVA_RAND_MAX)))
    add_xparam(2, -(DPB::PSPDS::OPTION_1_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CRI_RAND_MIN, DPB::PSPDS::OP_1_CRI_RAND_MAX)))
    add_xparam(3, -(DPB::PSPDS::OPTION_1_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CEV_RAND_MIN, DPB::PSPDS::OP_1_CEV_RAND_MAX)))
    add_xparam(4, -(DPB::PSPDS::OPTION_1_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MEV_RAND_MIN, DPB::PSPDS::OP_1_MEV_RAND_MAX)))
    add_xparam(5, -(DPB::PSPDS::OPTION_1_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRF_RAND_MIN, DPB::PSPDS::OP_1_MRF_RAND_MAX)))
    add_xparam(6, -(DPB::PSPDS::OPTION_1_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CNT_RAND_MIN, DPB::PSPDS::OP_1_CNT_RAND_MAX)))
    add_xparam(7, -(DPB::PSPDS::OPTION_1_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HRG_RAND_MIN, DPB::PSPDS::OP_1_HRG_RAND_MAX)))
    add_xparam(8, -(DPB::PSPDS::OPTION_1_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRG_RAND_MIN, DPB::PSPDS::OP_1_MRG_RAND_MAX)))
    add_xparam(9, -(DPB::PSPDS::OPTION_1_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TRG_RAND_MIN, DPB::PSPDS::OP_1_TRG_RAND_MAX)))
    #s's
    add_sparam(0, -(DPB::PSPDS::OPTION_1_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TGR_RAND_MIN, DPB::PSPDS::OP_1_TGR_RAND_MAX)))
    add_sparam(1, -(DPB::PSPDS::OPTION_1_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_1_GRD_RAND_MIN, DPB::PSPDS::OP_1_GRD_RAND_MAX)))
    add_sparam(2, -(DPB::PSPDS::OPTION_1_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_1_REC_RAND_MIN, DPB::PSPDS::OP_1_REC_RAND_MAX)))
    add_sparam(3, -(DPB::PSPDS::OPTION_1_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_1_PHA_RAND_MIN, DPB::PSPDS::OP_1_PHA_RAND_MAX)))
    add_sparam(4, -(DPB::PSPDS::OPTION_1_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MCR_RAND_MIN, DPB::PSPDS::OP_1_MCR_RAND_MAX)))
    add_sparam(5, -(DPB::PSPDS::OPTION_1_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TCR_RAND_MIN, DPB::PSPDS::OP_1_TCR_RAND_MAX)))
    add_sparam(6, -(DPB::PSPDS::OPTION_1_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_PDR_RAND_MIN, DPB::PSPDS::OP_1_PDR_RAND_MAX)))
    add_sparam(7, -(DPB::PSPDS::OPTION_1_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MDR_RAND_MIN, DPB::PSPDS::OP_1_MDR_RAND_MAX)))
    add_sparam(8, -(DPB::PSPDS::OPTION_1_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_FDR_RAND_MIN, DPB::PSPDS::OP_1_FDR_RAND_MAX)))
    add_sparam(9, -(DPB::PSPDS::OPTION_1_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_1_EXR_RAND_MIN, DPB::PSPDS::OP_1_EXR_RAND_MAX)))
    #dpbz'
    add_dpbzparam(0, -(1))
    }
    end

    def reduce_str(value)
    value.times{||
    #reg's
    add_param(0, -(DPB::PSPDS::OPTION_2_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxHP_RAND_MIN, DPB::PSPDS::OP_1_MaxHP_RAND_MAX)))
    add_param(1, -(DPB::PSPDS::OPTION_2_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MaxMP_RAND_MIN, DPB::PSPDS::OP_1_MaxMP_RAND_MAX)))
    add_param(2, -(DPB::PSPDS::OPTION_2_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_ATK_RAND_MIN, DPB::PSPDS::OP_1_ATK_RAND_MAX)))
    add_param(3, -(DPB::PSPDS::OPTION_2_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_DEF_RAND_MIN, DPB::PSPDS::OP_1_DEF_RAND_MAX)))
    add_param(4, -(DPB::PSPDS::OPTION_2_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MAT_RAND_MIN, DPB::PSPDS::OP_1_MAT_RAND_MAX)))
    add_param(5, -(DPB::PSPDS::OPTION_2_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MDF_RAND_MIN, DPB::PSPDS::OP_1_MDF_RAND_MAX)))
    add_param(6, -(DPB::PSPDS::OPTION_2_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_AGI_RAND_MIN, DPB::PSPDS::OP_1_AGI_RAND_MAX)))
    add_param(7, -(DPB::PSPDS::OPTION_2_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_1_LUK_RAND_MIN, DPB::PSPDS::OP_1_LUK_RAND_MAX)))
    #x's
    add_xparam(0, -(DPB::PSPDS::OPTION_2_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HIT_RAND_MIN, DPB::PSPDS::OP_1_HIT_RAND_MAX)))
    add_xparam(1, -(DPB::PSPDS::OPTION_2_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_1_EVA_RAND_MIN, DPB::PSPDS::OP_1_EVA_RAND_MAX)))
    add_xparam(2, -(DPB::PSPDS::OPTION_2_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CRI_RAND_MIN, DPB::PSPDS::OP_1_CRI_RAND_MAX)))
    add_xparam(3, -(DPB::PSPDS::OPTION_2_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CEV_RAND_MIN, DPB::PSPDS::OP_1_CEV_RAND_MAX)))
    add_xparam(4, -(DPB::PSPDS::OPTION_2_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MEV_RAND_MIN, DPB::PSPDS::OP_1_MEV_RAND_MAX)))
    add_xparam(5, -(DPB::PSPDS::OPTION_2_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRF_RAND_MIN, DPB::PSPDS::OP_1_MRF_RAND_MAX)))
    add_xparam(6, -(DPB::PSPDS::OPTION_2_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_1_CNT_RAND_MIN, DPB::PSPDS::OP_1_CNT_RAND_MAX)))
    add_xparam(7, -(DPB::PSPDS::OPTION_2_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_HRG_RAND_MIN, DPB::PSPDS::OP_1_HRG_RAND_MAX)))
    add_xparam(8, -(DPB::PSPDS::OPTION_2_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_MRG_RAND_MIN, DPB::PSPDS::OP_1_MRG_RAND_MAX)))
    add_xparam(9, -(DPB::PSPDS::OPTION_2_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_1_TRG_RAND_MIN, DPB::PSPDS::OP_1_TRG_RAND_MAX)))
    #s's
    add_sparam(0, -(DPB::PSPDS::OPTION_2_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_TGR_RAND_MIN, DPB::PSPDS::OP_2_TGR_RAND_MAX)))
    add_sparam(1, -(DPB::PSPDS::OPTION_2_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_2_GRD_RAND_MIN, DPB::PSPDS::OP_2_GRD_RAND_MAX)))
    add_sparam(2, -(DPB::PSPDS::OPTION_2_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_2_REC_RAND_MIN, DPB::PSPDS::OP_2_REC_RAND_MAX)))
    add_sparam(3, -(DPB::PSPDS::OPTION_2_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_2_PHA_RAND_MIN, DPB::PSPDS::OP_2_PHA_RAND_MAX)))
    add_sparam(4, -(DPB::PSPDS::OPTION_2_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_MCR_RAND_MIN, DPB::PSPDS::OP_2_MCR_RAND_MAX)))
    add_sparam(5, -(DPB::PSPDS::OPTION_2_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_TCR_RAND_MIN, DPB::PSPDS::OP_2_TCR_RAND_MAX)))
    add_sparam(6, -(DPB::PSPDS::OPTION_2_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_PDR_RAND_MIN, DPB::PSPDS::OP_2_PDR_RAND_MAX)))
    add_sparam(7, -(DPB::PSPDS::OPTION_2_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_MDR_RAND_MIN, DPB::PSPDS::OP_2_MDR_RAND_MAX)))
    add_sparam(8, -(DPB::PSPDS::OPTION_2_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_FDR_RAND_MIN, DPB::PSPDS::OP_2_FDR_RAND_MAX)))
    add_sparam(9, -(DPB::PSPDS::OPTION_2_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_2_EXR_RAND_MIN, DPB::PSPDS::OP_2_EXR_RAND_MAX)))
    #dpbz'
    add_dpbzparam(1, -(1))
    }
    end

    def reduce_dex(value)
    value.times{||
    #reg's
    add_param(0, -(DPB::PSPDS::OPTION_3_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MaxHP_RAND_MIN, DPB::PSPDS::OP_1_MaxHP_RAND_MAX)))
    add_param(1, -(DPB::PSPDS::OPTION_3_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MaxMP_RAND_MIN, DPB::PSPDS::OP_1_MaxMP_RAND_MAX)))
    add_param(2, -(DPB::PSPDS::OPTION_3_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_3_ATK_RAND_MIN, DPB::PSPDS::OP_3_ATK_RAND_MAX)))
    add_param(3, -(DPB::PSPDS::OPTION_3_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_3_DEF_RAND_MIN, DPB::PSPDS::OP_3_DEF_RAND_MAX)))
    add_param(4, -(DPB::PSPDS::OPTION_3_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MAT_RAND_MIN, DPB::PSPDS::OP_3_MAT_RAND_MAX)))
    add_param(5, -(DPB::PSPDS::OPTION_3_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MDF_RAND_MIN, DPB::PSPDS::OP_3_MDF_RAND_MAX)))
    add_param(6, -(DPB::PSPDS::OPTION_3_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_3_AGI_RAND_MIN, DPB::PSPDS::OP_3_AGI_RAND_MAX)))
    add_param(7, -(DPB::PSPDS::OPTION_3_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_3_LUK_RAND_MIN, DPB::PSPDS::OP_3_LUK_RAND_MAX)))
    #x's
    add_xparam(0, -(DPB::PSPDS::OPTION_3_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_3_HIT_RAND_MIN, DPB::PSPDS::OP_3_HIT_RAND_MAX)))
    add_xparam(1, -(DPB::PSPDS::OPTION_3_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_3_EVA_RAND_MIN, DPB::PSPDS::OP_3_EVA_RAND_MAX)))
    add_xparam(2, -(DPB::PSPDS::OPTION_3_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_3_CRI_RAND_MIN, DPB::PSPDS::OP_3_CRI_RAND_MAX)))
    add_xparam(3, -(DPB::PSPDS::OPTION_3_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_3_CEV_RAND_MIN, DPB::PSPDS::OP_3_CEV_RAND_MAX)))
    add_xparam(4, -(DPB::PSPDS::OPTION_3_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MEV_RAND_MIN, DPB::PSPDS::OP_3_MEV_RAND_MAX)))
    add_xparam(5, -(DPB::PSPDS::OPTION_3_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MRF_RAND_MIN, DPB::PSPDS::OP_3_MRF_RAND_MAX)))
    add_xparam(6, -(DPB::PSPDS::OPTION_3_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_3_CNT_RAND_MIN, DPB::PSPDS::OP_3_CNT_RAND_MAX)))
    add_xparam(7, -(DPB::PSPDS::OPTION_3_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_3_HRG_RAND_MIN, DPB::PSPDS::OP_3_HRG_RAND_MAX)))
    add_xparam(8, -(DPB::PSPDS::OPTION_3_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MRG_RAND_MIN, DPB::PSPDS::OP_3_MRG_RAND_MAX)))
    add_xparam(9, -(DPB::PSPDS::OPTION_3_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_3_TRG_RAND_MIN, DPB::PSPDS::OP_3_TRG_RAND_MAX)))
    #s's
    add_sparam(0, -(DPB::PSPDS::OPTION_3_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_TGR_RAND_MIN, DPB::PSPDS::OP_3_TGR_RAND_MAX)))
    add_sparam(1, -(DPB::PSPDS::OPTION_3_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_3_GRD_RAND_MIN, DPB::PSPDS::OP_3_GRD_RAND_MAX)))
    add_sparam(2, -(DPB::PSPDS::OPTION_3_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_3_REC_RAND_MIN, DPB::PSPDS::OP_3_REC_RAND_MAX)))
    add_sparam(3, -(DPB::PSPDS::OPTION_3_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_3_PHA_RAND_MIN, DPB::PSPDS::OP_3_PHA_RAND_MAX)))
    add_sparam(4, -(DPB::PSPDS::OPTION_3_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MCR_RAND_MIN, DPB::PSPDS::OP_3_MCR_RAND_MAX)))
    add_sparam(5, -(DPB::PSPDS::OPTION_3_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_TCR_RAND_MIN, DPB::PSPDS::OP_3_TCR_RAND_MAX)))
    add_sparam(6, -(DPB::PSPDS::OPTION_3_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_PDR_RAND_MIN, DPB::PSPDS::OP_3_PDR_RAND_MAX)))
    add_sparam(7, -(DPB::PSPDS::OPTION_3_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_MDR_RAND_MIN, DPB::PSPDS::OP_3_MDR_RAND_MAX)))
    add_sparam(8, -(DPB::PSPDS::OPTION_3_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_FDR_RAND_MIN, DPB::PSPDS::OP_3_FDR_RAND_MAX)))
    add_sparam(9, -(DPB::PSPDS::OPTION_3_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_3_EXR_RAND_MIN, DPB::PSPDS::OP_3_EXR_RAND_MAX)))
    #dpbz'
    add_dpbzparam(2, -(1))
    }
    end

    def reduce_mag(value)
    value.times{||
    #reg's
    add_param(0, -(DPB::PSPDS::OPTION_4_MaxHP_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MaxHP_RAND_MIN, DPB::PSPDS::OP_4_MaxHP_RAND_MAX)))
    add_param(1, -(DPB::PSPDS::OPTION_4_MaxMP_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MaxMP_RAND_MIN, DPB::PSPDS::OP_4_MaxMP_RAND_MAX)))
    add_param(2, -(DPB::PSPDS::OPTION_4_ATK_GAIN + dpbz_randy(DPB::PSPDS::OP_4_ATK_RAND_MIN, DPB::PSPDS::OP_4_ATK_RAND_MAX)))
    add_param(3, -(DPB::PSPDS::OPTION_4_DEF_GAIN + dpbz_randy(DPB::PSPDS::OP_4_DEF_RAND_MIN, DPB::PSPDS::OP_4_DEF_RAND_MAX)))
    add_param(4, -(DPB::PSPDS::OPTION_4_MAT_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MAT_RAND_MIN, DPB::PSPDS::OP_4_MAT_RAND_MAX)))
    add_param(5, -(DPB::PSPDS::OPTION_4_MDF_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MDF_RAND_MIN, DPB::PSPDS::OP_4_MDF_RAND_MAX)))
    add_param(6, -(DPB::PSPDS::OPTION_4_AGI_GAIN + dpbz_randy(DPB::PSPDS::OP_4_AGI_RAND_MIN, DPB::PSPDS::OP_4_AGI_RAND_MAX)))
    add_param(7, -(DPB::PSPDS::OPTION_4_LUK_GAIN + dpbz_randy(DPB::PSPDS::OP_4_LUK_RAND_MIN, DPB::PSPDS::OP_4_LUK_RAND_MAX)))
    #x's
    add_xparam(0, -(DPB::PSPDS::OPTION_4_HIT_GAIN + dpbz_randy(DPB::PSPDS::OP_4_HIT_RAND_MIN, DPB::PSPDS::OP_4_HIT_RAND_MAX)))
    add_xparam(1, -(DPB::PSPDS::OPTION_4_EVA_GAIN + dpbz_randy(DPB::PSPDS::OP_4_EVA_RAND_MIN, DPB::PSPDS::OP_4_EVA_RAND_MAX)))
    add_xparam(2, -(DPB::PSPDS::OPTION_4_CRI_GAIN + dpbz_randy(DPB::PSPDS::OP_4_CRI_RAND_MIN, DPB::PSPDS::OP_4_CRI_RAND_MAX)))
    add_xparam(3, -(DPB::PSPDS::OPTION_4_CEV_GAIN + dpbz_randy(DPB::PSPDS::OP_4_CEV_RAND_MIN, DPB::PSPDS::OP_4_CEV_RAND_MAX)))
    add_xparam(4, -(DPB::PSPDS::OPTION_4_MEV_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MEV_RAND_MIN, DPB::PSPDS::OP_4_MEV_RAND_MAX)))
    add_xparam(5, -(DPB::PSPDS::OPTION_4_MRF_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MRF_RAND_MIN, DPB::PSPDS::OP_4_MRF_RAND_MAX)))
    add_xparam(6, -(DPB::PSPDS::OPTION_4_CNT_GAIN + dpbz_randy(DPB::PSPDS::OP_4_CNT_RAND_MIN, DPB::PSPDS::OP_4_CNT_RAND_MAX)))
    add_xparam(7, -(DPB::PSPDS::OPTION_4_HRG_GAIN + dpbz_randy(DPB::PSPDS::OP_4_HRG_RAND_MIN, DPB::PSPDS::OP_4_HRG_RAND_MAX)))
    add_xparam(8, -(DPB::PSPDS::OPTION_4_MRG_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MRG_RAND_MIN, DPB::PSPDS::OP_4_MRG_RAND_MAX)))
    add_xparam(9, -(DPB::PSPDS::OPTION_4_TRG_GAIN + dpbz_randy(DPB::PSPDS::OP_4_TRG_RAND_MIN, DPB::PSPDS::OP_4_TRG_RAND_MAX)))
    #s's
    add_sparam(0, -(DPB::PSPDS::OPTION_4_TGR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_TGR_RAND_MIN, DPB::PSPDS::OP_4_TGR_RAND_MAX)))
    add_sparam(1, -(DPB::PSPDS::OPTION_4_GRD_GAIN + dpbz_randy(DPB::PSPDS::OP_4_GRD_RAND_MIN, DPB::PSPDS::OP_4_GRD_RAND_MAX)))
    add_sparam(2, -(DPB::PSPDS::OPTION_4_REC_GAIN + dpbz_randy(DPB::PSPDS::OP_4_REC_RAND_MIN, DPB::PSPDS::OP_4_REC_RAND_MAX)))
    add_sparam(3, -(DPB::PSPDS::OPTION_4_PHA_GAIN + dpbz_randy(DPB::PSPDS::OP_4_PHA_RAND_MIN, DPB::PSPDS::OP_4_PHA_RAND_MAX)))
    add_sparam(4, -(DPB::PSPDS::OPTION_4_MCR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MCR_RAND_MIN, DPB::PSPDS::OP_4_MCR_RAND_MAX)))
    add_sparam(5, -(DPB::PSPDS::OPTION_4_TCR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_TCR_RAND_MIN, DPB::PSPDS::OP_4_TCR_RAND_MAX)))
    add_sparam(6, -(DPB::PSPDS::OPTION_4_PDR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_PDR_RAND_MIN, DPB::PSPDS::OP_4_PDR_RAND_MAX)))
    add_sparam(7, -(DPB::PSPDS::OPTION_4_MDR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_MDR_RAND_MIN, DPB::PSPDS::OP_4_MDR_RAND_MAX)))
    add_sparam(8, -(DPB::PSPDS::OPTION_4_FDR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_FDR_RAND_MIN, DPB::PSPDS::OP_4_FDR_RAND_MAX)))
    add_sparam(9, -(DPB::PSPDS::OPTION_4_EXR_GAIN + dpbz_randy(DPB::PSPDS::OP_4_EXR_RAND_MIN, DPB::PSPDS::OP_4_EXR_RAND_MAX)))
    #dpbz'
    add_dpbzparam(3, -(1))
    }
    end

    end # Game_Actor

    1. amicable says:

      works like a charm, thank you! the only thing it doesn’t seem to want to do is reduce by a variable. don’t suppose that’s just me messing up and not putting things in properly? that might be the issue idk

  13. Dekita-RPG says:

    maybe try putting your variable like this…

    $game_actors[actor_id].reduce_vit($game_variable[variable_id].to_i)

    it could simply not be putting in a full number which may mess up the looping of the values being reduced

    1. amicable says:

      yeahhhh it puts .0 at the end of the numbers, not sure if that would be what’s causing the troubles? tried $game_actors[1].reduce_vit($game_variables[1].to_i) but still no dice, it keeps causing a Game_Interpreter to wig out and say

      line 1411: SyntaxError
      unexpected tLBRACK, expecting ‘)’
      [1].to_i

      i really wish i was better at scripting so i could understand all this stuff @ w @;

      i wouldn’t need variables, but i can’t think of any other way to get them back to 0, setting it to 999 or really anything higher than what the current stat is crashes the script.

  14. amicable says:

    hey, back again! when i updated your scripts, my game became unplayable ):
    “Script Game_Interpreter line 1411: NoMethodError occured.
    undefined method ‘pinfo1’ for #”

    i’m not sure what’s going on, but i’ll try to troubleshoot tomorrow and see if it’s a compatibility error with other scripts i have added in?

    (I’ve installed the core engine and have them arranged core > stat point distribute > stat screen)

  15. justin says:

    I love the script and it works great, but after a battle it goes

    Script ” line 2282: NameError occured

    uninitialized constant DPB::PSPDS::GAIN_ATTRIBUTE_MESSAGE

    How do I fix this? I don’t want the player to gain any extra points from just battling.

  16. Michele Lucis says:

    Hey, found your script really nice, the exact base for what I needed!
    Aside from adding stats, which I figured out how to do it on my own, I’ve been struggling on 2 points: I wanted to add a custom cost for the stat depending on the stat value, namely
    (STAT >= X) ? 2 : 1, but I couldn’t figure out to call the stat value >.<; since I'm working on a game which has a pen and paper type of leveling system, I needed to add some other secondary stats linked to the main ones, and had been trying to do it with http://www.rpgmakervxace.net/topic/419-nasty-extra-stats/, but couldn't figure out how to call the stats from nasty hash to the one in the coloumns of the PSPDS, as what I'm getting back is coloumns of "null" (or nill, can't remember which is ruby atm xD)

      1. Dekita-RPG says:

        im currently looking into the best ways for me to implement “formulas” for the cost of each stat, once i do i will release an update for the main script and probably a snippet to customize te default formulas, that way it doesnt mess up the customization that people have filled in, as theres quite alot of it :p

  17. jragyn says:

    This script has come a long way since it first spawned 😀
    I’m still waiting for you to functionalize it in such a way that you just pick which of the primary stats (the 6 basic stats + HP/MP/TP) you want to pump up rather than the 4 stats that you name whatever it is you name.

    Some day ;-;

  18. Chillsta says:

    Hello there!
    Once again, your scritps are awesome, thx so much for this stat system ^^’
    But i encounter a problem when paired with Yanfly’s Class system.
    The problem is that when i change to a lvl1 class and back to a lvl10 class (i.e.)
    i get all the points for those 10 lvls again, while the points i already spent still remain.

    Any help is really appreciated ^^

      1. Chillsta says:

        Thanks a lot! For what it’s worth i did some more research by myself, maybe it will help some:
        – The main problem is that the points are distributed for actor lvl
        – YF’s class system either makes away with class lvls, or adjusts the actor lvl based on the class lvl
        -The solution might be in your snippet for the PSPDS, changing “self.lvl” to “class.lvl”
        class.lvl didnt work out tho ^^’
        -Another bad solution would be to add points not from lvl ups but from monster kills

        What i would like to implement, is that you gain a few points for each class lvl gained.

        Anyway, thx for your fast response, time & effort! /bow

    1. Chillsta says:

      PSPDS Snippet 1
      Well, i get the following error right now:
      Skript PSPDS Snippet 1 line 58: Type Error ocurred
      Can’t convert nil into String

      This error most surely is based upon me not yet understanding how the snippet works.
      But i run out of time right now, so i figured i would at least let you know.
      I should be back in a few hours, then i will try to figure things out.

      Once again, thx!

      /bow

  19. Dekita-RPG says:

    that error would mean that the method to determine the stat growth has not been defined, this would happen if you had deleted a line of code/customisation or if the line was trying to check something which hasnt been defined.
    and i didnt even think that the level wasnt stored in class when i suggested to use that. lol

    Also, classses do not have levels (well YF’s script probably makes them, havent looked yet)

    Also, im sure you can add points from monsters using notetags. (positive i implemented that a while ago)

    yep (just checked) notetag is

    where X is the amount of points you gain from the enemy, place the tag in enemy notebox.

    you would then change it so no poins are gained frm level up. :p this help ?

    1. Chillsta says:

      Just came back. I will look into the error in a moment.
      Well yea, YF’s script gives classes lvls, then adjusts the actor’s lvl depending on which class is used. (like i said, i think that is where the main error comes from).
      About the notetags, they are in your script and will work fine.
      But i would still rather have the points gained with a lvl up of a class, since it seems to me that this would be a much better game design.
      If i would use the notetags and give points to monsters, ppl just could farm the easiest monsters out there, instead of trying out all kind of classes. But it would be a solution non the less i guess..

      ps. I m still very new to making a game, so i might be wrong about pretty much everything ;p

      all right! back to work ^^’

    2. Chillsta says:

      I tried to mess around with your Snippet again.
      If i dont change anything in the Skript, i get the error, which i described above.
      I then took your standard formula and used it as a script for may main character.

      Script:
      $game_actors[1].pts_form(” ( self.level + 5
      * (self.level/10) ) + 1 “)

      I tried different forms, deleting ( ) and/or ” ”

      Either way i got the following error:
      Skript PSPDS Snippet 1 line 58: Syntax Error ocurred
      Unexpected “)”, expecting tCOLONE2 or “[” or “.” *(self.lvl/10) + 1

      I get this error when lvling UP or when i switch from a lvl1 class to a lvl15

      Since i don’t need the Snippet, unless it would actually solve my problem, i will not get into it anymore for now.

      But what i did, was checking out the YF’s Class Script.
      line 606~
      new method: class_level Edited by DisturbedInside

      I guess there you will find what causes the problem and if it is fixable.
      Unfortunatelly for me it is only jibberish ^^’

      Here is a link to the Class Skript:

      Class System

      I am sorry, if i can’t be of anymore help even so it is my problem ^^’

      Thank you ( again ^^’ )

  20. Dekita-RPG says:

    yea the ( ) and “” are required or errors will always appear :p

    you could try..
    $game_actors[1].pts_form(” ( self.class_level(@class_id) “)

    may work , unsure as i dont have time to test right now./ but i will try get something done about this. whether this works or not 🙂

    1. Chillsta says:

      I tried and copied your suggestion as it is into an event, which is started by the action button.
      The moment i trigger it, i get a similar error as before:
      Skript PSPDS Snippet 1 line 1411: Syntax Error ocurred
      Unexpected tIDENTIFIER, expecting ‘)’ self.class_lvl(@class_id) “)

      Glad to hear that you definatelly want to fix it tho 😀
      if there is anything i can do to help, let me know.

  21. Dekita-RPG says:

    lol im gonna stop offering suggestions as they keep being wrong :p

    ive had a very busy week but i will try fix this when i get some time 🙂
    il keep you posted.

  22. Chillsta says:

    no problem, i dont mind trying ;P
    Also, i am in no hurry, since there are still a lot of things for me to do anyway.
    So i will be patiently on stand-by ^^

    /cheers

  23. svennihilator says:

    Hey,

    I’ve recently started into rpg maker vx ace and I’ve been trying to work with the PSPDS and the Core but I can’t seem to get them to run. I’m not getting any script errors, they simply don’t work. I’ve copy/pasted them as written so I’m not sure the what the problem could be as I’m new to this and probably did something terribly wrong. Any advice or help you could give would be wonderful.

    Thanks in advance,

    Sven

  24. Dekita-RPG says:

    they should automatically trigger when you level up…
    If you really cannot get them to work theres a link to a project containing the scripts in the perfect script list, called ‘Not Really a Demo’ this would be able to let you see the scripts working.

    1. Dekita-RPG says:

      Funnily enough, no i did not…

      HOWEVER…
      I have written a new stat distribution system, for the $D13x Engine,
      This new script will be released in a few days…
      Heres a Post i made today about the new script… a preview if you will…

      $D13x ISPDS Preview

      also, the new script DOES have the ability to reset all stats (and return spent points)

  25. remi says:

    Sorry for the stupid question … I got this script and the core script … how do you access this point distribution screen ? it doesn’t show up when I level up

    1. Dekita-RPG says:

      make sure the customization options allow for it to show either On_Map or In_Battle, either way i recommend using the $D13x ISPDS script instead as it offers ALOT more customization.

  26. Master Rob says:

    Hey, this is a fantastic script. Just 2 quick questions:

    1) How do I change the screen so there’s no variance in the stats? Ex: If my guy’s attack is 6, how do I make it just say “6” and not “5-7”. The way I have my game scaled, right now it says “6 – 6” which looks odd.

    2) How do I increase the rate at which the gauges fill? Ex: I’ve scaled my game down so the stats are generally lower, so when you level up, the stat increases are so small you can’t really see the gauges increase. How do I rescale the gauges so the maximum value for the gauge is the maximum possible value for the game?

    Thanks!

    1. Dekita-RPG says:

      I dont understand your question. You can get the script directly fro the link above. Why would i need to ‘send’ you it ?
      Also, this system is no longer supported because THERE IS A BETTER ONE, im sick of explaining this. so im not gonna bother…

Leave a reply to amicable Cancel reply