Equipment Levels Up

By Fomar0153
Last Updated: 02 March 2012 (Version 1.0)
Requires: Individual Equipment
Requires: AP System (if levelling using AP)
Download Link:

Nearly failed on day 2. But I didn’t. Anyway this script allows your equipment to level up in battles. Either using EXP or AP.



  1. Carlos says:

    i’m geting an error on “class Game_CustomEquip < Game_BaseItem", it says that the name is rong, any help plz?

    oh and btw, keep the good work ;D

  2. Carlos says:

    Problem solved xD my bad
    but my equip/wep dosen’t lvl, neather with EXP or AP :S (sry for bad english)

  3. Fomar0153 says:

    What other scripts are you using?
    Also just to make sure you have this script below the individual equipment script?

    • Carlos says:

      yes I have, I only use this scrips and Yanfly scripts.
      This script shows the lvl of the equip/wep but they don’t lvl up :S any clue?

      • Fomar0153 says:

        Not sure off hand. The easiest way for me to help would be if I could get a copy of your scripts file. If not list which of YF’s scripts you are using and I’ll take a look.

  4. Carlos says:

    Yup it is in that order :S

  5. Fomar0153 says:

    I’m really sorry then but I don’t know what I can do. I can’t replicate the error. In a clean project it should work fine. If you want to send me a clean project which has the error I can have a look.

  6. Andre says:

    Hey man great script but I was wondering how do you change how much ap it takes to level up a weapon?
    If you have the time please get back to me :)

    • Fomar0153 says:

      Search for the line:
      def self.WLU_AP_FOR_LEVEL(item); return item.performance; end
      and then edit that.

      • Asrail says:

        In which way should I edit it? I’ve got nearly zero experience with scripts. What should I write, when I want it to need 10 AP for the first lvl up, 30 for the next, then 90, then 270 and so on? I’m sorry to bother you :/ (and maybe for armors more than weapons?)
        At the moment, no Weapon or Armor gains lvl ups.
        And I don’t know how to get your ATB/CTB working. I got no errors, I got nothing. Just the default normal battle system.

  7. Maker says:

    I use a Action battle system and the exp gain not works.
    Can you give me an evenement line script to add exp.
    (A script line who works in evenement).

    Sorry for my english, I’m a french.

    • Fomar0153 says:

      It should work (unless you are using the AP System)?

      Link me to the Action battle system.
      I’ll have a look when I get a chance.

      • Maker says:

        I use Sapphire Action System IV, and I just prefer to give experience only at the weapon.
        Maybe by AP system.
        Thanks for your help.

        • Fomar0153 says:

          I’ve got some free time at last.
          Could you link me to a copy of the script and then I’ll have a look or upload a project with the scripts either will do.

  8. Adam says:

    Can you make this compatible with victory aftermath?

  9. Sir Cumferance says:

    Was curious, is there a way to negate exp gained by the weapons except by a script call? And if so, what would that script call be? I plan on using this for forging and would work pretty good.

    • Fomar0153 says:

      Find and remove:
      alias wlu_gain_exp gain_exp
      def gain_exp(exp)
      for equip in @equips

      Then as for a script call, you would need to get the individual weapon and call the gain_exp method on it.

  10. Ghee says:

    Fomar, is there any way to change the exp system not with exp but with how often it is used in battle?

  11. Chaos17 says:


    Is there a way to add a tag for the equipement I want to level or not ?

  12. Obrusnine says:

    How do you make it so that only specific weapons level up?

    There’s only one Weapon in the entire game I want leveling (because it’s a story weapon, the only weapon a certain character can use)

  13. Asrail says:

    No, it doesn’t. Already tried that. Maybe I should mention, that I’m using the Ap System I, because I don’t know how II works.

    • Fomar0153 says:

      Put something like: in the note box on the enemies you’re fighting.

      • Asrail says:

        Okey, now i was fighting 5 enemies and everyone gave 1000 AP, together 5000. Now my equip DID lvl up, but they were not on the same lvl..
        So how do I actually set down the amount of needed AP? You wrote in another comment, that it is the following line: def self.WLU_AP_FOR_LEVEL(item); return item.performance; end

        But I don’t see how I can change that with it.
        Sorry to bother you so much.

        • Fomar0153 says:

          Basically it’s always the same amount to each level but the amount differs per piece of equipment, performance is the measure of how powerful an item is. If you want all equipment to be the same then use something like:
          def self.WLU_AP_FOR_LEVEL(item); return 30; end

          Which would make it:
          30AP for level 2
          60AP for level 3
          90AP for level 4
          120AP for level 5

          • Asrail says:

            Do I have to erase the item.performance; end ? Because if I don’t a syntaxerror occurs. If I do, no equip lvls up when i get 30 or even some more AP

          • Fomar0153 says:

            Replace item.performance with 30.

  14. Asrail says:

    This is my line: def self.WLU_AP_FOR_LEVEL(item); return 30; end

    And it won’t work, even when I get 3000 AP per fight.

    • Fomar0153 says:

      It should, I’m not sure what’s wrong. If you upload a copy of the project I’ll have a look.

      • Asrail says:

        Sorry, verification on mediafire takes a long time. I will post the link as soon as it’s finished.

        • Asrail says:

          Mediafire took to long:

          (forgot to change the AP % from the Monster ‘Schleim’ back from 1000 to normal, before uploading the projetct.)

          And perhaps you could tell me, why the CTB is not working.

  15. Asrail says:

    My comment will not be posted

  16. Asrail says:

    Now the AP System works just fine, thank you^^

  17. Asrail says:

    I know, I got a few from holder, but they’re not templates, by templates I mean a naked (lol) charakter

  18. TheChancellor says:

    Hey Fomar. I had intended on using common events to trigger equipment level ups. What code would I use in a common event to make a specific weapon level up?

    Also, could you explain how to set the attack power of the weapons for each individual level? It seems as though there’s some kind of formula in the script, but I wouldn’t know where to look.

    • Fomar0153 says:

      Would there be only one instance of the weapon?
      or would someone have it equipped?
      Looks for
      WLU_DEF_PARAM_INC = 25
      to edit the growth or the weapons.

      • TheChancellor says:

        Both. Someone will have it equipped, but there won’t be any duplicates of the weapon available in the game. Also, thank you for the quick response.

  19. Chaos17 says:


    Can you make a compatibility patch for Yanfly Ace shop option please ? I’ve already tried to pu your script before Yanfly script but it didn’t help.

    Here’s the error I got, it’s from Yanfly script but when I remove your script his script work.

    I hope it can be solved.

    • Fomar0153 says:

      And probably if you removed his script then mine would work!

      Sorry but I have no interest in making a compatibility patch.

  20. That guy over there says:

    I need help using this with the ap system when i finish a
    battle the armor levels up to the max in 1 battle and
    weapons wont even level up i checked the settings everything
    is at its default but i dont know how to change the ap
    needed to level the weapon\armor

    • Fomar0153 says:

      The AP needed is based on the Equipment’s stats. Is the weapon much more powerful than the armour?

  21. Jason Banchs says:

    My weapons will not level up at all here is my scrips in order

    Yanfly Core Engine
    Yanfly Save engine
    Yanfly New Game +
    Yanfly Party System
    Yanfly Battle Engine
    Yanfly Class System
    Yanfly Class System Add-On

    Battle systems

    Yanfly Battle Engine Add-On:HP Bars
    Yanfly Engine Add-On: ETI
    Simple SideView System by Jet

    Individual Equipment
    Equipment Levels Up
    am I doing something wrong? should I change something??

    • Fomar0153 says:

      It could be incompatibility copy:
      Individual Equipment
      Equipment Levels Up
      into a new project and see if they work.

  22. Stroup says:

    Good afternoon.

    I am having some issues with this script. This is my script collection:

    Map Credit
    SBS Configurations
    Sideview 1 (3.3d)
    Sideview 2 (3.3d)
    ATB Configurations
    ATB (1.1c)
    Enemy Animated Battlers
    Monster Book
    OmegaX Achievements
    Main Menu Melody
    Equipment Overhaul
    Skill Overhaul
    Status Melody
    FF13 Status Menu
    FF13 Menu
    FF13 Equip Menu
    FF13 Skill Menu
    | Chest_Item_Pop-Up
    Passive Skills
    Individual Equipment
    Weapon Level Up

    And every time I try to test play, it gives me this error:

    Script ‘Individual Equipment’ line 36: TypeError occured.

    undefined superclass ‘Game_BaseItem’

    Is there anything you could tell me to get this to work? I am very eager to test this script with my game. Thank you!

  23. Neroxus says:

    Hi there I know this is probably a very easy question to answer but I have this script but I fight 1 slime and all items and equipment level up to 5 :/ I am useless with scripts where do I change to have them level much longer.

    Thank you and kind regards


    • Fomar0153 says:

      Find and edit the one you’re using:
      def self.WLU_EXP_FOR_LEVEL(item); return item.performance * 10; end
      def self.WLU_AP_FOR_LEVEL(item); return item.performance; end


    Hi, My problem is for some reason my weapons don’t level up but I had tried making it the same stats as my armor and then it leveled up but when I switched the weapons stats back and tried it the weapon didn’t level up only the armor. Is there any way to fix this? or is this something that was implemented in the script?

    • Fomar0153 says:

      It’s based on the stats the item, to edit this find and edit:
      def self.WLU_EXP_FOR_LEVEL(item); return item.performance * 10; end
      def self.WLU_AP_FOR_LEVEL(item); return item.performance; end

  25. DisturbedInside says:

    I am having a problem using this script and the individual equipment with Yanfly’s equipment scripts an item scripts. Your scripts are below the additional equipment Yanfly script and I am having a problem with equipping items. The optimize and unequip all work fine, but change doesnt work. The items are comin up with a zero for inventory count after unequipping all. How can I fix this? If I remove Yanfly’s additional equipment the game works fine

  26. Chaos17 says:


    Can you explain to me how to use your AP system with this script please ? For example, where do I write this ?

    Second question, can you explan to me this formula ?
    def self.WLU_EXP_FOR_LEVEL(item); return item.performance * 10; end
    It’s in percentage or what is it ?

    • Fomar0153 says:

      Notetag the enemies e.g.

      performance is basically the strength of the weapon or armour. It’s all it’s stat gains added up but on a weapon str and mat are worth double and on an armour def and mdf are worth double.

      • Chaos17 says:

        So if I understand well : the stat I setup in database double everytime the weapon level up, that’s it ?

        So what does the “*10″ stand for ?

        Sorry for my bad english I just trying how to understand your formula so I can customize it to my taste.

        • Chaos17 says:

          I don’t know if it will be possible but I would like to know also if there is a way to control how much exp and stat an equipement can gain.

        • Fomar0153 says:

          *10 means multiplied by 10.

          WLU_DEF_PARAM_INC = 25
          is how much stronger a weapon gets on level up.
          By default a weapon at level 5 is twice as strong as a weapon at level 1.

          If you’re planning to use AP you should modify:
          def self.WLU_AP_FOR_LEVEL(item); return item.performance; end

          If you want to cap the AP gain (which will probably confuse players because they will see how much AP they gained in battle and then the weapons won’t have increased by as much) then find and edit:
          def gain_exp(exp)
          return unless levels?
          @exp += exp

          def gain_exp(exp)
          return unless levels?
          @exp += [exp,cap].min

          • Chaos17 says:

            Thank you very much for your reply. I will stick with the EXP since there a compatibility problem with Yanfly victory aftermath script because his script manage JP. JP can be created from another script from Yanfly so your AP and his JP (not using it but his script still depend on it) don’t work together :(

  27. Chaos17 says:


    I’ve found a bug :
    when I unequip two equipement (lvl up or not), I can’t equip again the first one I unequiped.

    Sorry for my bad english.

  28. Shichiseiken says:

    Just tried the scripts. There is one big flaw. Equipments of reserve members also do level up.

    • Fomar0153 says:

      Yes if they are set to receive experience when in reserve then their weapons do as well. This was intentional.

  29. Phantom fire says:

    Whenever I use this script with Yanfly’s Victory Aftermath the level up text is just inserted in the loot screen. How do I fix this. And this doesn’t seem to work with Yanfly’s Equip Engine either, because whenever I remove a piece of equipment it is not in my inventory.

    • Fomar0153 says:

      This and Yanfly’s Equip Engine are not compatible.
      In my script find and remove the line:
      $game_message.add( + ” levels up.”)
      Then it won’t show up in the loot window.
      You’ll have to add something to show the player that the equipment have levelled up though.

  30. Jason Banchs says:

    Should I give you my project so you can see what’s wrong?

    • Fomar0153 says:

      No I’m not willing to go through all those scripts and fix the compatibility issues.

      • Jason Banchs says:

        could be all the Yanfly scripts -_- srry for wasting your time, though I have to say it did not work to well on a new project either :l

  31. haha says:

    rgss3 or rgss2?
    how to use?

    • Fomar0153 says:

      RGSS3, I might one day repost my RGSS (1) scripts but that involves me tracking them down. Same thing with my RGSS2 scripts (which are far fewer).

  32. fatalis says:

    how do I increase the amount of exp needed to level up each weapon?

    • Fomar0153 says:

      Find and edit:
      # Default experience per level
      # I have provided two defaults, one designed for EXP and one for AP
      def self.WLU_EXP_FOR_LEVEL(item); return item.performance * 10; end
      def self.WLU_AP_FOR_LEVEL(item); return item.performance; end

  33. killer690 says:

    I found a bug, when I start to unequip a weapon, it should show the new -degraded- stat, but it doesn’t show, it only show the incrementation by equipping it again(…)
    Can you fix it?
    There, a screen:

  34. Alerith says:

    Hello! I am seeing incredible potential in this script, and I have a question if something is possible:

    I have an accessory that teaches a magic skill. When that item levels up to level 2, it is possible that the item then teaches the next tier of that magic?

  35. Gilroy says:

    Hello! I was wondering if there was a way to manually add a level to a weapon. I’m planning on making a blacksmith shop and this script would be PERFECT if I could just manually for a level up to a weapon or armor. Can you tell me how I would do this? I just don’t know what I would type for script call?

    • Fomar0153 says:

      Is it like a way of buying exp for currently equipped weapons?

      • Gilroy says:

        Yea, sort of. I wanted to make it where you walk up to the blacksmith and you pay an amount of gold and he will upgrade your weapon to the next level, making it stronger. As you upgrade each level the gold cost to do so increases. Ex:
        Lvl 2 is 1,000G, Lvl 3 is 5,000G, Lvl 4 is 10,000G, and Lvl 5 is 25,000G. I was thinking about implementing just buying AP at a shop but I don’t know how to read the code to tell how much AP is needed for each level, plus if I were to buy at the shop wouldnt it add the AP to all the characters. I’m trying to do it one person at a time.

        • Fomar0153 says:


          • Gilroy says:

            So far it’s working perfectly! Thank you so much, you’re awesome!

          • Gilroy says:

            So the code works great when I use Y as a constant number, how would I implement Y as a variable. Right now I have $game_actors[1].gain_ap(\v[2]) but it gives me a syntax error. I realize now that \v[2] only works with the messaging system, so how do I call a variable in a script?

  36. argunas says:

    You seem pretty active formar, nice to see that ;P
    i just have a question: are the exp actualy stored for the equipment?
    cause i had some problems with a sub class script where the subclasses got exp but the exp didnt get stored anywhere, so i needed at least the amount of exp for the next lv to lvl them up and i dont want that kind of problem again.
    also are there any problems with “limit adjust” or do they work together? (couldnt see any so far but didnt test stats over 1000 yet XD)

  37. Rbahamut says:

    I would LOVE if u could make another way to level the equipment… like the weapons level up after u attack 10 times and armor levels up after enemy hits ya ten times then they scale, more hits required for higher levels.. i seen a script for stats to level that way but makin the equipment leveling that way would be much cooler.

  38. InternetExplorer says:

    Hey Fomar, that script is awesome, it works perfectly on my computer.

    However, there’s is something I would do, and I don’t know how : is it possible to remove, for the WEAPONS, the “atk and mat count as 2 time bigger than the other stats” ?

    • Fomar0153 says:

      Find and delete:
      if is_weapon?
      p += par[2] + par[4]
      p += par[3] + par[5]
      If you still want def and mdf to be double on armours change it to:
      if !is_weapon?
      p += par[3] + par[5]

  39. InternetExplorer says:

    I deleted
    if is_weapon?
    p += par[2] + par[4]
    p += par[3] + par[5]

    But it seems to still double the ATK/MAT :/

    • Fomar0153 says:

      Just to be sure we are talking about the Optimise option in the equipment scene?

      • InternetExplorer says:

        You mean, the “Optimise option” that takes the most recommanded equipments in the inventary when the player uses it ?

        If so, no~ I’m talking about the fact that …

        For any WEAPON, not armors, with your script, the EXP needed is “the performance of the weapon”.
        However, if I take a weapon which have the stat +30 to DEFENSE, I’ll have 50% of the needed XP than if I take a weapon which have the stat +30 ATTACK or +30 MAGIC ATTACK.

        And what I want is that I’ll need the same XP if a weapon has n attack or n defense :]

  40. Gilroy says:

    Hello Fomar,
    How would I check to see if Actor 1 Weapon level = 5? I’m noticing that once a weapon is leveled up to lvl 5 they can keep purchasing ap. I wanted to make it so the NPC would realize to tell them no, actor 1′s weapon can not be improved.

  41. James says:

    Hey I noticed you could make it so only one item levels. Can you explain how to do a few things?

    First, how to make no armors level,
    Second, how can I take off the Level 1 from every item?

    • Fomar0153 says:

      # If you only want to implement this for weapons or armours set
      # the following to false as you see fit

  42. fatalis says:

    My equipment still wont level up.
    I do have yanfly’s victory aftermath….would this interfere with the script? Do I have to manually lvl up my weapons or is it automatic?

  43. Gilroy says:

    Hello Fomar,
    I was wondering if you would be willing to help me again. I’ve almost got the Blacksmith script set up, but I need one final command that I can’t seem to figure out. So far the Blacksmith improves a weapon’s AP based off of a variable of the characters level. It works perfectly, however, once I reach level 5 with the weapons, you can continue to purchase AP for the weapon even though it can no longer be improved. Can you please tell me what the script would be to check to see if Actor 1′s weapon = Level 5?

  44. Gilroy says:

    Hello Fomar,
    I was wondering if you would be able to help me again. So far it’s great, the player goes up to the NPC and is able to do dialog, choose player to improve the weapon, and it’s cost and improvment total is based off of a variable of the players level. The only problem I’m seeing is once the weapon reaches the max level, the player is still able to buy AP for it even though it can no longer be improved. I’ve been trying to get it to work for a few days now but I can’t figure out the script to check to see if Actor 1 weapon level = 5. Would you please be able to help me? Thank you in advance.

  45. Fah says:


    Is there a way to customize the max limit of exp or ap of any equipment (that can be inputted on the Notes section)? For example, at Level 1 for 500 then Level 2 2000 and Level 3 10000.