Adjust Limits

Last Updated: 2011.12.03
Download Link
Github Link

There exists some limitations in RPG Maker VX Ace that not everybody’s fond of. With this script, you can easily adjust the limits of each limitation. Here’s the list of various limits that can be changed:

  • – Gold Max  – Have more than 99,999,999 gold.
  • – Item Max  – Have more than 99 items. Customizable per item, too.
  • – Level Max – Exceed 99 levels. Parameters are automatically calculated based on the level 99 and level 98 stats in the class parameters.
  • – Stat Max  – Stats can exceed 999. Does not adjust for current formulas.

Maximum gold can now exceed 99,999,999. Use this script call to add/remove excess gold.

gain_gold(x)
lose_gold(x)

The price notetag can be used to adjust the price of items, weapons, and armours to exceed the maximum cost of 999,999.

<price: x>

Items can have varying maximum capacities. Use notetags to change them individually. Global maximums can be set in the module.

This notetag adjust the maximum limit per item (if you do not wish to use the global maximum).

<max limit: x>

These script calls allow you to gain/lose item amounts past 99.

gain_item(x, amount)
lose_item(x, amount)
gain_weapon(x, amount)
lose_weapon(x, amount)
gain_armour(x, amount)
lose_armour(x, amount)

Insert these tags in an actor’s notebox to change their initial and maximum levels.

<initial level: x>
<max level: x>

Actors that have a default max level of 99 will be changed to whatever the new global maximum is (set in the script module). If you wish to have it at level 99, insert <max level: 99> in the actor’s notebox.

When setting what level an actor can learn a skill, insert this tag to require actors to learn the new skill at a higher level than 99. This tag must go in the new Skill to Acquire window’s one line notebox.

<learn at level: x>

Insert these notetags into the noteboxes of weapons or armours to change the bonus parameters they yield. Values can exceed 500.

<stat: +x>
<stat: -x>
Replace stat with MAXHP, MAXMP, ATK, DEF, MAT, MDF, AGI, or LUK

Use these notetags to change enemy stats past the editor’s maximum limits. These stats are still confined by the global maximums.

<stat: x>
<stat: x>
Replace stat with MAXHP, MAXMP, ATK, DEF, MAT, MDF, AGI, or LUK

The module allows you to set the maximum limits for gold, items, levels, and stats. Adjust them properly. More instructions are included inside of the module.

And that’s all, folks!

100 comments on “Adjust Limits

    • There’s no way to do that efficiently without resorting to an external editor. Though, as far as map limitations are concerned, going past 500×500 tiles is pretty absurd IMO. The same with tilesets. More than likely, you’ll never encounter a time where you’ll need that much to use simultaneously.

      • I want to go past that i am working on a complete rework of final fantasy 7 with Crisis core and advent childen added into it…so i need to break some bounderys cause i dont want 90 diffrent tilesets with the same thing but slightly diffrent here and there…unless you know of a way to use all tilesets at the same time?

  1. Thank you ^^ This is very helpful. Let me know if you ever make a script that causes tiredness (lose stats gradually from travelling or fighting) ;)

    • if its slightly different “here and there” you could just use parallax mapping… that’s way you can just whack everything and anything in there… then use invisible collision tiles….

  2. I knew you would find a use for the new Skill to Acquire window’s one line notebox, sooner than later. Might I suggest a post for people to request old scripts of yours to be converted. Even if you never look at them because you prefer to do what you want to do, at least they will be in spot instead of in various posts that have nothing to do with requests.

  3. I have a suggestion here: Different colours when maxed. You may know it from Zelda, for example, when your item number gets yellow if it’s the maximum. Very useful with maximums other than 99, 999, 9999. For example 20 or 30.

  4. Oh, and another suggestion: max damage. Ideally as something to replace the “stat” tag, much like HP, MP and the like. Because then you could cap your damage for most weapons at 999 or 9999, but allow it to be higher for special ones. :)

  5. I have even another suggestion here: Make some of the limits based on a variable. So the player could, for instance, find new purses and increase their gold maximum. Also, a limit for items would be nice, so the player can find new bags to hold more different items (or a higher number of total items, which could be indicated somewhere saying like Items: 39/400).

  6. Sorry, I have to do it…

    “Vegeta! What does the scouter say about his power level??”

    “…IT’S OVER NINE THOUSAND!!!!!”

    In all seriousness, though, can this script also be used to set limits lower than the factory maximums?

  7. Having a problem getting it working on a new Project. maybe i am doing somethign wrong i don’t know keep getting an Error called load_database “Module” Error when loading up the game. Advice would be nice

      • Anon i just copy the script and placed it in a new project and just didn’t work. i will try it again though. it errors out on line 255

      • Yeah just tried it again. new project and try to test play and errors out on loading title screen i get this exact error..

        Script ‘ ‘ line255: NameError occured.
        undefined method ‘load_datebase’ for class ‘Module’

        This is my line 255 just incase something got messed up on me.

        class <<self; alias load_database_al load_database; end

        Thank you

      • Anon nevermind i found why it has the error. Didn’t noticed it was made for Ace only. i will look into Ace and see how that one is. thank you for the support

  8. Out of curiousity, why did you put the “replace gold name with icon” here? I realize it frees up space for larger gold amounts, but it’s something I’d expect to find in the Menu Engine.

    • Mostly because this script rewrites the way currency is drawn and is a core script meaning it’s placed higher up in the script list. A script lower in the script list with overwrites is more troubling than a script higher in the script list with overwrites.

  9. hi
    is there a possibility to adjust limits in game via call script??
    what i mean is:
    in script section: Parameter Settings i set MAXHP to 9999 Like default
    and in game hero equips Genji Armor (Armor Adjust limits MAXHP to 99999)
    after i unequips Genji armor MAXHP is back to 9999
    is it possible??

  10. i cant make this work. is i must use yanfly core engine? i already put the script between material and main. but when i set it in actor’s note in database, the initial level still default, not like my input initial level 150 in note. Is i miss something to make this works? the requirement only put between material and main right?

    • Maybe you’re missing this step: The module allows you to set the maximum limits for gold, items, levels, and stats. Adjust them properly. More instructions are included inside of the module.

      • i followed them. i tried make a new project and only put this script. Then i set the Initial level to 150 and make a change in script in PARAMETER SETTING so the LEVEL_MAX = 999. but still not worked. T-T Im so desperated.

  11. Maybe a bug?
    When I place the max level tag in the actor database and test the game, it gives me this line 294 ArgumentError, comparison of fixnum with nil failed.
    However, I place the initial level tag together and this error is gone.

    • i got those kind of error too. well,so i just put the initial level before max level. When I changed the stat of weapon to +1000 and it worked. but when i try to set the initial level, its not functioned. I even remove all the custom script i put inside, and still not worked only on initial level. T-T

  12. Hello.
    If an actor’s maximum number and the occupation maximum number are increased, general tools will increase.
    The number of multiplication of general tools also increases in connection with a number.
    It increases after a save load once.
    It is only once that increases.
    However, the conditions to increase were not able to be specified.
    But at least this script increased.
    Or is it only my condition?
    It writes also in Japanese.

    セーブ→ロード後に装備品が増えることがありました。
    アクターや職業、装備タイプ、装備品の最大数などにより変化します。
    条件がわかりませんでした。

  13. The reason the initial level for actors doesn’t work is that in the script it uses “INI_LEVEL” and @ini_level whereas the default is actually initial_level. I changed all instances in Yanfly’s script to initial_level and it worked fine.

  14. It is the correct script…

    # ▼ Yanfly Engine Ace – Adjust Limits v1.00
    # — Last Updated: 2011.12.03
    # — Level: Normal
    # — Requires: n/a
    #
    #==============================================================================

    $imported = {} if $imported.nil?
    $imported[“YEA-AdjustLimits”] = true

    #==============================================================================
    # ▼ Updates
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # 2011.12.03 – Finished Script.
    # 2011.12.02 – Started Script.
    #
    #==============================================================================
    # ▼ Introduction
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # There exists some limitations in RPG Maker VX Ace that not everybody’s fond
    # of. With this script, you can easily adjust the limits of each limitation.
    # Here’s the list of various limits that can be changed:
    #
    # – Gold Max – Have more than 99,999,999 gold.
    # – Item Max – Have more than 99 items. Customizable per item, too.
    # – Level Max – Exceed 99 levels. Parameters are automatically calculated based
    # on the level 99 and level 98 stats in the class parameters.
    # – Stat Max – Stats can exceed 999. Does not adjust for current formulas.
    #
    #==============================================================================
    # ▼ Instructions
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # To install this script, open up your script editor and copy/paste this script
    # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
    #
    # —————————————————————————–
    # Actor Notetags – These notetags go in the actors notebox in the database.
    # —————————————————————————–
    #
    # Sets the initial level for the specific actor. Can go above level 99 as long
    # as the max level is higher than 99. Default initial level limit is 99.
    #
    #
    # Sets the max level for the specific actor. Can go above level 99 as long as
    # the higher limit is defined in the module. Default max level is level 99.
    #
    # —————————————————————————–
    # Class Notetags – These notetags go in the class notebox in the database.
    # —————————————————————————–
    #
    # This actually goes inside of the skill learning “notes” box. Replace x with
    # the level you wish for the class to learn the skill at. This enables classes
    # to learn new skills past level 99.
    #
    # —————————————————————————–
    # Item Notetags – These notetags go in the items notebox in the database.
    # —————————————————————————–
    #
    # Changes the maximum number of items that can be held from whatever the
    # normal amount that can be held. Default amount is 99.
    #
    #
    # Changes the price of the item to x. Allows you to go over the price of
    # 999,999 gold if your maximum gold exceeds that amount. Default maximum gold
    # is 99,999,999 gold.
    #
    # —————————————————————————–
    # Weapon Notetags – These notetags go in the weapons notebox in the database.
    # —————————————————————————–
    #
    # Changes the maximum number of items that can be held from whatever the
    # normal amount that can be held. Default amount is 99.
    #
    #
    # Changes the price of the item to x. Allows you to go over the price of
    # 999,999 gold if your maximum gold exceeds that amount. Default maximum gold
    # is 99,999,999 gold.
    #
    #
    #
    # Changes the stat bonus of the piece of equipment to yield +x or -x. Allows
    # bonus to go over +500 and under -500. Replace stat with one of the following:
    # MAXHP, MAXMP, ATK, DEF, MAT, MDF, AGI, LUK
    #
    # —————————————————————————–
    # Armour Notetags – These notetags go in the armours notebox in the database.
    # —————————————————————————–
    #
    # Changes the maximum number of items that can be held from whatever the
    # normal amount that can be held. Default amount is 99.
    #
    #
    # Changes the price of the item to x. Allows you to go over the price of
    # 999,999 gold if your maximum gold exceeds that amount. Default maximum gold
    # is 99,999,999 gold.
    #
    #
    #
    # Changes the stat bonus of the piece of equipment to yield +x or -x. Allows
    # bonus to go over +500 and under -500. Replace stat with one of the following:
    # MAXHP, MAXMP, ATK, DEF, MAT, MDF, AGI, LUK
    #
    # —————————————————————————–
    # Enemy Notetags – These notetags go in the enemy notebox in the database.
    # —————————————————————————–
    #
    # Changes the stat of the enemy to x value. Allows going over the database max
    # values. Replace stat with one of the following:
    # MAXHP, MAXMP, ATK, DEF, MAT, MDF, AGI, LUK, EXP, GOLD
    #
    # —————————————————————————–
    # Script Calls – These commands are used with script calls.
    # —————————————————————————–
    # gain_gold(x)
    # lose_gold(x)
    # Causes the player to gain/lose x gold. Allows you to go over 9,999,999 gold.
    # Default maximum gold is 99,999,999.
    #
    # gain_item(x, y)
    # lose_item(x, y)
    # gain_weapon(x, y)
    # lose_weapon(x, y)
    # gain_armour(x, y)
    # lose_armour(x, y)
    # Causes the player to gain/lose x item in y amount. Allows you to go over 99
    # quantity. Default quantity is 99.
    #
    #==============================================================================
    # ▼ Compatibility
    # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
    # it will run with RPG Maker VX without adjusting.
    #
    #==============================================================================

    module YEA
    module LIMIT

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # – Gold Settings –
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Adjust gold settings here. You can change the maximum amount of gold to
    # whatever you want. In addition to that, you can also adjust whether or
    # not you wish for your gold display to show an icon instead, (and change
    # the font size if needed). If there’s too much gold that’s to be displayed
    # then you can change the text shown in place of that.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    GOLD_MAX = 999999999999999 # Maximum gold.
    GOLD_ICON = 361 # Icon used for gold. Use 0 for text currency.
    GOLD_FONT = 16 # Font size used to display gold.
    TOO_MUCH_GOLD = “A lotta gold!” # Text used when gold cannot fit.

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # – Item Settings –
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Adjust item settings here. You can change the maximum number of items
    # held from 99 to whatever you want. In addition to that, change the prefix
    # used for items when shown in the item display menu (and the font size if
    # needed). Items can have individual maximums through usage of the
    # notetag.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    ITEM_MAX = 999 # The default maximum number of items held each.
    ITEM_FONT = 16 # Font size used to display item quantity.
    SHOP_FONT = 16 # Font size used for shop item costs.
    ITEM_PREFIX = “×%s” # Prefix used for item quantity in item lists.

    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # – Parameter Settings –
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Adjust the limits for each of the various stats (for MaxHP, MaxMP, ATK,
    # DEF, MAT, and more). Adjust them as you see fit.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    LEVEL_MAX = 999 # Sets max level to x for those with 99 level limit.
    MAXHP_MAX = 9999999 # Sets MaxHP to something higher than 9999.
    MAXMP_MAX = 9999999 # Sets MaxMP to something higher than 9999.
    PARAM_MAX = 99999 # Sets stat max for something higher than 999.
    EQUIP_FONT = 16 # Changes the default equip window font size.

    end # LIMIT
    end # YEA

    #==============================================================================
    # ▼ Editting anything past this point may potentially result in causing
    # computer damage, incontinence, explosion of user’s head, coma, death, and/or
    # halitosis so edit at your own risk.
    #==============================================================================

    module YEA
    module REGEXP
    module ACTOR

    MAX_LEVEL = //i
    INITIAL_LEVEL = //i

    end # ACTOR
    module CLASS

    LEARN_AT_LV = //i

    end # CLASS
    module BASEITEM

    PRICE = //i
    MAX_LIMIT = //i
    STAT_SET = //i

    end # BASEITEM
    module ENEMY

    STAT_SET = //i

    end # ENEMY
    end # REGEXP
    end # YEA

    #==============================================================================
    # ■ Icon
    #==============================================================================

    module Icon

    #————————————————————————–
    # self.gold
    #————————————————————————–
    def self.gold; return YEA::LIMIT::GOLD_ICON; end

    end # Icon

    #==============================================================================
    # ■ Numeric
    #==============================================================================

    class Numeric

    #————————————————————————–
    # new method: group_digits
    #————————————————————————–
    unless $imported[“YEA-CoreEngine”]
    def group; return self.to_s; end
    end # $imported[“YEA-CoreEngine”]

    end # Numeric

    #==============================================================================
    # ■ DataManager
    #==============================================================================

    module DataManager

    #————————————————————————–
    # alias method: load_database
    #————————————————————————–
    class <<self; alias load_database_al load_database; end
    def self.load_database
    load_database_al
    load_notetags_al
    end

    #————————————————————————–
    # new method: load_notetags_al
    #————————————————————————–
    def self.load_notetags_al
    groups = [$data_actors, $data_items, $data_weapons, $data_armors,
    $data_enemies, $data_classes]
    for group in groups
    for obj in group
    next if obj.nil?
    obj.load_notetags_al
    end
    end
    end

    end # DataManager

    #==============================================================================
    # ■ RPG::Actor
    #==============================================================================

    class RPG::Actor < RPG::BaseItem

    #————————————————————————–
    # common cache: load_notetags_al
    #————————————————————————–
    def load_notetags_al
    @max_level = YEA::LIMIT::LEVEL_MAX if @max_level == 99
    #—
    self.note.split(/[\r\n]+/).each { |line|
    case line
    #—
    when YEA::REGEXP::ACTOR::MAX_LEVEL
    @max_level = [[$1.to_i, 1].max, YEA::LIMIT::LEVEL_MAX].min
    @initial_level = [@initial_level, @max_level].min
    when YEA::REGEXP::ACTOR::INITIAL_LEVEL
    @initial_level = [[$1.to_i, 1].max, @max_level].min
    #—
    end
    } # self.note.split
    #—
    end

    end # RPG::Actor

    #==============================================================================
    # ■ RPG::Class
    #==============================================================================

    class RPG::Class < RPG::BaseItem

    #————————————————————————–
    # new method: above_lv99_params
    #————————————————————————–
    def above_lv99_params(param_id, level)
    return @params[param_id, level] if level <= 99
    n = @params[param_id, 99]
    multiplier = [level – 99, 1].max
    change = (@params[param_id, 99] – @params[param_id, 98]) + 1
    n += change * multiplier
    return n
    end

    #————————————————————————–
    # new method: load_notetags_al
    #————————————————————————–
    def load_notetags_al
    for item in @learnings; item.load_notetags_al; end
    end

    end # RPG::Class

    #==============================================================================
    # ■ RPG::Class::Learning
    #==============================================================================

    class RPG::Class::Learning

    #————————————————————————–
    # common cache: load_notetags_al
    #————————————————————————–
    def load_notetags_al
    #—
    self.note.split(/[\r\n]+/).each { |line|
    case line
    #—
    when YEA::REGEXP::CLASS::LEARN_AT_LV
    @level = [[$1.to_i, 1].max, YEA::LIMIT::LEVEL_MAX].min
    #—
    end
    } # self.note.split
    #—
    end

    end # RPG::Class::Learning

    #==============================================================================
    # ■ RPG::BaseItem
    #==============================================================================

    class RPG::BaseItem

    #————————————————————————–
    # public instance variables
    #————————————————————————–
    attr_accessor :max_limit

    #————————————————————————–
    # common cache: load_notetags_al
    #————————————————————————–
    def load_notetags_al
    @max_limit = YEA::LIMIT::ITEM_MAX
    #—
    self.note.split(/[\r\n]+/).each { |line|
    case line
    #—
    when YEA::REGEXP::BASEITEM::PRICE
    @price = [$1.to_i, YEA::LIMIT::GOLD_MAX].min
    when YEA::REGEXP::BASEITEM::MAX_LIMIT
    @max_limit = [$1.to_i, 1].max
    when YEA::REGEXP::BASEITEM::STAT_SET
    case $1.upcase
    when "HP", "MAXHP", "MHP"
    @params[0] = $2.to_i
    when "MP", "MAXMP", "MMP", "SP", "MAXSP", "MSP"
    @params[1] = $2.to_i
    when "ATK"
    @params[2] = $2.to_i
    when "DEF"
    @params[3] = $2.to_i
    when "MAT", "INT", "SPI"
    @params[4] = $2.to_i
    when "MDF", "RES"
    @params[5] = $2.to_i
    when "AGI", "SPD"
    @params[6] = $2.to_i
    when "LUK", "LUCK"
    @params[7] = $2.to_i
    end
    #—
    end
    } # self.note.split
    #—
    end

    #————————————————————————–
    # new method: max_limit
    #————————————————————————–
    def max_limit; return @max_limit; end

    end # RPG::BaseItem

    #==============================================================================
    # ■ RPG::Enemy
    #==============================================================================

    class RPG::Enemy < RPG::BaseItem

    #————————————————————————–
    # common cache: load_notetags_al
    #————————————————————————–
    def load_notetags_al
    #—
    self.note.split(/[\r\n]+/).each { |line|
    case line
    #—
    when YEA::REGEXP::ENEMY::STAT_SET
    case $1.upcase
    when "HP", "MAXHP", "MHP"
    @params[0] = $2.to_i
    when "MP", "MAXMP", "MMP", "SP", "MAXSP", "MSP"
    @params[1] = $2.to_i
    when "ATK"
    @params[2] = $2.to_i
    when "DEF"
    @params[3] = $2.to_i
    when "MAT", "INT", "SPI"
    @params[4] = $2.to_i
    when "MDF", "RES"
    @params[5] = $2.to_i
    when "AGI", "SPD"
    @params[6] = $2.to_i
    when "LUK", "LUCK"
    @params[7] = $2.to_i
    when "EXP", "XP"
    @exp = $2.to_i
    when "GOLD", "GP"
    @gold = $2.to_i
    end
    #—
    end
    } # self.note.split
    #—
    end

    end # RPG::Enemy

    #==============================================================================
    # ■ Game_BattlerBase
    #==============================================================================

    class Game_BattlerBase

    #————————————————————————–
    # overwrite method: param_max
    #————————————————————————–
    def param_max(param_id)
    return YEA::LIMIT::MAXHP_MAX if param_id == 0
    return YEA::LIMIT::MAXMP_MAX if param_id == 1
    return YEA::LIMIT::PARAM_MAX
    end

    end # Game_BattlerBase

    #==============================================================================
    # ■ Game_Actor
    #==============================================================================

    class Game_Actor < Game_Battler

    #————————————————————————–
    # overwrite method: param_max
    #————————————————————————–
    def param_max(param_id)
    return super
    end

    #————————————————————————–
    # overwrite method: param_base
    #————————————————————————–
    def param_base(param_id)
    return self.class.params[param_id, @level] if @level <= 99
    return self.class.above_lv99_params(param_id, @level)
    end

    #————————————————————————–
    # new method: check_levels
    #————————————————————————–
    def check_levels
    last_level = @level
    @level = [[@level, max_level].min, 1].max
    return if @level == last_level
    change_exp(exp_for_level(@level), false)
    end

    end # Game_Actor

    #==============================================================================
    # ■ Game_Party
    #==============================================================================

    class Game_Party < Game_Unit

    #————————————————————————–
    # overwrite method: max_gold
    #————————————————————————–
    def max_gold; return YEA::LIMIT::GOLD_MAX; end

    #————————————————————————–
    # overwrite method: max_item_number
    #————————————————————————–
    def max_item_number(item); return item.max_limit; end

    end # Game_Party

    #==============================================================================
    # ■ Game_Interpreter
    #==============================================================================

    class Game_Interpreter

    #————————————————————————–
    # new method: gain_gold
    #————————————————————————–
    def gain_gold(value); $game_party.gain_gold(value); end

    #————————————————————————–
    # new method: lose_gold
    #————————————————————————–
    def lose_gold(value); $game_party.lose_gold(value); end

    #————————————————————————–
    # new method: gain_item
    #————————————————————————–
    def gain_item(id, amount)
    return if $data_items[id].nil?
    $game_party.gain_item($data_items[id], amount)
    end

    #————————————————————————–
    # new method: lose_item
    #————————————————————————–
    def lose_item(id, amount)
    return if $data_items[id].nil?
    $game_party.lose_item($data_items[id], amount)
    end

    #————————————————————————–
    # new method: gain_weapon
    #————————————————————————–
    def gain_weapon(id, amount)
    return if $data_weapons[id].nil?
    $game_party.gain_item($data_weapons[id], amount)
    end

    #————————————————————————–
    # new method: lose_weapon
    #————————————————————————–
    def lose_weapon(id, amount)
    return if $data_weapons[id].nil?
    $game_party.lose_item($data_weapons[id], amount)
    end

    #————————————————————————–
    # new method: gain_armour
    #————————————————————————–
    def gain_armour(id, amount)
    return if $data_armors[id].nil?
    $game_party.gain_item($data_armors[id], amount)
    end

    #————————————————————————–
    # new method: lose_armour
    #————————————————————————–
    def lose_armour(id, amount)
    return if $data_armors[id].nil?
    $game_party.lose_item($data_armors[id], amount)
    end

    #————————————————————————–
    # new method: gain_armor
    #————————————————————————–
    def gain_armor(id, amount)
    return if $data_armors[id].nil?
    $game_party.gain_item($data_armors[id], amount)
    end

    #————————————————————————–
    # new method: lose_armor
    #————————————————————————–
    def lose_armor(id, amount)
    return if $data_armors[id].nil?
    $game_party.lose_item($data_armors[id], amount)
    end

    end # Game_Interpreter

    #==============================================================================
    # ■ Window_Base
    #==============================================================================

    class Window_Base dw-cx
    draw_text(dx, dy, dw – cx – 2, line_height, text, 2)
    change_color(system_color)
    draw_icon(Icon.gold, dx+dw-24, dy) if gold_icon?(unit)
    draw_text(dx, dy, dw, line_height, unit, 2) unless gold_icon?(unit)
    reset_font_settings
    end

    #————————————————————————–
    # new method: gold_icon?
    #————————————————————————–
    def gold_icon?(unit)
    return false if unit != Vocab.currency_unit
    return YEA::LIMIT::GOLD_ICON > 0
    end

    end # Window_Base

    #==============================================================================
    # ■ Window_ItemList
    #==============================================================================

    class Window_ItemList < Window_Selectable

    #————————————————————————–
    # overwrite method: draw_item_number
    #————————————————————————–
    def draw_item_number(rect, item)
    contents.font.size = YEA::LIMIT::ITEM_FONT
    quantity = $game_party.item_number(item).group
    text = sprintf(YEA::LIMIT::ITEM_PREFIX, quantity)
    draw_text(rect, text, 2)
    reset_font_settings
    end

    end # Window_ItemList

    #==============================================================================
    # ■ Window_EquipStatus
    #==============================================================================

    class Window_EquipStatus < Window_Base

    #————————————————————————–
    # overwrite method: draw_item
    #————————————————————————–
    def draw_item(dx, dy, param_id)
    draw_param_name(dx + 4, dy, param_id)
    draw_current_param(dx + 64, dy, param_id) if @actor
    draw_right_arrow(dx + 110, dy)
    draw_new_param(dx + 132, dy, param_id) if @temp_actor
    reset_font_settings
    end

    #————————————————————————–
    # overwrite method: draw_param_name
    #————————————————————————–
    def draw_param_name(dx, dy, param_id)
    contents.font.size = YEA::LIMIT::EQUIP_FONT
    change_color(system_color)
    draw_text(dx, dy, contents.width, line_height, Vocab::param(param_id))
    end

    #————————————————————————–
    # overwrite method: draw_current_param
    #————————————————————————–
    def draw_current_param(dx, dy, param_id)
    change_color(normal_color)
    draw_text(0, dy, dx+48, line_height, @actor.param(param_id).group, 2)
    reset_font_settings
    end

    #————————————————————————–
    # overwrite method: draw_new_param
    #————————————————————————–
    def draw_new_param(dx, dy, param_id)
    contents.font.size = YEA::LIMIT::EQUIP_FONT
    new_value = @temp_actor.param(param_id)
    change_color(param_change_color(new_value – @actor.param(param_id)))
    draw_text(0, dy, contents.width-4, line_height, new_value.group, 2)
    reset_font_settings
    end

    end # Window_EquipStatus

    #==============================================================================
    # ■ Window_ShopBuy
    #==============================================================================

    class Window_ShopBuy < Window_Selectable

    #————————————————————————–
    # overwrite method: draw_item
    #————————————————————————–
    def draw_item(index)
    item = @data[index]
    rect = item_rect(index)
    draw_item_name(item, rect.x, rect.y, enable?(item))
    rect.width -= 4
    contents.font.size = YEA::LIMIT::SHOP_FONT
    draw_text(rect, price(item).group, 2)
    reset_font_settings
    end

    end # Window_ShopBuy

    #==============================================================================
    # ■ Scene_Load
    #==============================================================================

    class Scene_Load < Scene_File

    #————————————————————————–
    # alias method: on_load_success
    #————————————————————————–
    alias on_load_success_al on_load_success
    def on_load_success
    on_load_success_al
    perform_level_check
    end

    #————————————————————————–
    # new method: perform_level_check
    #————————————————————————–
    def perform_level_check
    for i in 1..$data_actors.size
    next if $game_actors[i].nil?
    $game_actors[i].check_levels
    end
    end

    end # Scene_Load

    #==============================================================================
    #
    # ▼ End of File
    #
    #==============================================================================

  15. Would it be possible to update this script to include a Damage Limit as well? I’d like to cap the damage that a character can inflict per hit to 9,999 or 99,999.

  16. This script as posted, is broken. I’ve disabled everything but it and the core script, and every time I save a game, when I load it the character has a crap load of weapons which they didn’t have prior to save — and some of those weapons are completely blank.. no name, no stats, no nothing. I suppose they’re taken from blank spots in my weapon database which I’ve saved for expansion use later.

    I’d love to be able to change some of the limits on items, but as it stands, this script simply doesn’t work for me at all. It corrupts any save file that it’s used on.

    Actually, I take that back. It corrupts any LOADING file. When I get rid of this script, everything loads fine. The items which magically appear when this is in the script list disappear. They’re not in the save, they appear when this is an active script in the LOAD GAME.

  17. I am just curious. I posted the scripts for the adjustments between Materials and Main and yet I can’t seem to find that it isn’t working for me. I feel incredibly stupid. Is there something that I am doing wrong in order not to get that script to work?

  18. Hello.
    I would like to know if I can adjust the HP limit of actors ? (9999 for exemple)
    Because I don’t want them to have more than 9999 HP and I want that enemies have more than 9999 hp….
    Thanks :)

  19. I wonder if we can make a game with the max level is less than say 99?
    Cause I wanted to create just a random short game with the max level is only
    say 20 but It’s not allowing me to set it that low.

  20. line 317: SyntaxError occured.
    “unexpected tIDENTIFIER, expecting ‘)’
    change = 9@params[param_id, 99] – @params[param_id, 98]) + 1”

    I would fix this myself if I knew even a little about scripting… but I am unable to.
    Mind telling me how I can fix this?

  21. You have to change all the “ini_level” and “INI_LEVEL” to the full name initial_level/INITIAL_LEVEL. that will make work

  22. Is it possible to make the notetag “” work as a Class Notetag? I mean, for example… Warrior’s Max Level is 99, but when changing class, Berserker’s Max Level goes up to 150.

  23. It would be AWESOME if you incorporate a way to keep the Max HP gain curves, but still raise the max HP cap. Right now, I can raise the max HP cap to insane highs, but the only way to implement it is by having the target actor equip armour that increases their HP. It would be great if I could just make the class’s base max HP go higher than 9.999

    • It tells you exactly what to do if you look at it…

      Find this part of the script:

      #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
      # – Parameter Settings –
      #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
      # Adjust the limits for each of the various stats (for MaxHP, MaxMP, ATK,
      # DEF, MAT, and more). Adjust them as you see fit.
      #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
      LEVEL_MAX = 99 # Sets max level to x for those with 99 level limit.

      see where it says “LEVEL_MAX = 99”? change that to whatever you want.

      • Do you happen to know how to change the EXP curves, as well? I have my max level set to 255, and I’m not liking the little amount needed per level.

    • I don’t think this script would be able to help you do that,
      you’d have to make a switch that removes one or the other when you come into possession of either item, so for instance, you have a broken sword but then you fix it, so you could put a switch on the removes the broken sword from your inventory and adds the sword, then when the sword breaks just do the opposite?

      Hope this helps

  24. Holy man! I love this script! One of the characters in my game is supposed to be this all-powerful guy who is just overpowered. This, and Lunatic Damage, are just perfect for this guy!
    Thank you for this awesome script!

  25. I have a problem that also occured with the battle system script

    Script ‘Adjust Limits’ line 103: NoMethodError occured.
    undefined method `[]’ for nil:NilClass

    With the battle system script I tried to remove the lines, but that gave some weird results, such as only parts of the script being executed.

    Could you please tell me what the problem is and how to solve it?

    Thanks

  26. Hello!

    I changed LEVEL_MAX = 99 –> LEVEL_MAX = 9999

    And in the notebox of my Actor 2 :

    But nothing happens, did i make a mistake?
    Tks for help!

  27. So I just downloaded and added all the scripts except lunatic scripts, and when I try to test my game now an error pops up that says Script ‘Adjust limits’ line 1: SyntaxError occurred.

    unexpected tEQQ
    So I really don’t know what to do

  28. figured that one out, new error
    Script ‘Adjust limits’ line 294: ArgumentError occurred.
    comparison of Fixnum with nil failed

  29. ok I am all confused on this. I am trying to add the scripts but I cannot for the life of me figure out what to modify in the scripts in order to get the limit adjustment to stick. I really would appreciate it if somebody could give me some pointers

  30. I fixed the error finally.
    You have to replace all variables like INI_LEVEL to INITIAL_LEVEL.
    There are five instances like this:

    Line 195 and 295:
    “INI_LEVEL” replace to “INITIAL_LEVEL”

    Line 294 (two times) and 296:
    “@ini_level” replace to “@initial_level”

    It works!!

  31. Hey Yanfly, thanks for sharing you’re scripts with everyone! :)

    I wish I could just leave it at that, as it seems everyone is finding some sort of issue… but…

    I don’t know if it’s a compatability issue and I’ll (try) look in to it. But every time I load a game, random Items spawn in the inventory (Obviously, I don’t have a script or common event to do this). When I remove this script, keeping the other yanfly scripts, the problem goes away as well.

    The weirder thing is… the random items cannot be used. It’s mostly armor Items. I’ve checked basically every item in database to see some don’t even have notes or anything script related. Is anyone else getting this same issue using this?

    • Well you see… I do. I start a new game, save, reload.
      After all, I have to test my game thoroughly, I don’t want friends/community playing a demo and suddenly get dragon armor, such a glitch would kill the difficulty of the game. XD

  32. First, I love your scripts! I have a question regarding this one: Is it possible to change the LUK parameter to 0 for all chars (..or specific ones)? I mean maybe via class notetags? Thanks!

  33. Hey Yanfly thanks for the awesome script, not sure if this is possible but is there anyway to limit overall item carying in the inventory? include weapon, armour and items? thanks in advance

  34. I am currently having a issue that states “Script ‘Limit_break’ Line204:NoMethodError occurred Undefined Method ‘[]’ for nil:NilClass

    #==============================================================================
    # ■ Numeric
    #==============================================================================

    class Numeric

    #————————————————————————–
    # new method: group_digits
    #————————————————————————–
    unless $imported[“YEA-CoreEngine”] <—-this is line204 that is apparently giving me issues
    def group; return self.to_s; end
    end # $imported["YEA-CoreEngine"]

    end # Numeric

  35. When I set a stat to no increase in the entire 1-99 level set (as for example in all level the value of a stat will be 12) passing the 100+ level the stat not supposed to increase, increase anyway.
    too if one stat decrease a corse of lvl, then pas 100+ intead of continue decreasing simply stop growing.

    Is there a way to make an stat to not increase never or continue decreasing past 100+ (to the minimun of 1)???

  36. Hey Yanfly, is it possible to actually limit actor’s statuses? Like for example, limiting all the actors’ HP to 99999 while still allowing the enemies to hold until 9999999?

  37. Hey. Cool script. Is there a way to limit total amount of items in menu not only for one specified types of items i mean for all in menus for example no more than 50 itemst totally in menu (something like max weight of all items)

  38. Hey Yanfly, I just want to request or ask, whichever this goes to. Is it possible for us to limit an actor’s STATS, as opposed to just setting their max level? If so, how? Since we can set enemies’ stats, I was wondering if we can simply set an actor’s stats as well.

  39. I have trouble first but after a few try n error.I did get the script to work
    Thanks to the previous comment pointing out change the ini_level to initial_level n INI_LEVEL to INITIAL_LEVEL. use ctrl+f in the script editor help to find the “ini”. a very nice script

  40. Hi! Does anybody know if it’s possible to use this script to permanently set a character’s (not an enemy’s!) parameter (let’s say ATK) to zero without using weapons or armour?

    Thank you!

  41. Error in line 491 no method… why i get this??

    #————————————————————————–
    # overwrite method: param_base
    #————————————————————————–
    def param_base(param_id)
    491 return self.class.params[param_id, @level] if @level <= 99
    return self.class.above_lv99_params(param_id, @level)
    end

    • I fixed it…. is not a script problem but one mine bad change in classes and saved project…

      i had saved the project with 20 classes and then i deleted 2 but when i changed it again and have 20 classes again is ok… it was a save problem not a script one..

      great job by the way!

  42. Pardon me, but is Yanfly going to make an Adjust Limits Plugin for RMMV?
    That would be sweet.

    I’m actually going to use it to make an Rune Combination Learning System, using 3 variables based on Icon IDs. The First Icon is the Main Rune, which is used to assign which type of element the spell is. The Second Icon is the Targetting Rune, which assigns to which character or opponent the spell is used for. The last rune is the Miscellaneous Rune, which is used to modify the spell even further, and can be used to intensify spells, escape combat, summon vehicles, cast summon-level spells, etc.

    So, after choosing 3 Icons, convert the three IDs to make a variable to which I would verify which skill I would have the characters learn. It’s just a simple
    (Main Rune ID)+(Target Rune ID*1000)+(Misc Rune ID*1000000).

    The highest Icon ID in the standard RMMV is 316. This can make it exceed the 8-digit variable limit at times.

  43. Is there any way to remove the gold icon and let my currency be the regular currency? I’m only using this script for levels and stats.

  44. Quick question:

    I’m getting an error that looks like this:

    Script “Yanfly Level +” line 294: ArgumentError occurred

    comparison of Fixnum with nil failed

  45. Yo, so when using the script I noticed something weird. When they go past level 99, the stats get broken. As in my actor that has high Attack but low Magic Attack suddenly gets higher Magic Attack than Attack when they go past level 99, when it should be the opposite. I’m not sure why, but I feel it is related to this script. Could you help out?

  46. Heyy, so whenever I use this script, the actors levels are moved far across to the side in menus, behind the HP/MP bars. why is it doing this?

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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