Class Unlock Level

Last Updated: 2011.12.20
Download Link
Github Link

This script allows for classes to be unlocked after a class reaches a certain level. Note that this script is made for the Class System script and not using the MAINTAIN_LEVELS feature. Requirements for unlocking a class can be multiple level requirements as well.

These notetags go inside of a class notebox:

<level unlock requirements>
   class x: level y
   class x: level y
</level unlock requirements>

Sets the requirements for unlocking that particular class. The unlocking of the class will require classes x to be at level y. Insert multiple of the strings in between the two opening and closing notetags to require all of the class levels to be met.

And that’s all, folks!

78 comments on “Class Unlock Level

  1. So, there’s no way to make the class level system and this script independent from a character’s experience level? (i.e. like Final Fantasy Tactics)

  2. I really don’t know what I’m doing wrong here. For some reason, the locked classes continue to show up in the class menu at all times, no matter the level the character has in any other class. Somebody have an idea of what may be wrong?

  3. So I have implemented your code, and found that even with the unlock code on ALL the classes that classes 1, 11, 21, 31, etc will always show up even with the unlock code in the notes. Is there a way to fix that? (Yes I have a lot of classes)

      • I am having this same problem but i don’t know how to do what you are saying. Could you be more specific in saying what exactly you have to do? it’s really the only thing i have left to do. Where is the default unlocked classes in the script?

  4. Urh…i added classes and when i put the requirements in the notes in the class tab and run the game for testing it just stay the same…it doesen’t put level restriction…what am I doing wrong? Please reply

    • I have the same problem ! It’s as the script doesn’t exist. I tried all the combinaitions of characters and anything was good. Please help us (sorry for my english ^^)

    • I noticed that, for play-testing, once the call is sent to unlock a class, the class is unlocked without consulting the level restrictions. Once the class shows up in the list, it is unlocked and ready to be equipped. I tried making a common event shop that would allow the players to purchase a class, hoping the class would appear but not be equippable. No such luck. Unfortunately, I have zero scripting knowledge (I just started using RPG Maker VX Ace a week ago and have been learning via trial and error and reading), so I don’t know how to show the class without letting it be equipped. The only thing I can think of for my problem is calling the levels of the classes need for the unlock and only allowing purchase if those requirements are met. Since I have no idea how to actually use code, I thought using a variable for each actor and each class to make restrictions (using vx ace’s command structure for events) but that is a lot of variables.
      However, for your issue, playtest the character at a level just below the requirements, then set up a quick event to add enough experience to level up (with an encounter or however) and then see if the class unlocks. This will show you that your restrictions are in place.

    • I have this problem too, how to write it? i already copy the script and then i continue to write the note tags at the class bar, then i play it but nothing happen..

      • Did you ever figure this out? I have tried every possible way of wording it to make this work but nothing does?

  5. Is there any way to insert an OR conditional to the “class x : level y”?
    i.e. I have a web-style class system, in which class z (for example, alchemist) could be unlocked by either leveling class x (mage) or class y (priest).

  6. another noob. just wondering, i have set a subclass to unlock at a certain level,and it works, but there’s no notification to let the player know that its been unlocked. how do i get something like that to appear?

    • the idea is example prim is knight and my story is when they defeat a dragon of fire that they gain a fire crystal key item. and when this item is in your invetory the sub pyromancer should appear in the subclass list.

  7. script call:
    $game_actors[x].unlock_class(y)

    x is actor id, y is class id
    when you give your actor fire crystal key item.
    and if someway you will lose it (maybe story plot)

    script call:
    $game_actors[x].remove_class(y)
    x is actor id, y is class id

    after losing the fire crystal key item
    actually it’s not fire crystal is the one making the class unlocked but you can fool the player to think so. and since you made it key item so you can’t sell it. the only way to remove it is by event and you can control it.

  8. Howdy! Quick question that’s completely off topic. Do you know how to make your site mobile friendly? My blog looks weird when browsing from my iphone 4. I’m
    trying to find a theme or plugin that might be able
    to resolve this issue. If you have any suggestions, please
    share. With thanks!

  9. Okay, now I love this script and I love this script. I just have one thing I want to do though that I can’t figure out. Say I have a Mage class and I want at Level 30 to unlock a Wizard class that is great, BUT! I am using a Skill Shop and I want the Wizard Class to only know the spells that the Mage class before it previously learned. How would I go about doing this??

    • ok this is simple (i think) in the classes tab make the wizard class to have learned the same skills as mage from the starting lvl (lvl 1) well now that you are using a skill shop….just make the mage to only buy some skills so that you will know exactly what skills you will have to put in the skills tab, when creating a class. but you will have an another problem :

      Let’s say i am a lvl 20 mage and i have 5 skills (water, fire, wind, earth and light)
      i find a skill shop and want to buy something…the dark skill…i buy it.
      now that i am lvl 29 i want to buy the summon skill but i don’t have money…so either i gather some or i learn it as a wizard

      you need to make a small varity of skills so that when you become a wizard you will have the skills that you have already learned but if you have forgot to buy one or you didn’t have enought money you will learn it by becoming a wizard…(think of it as an upgrade to your magic)

      in the case you are thinking of these classes like titles ex: i am a mage and when i will become stronger i will become a wizard…then try using a common event to just change titles…

      but if you are thinking like this: Derp “The Herp”

      class: Mage

      and when y lvl up to lvl 30 it becoms wizard and also don’t want to learn a skill or two by becoming wizard or want to have a big varity of skills try making the mage’s skills a variable and then make a common event which is activated by becoming a wizard that adds the skills of the mage to thewizard!!! but to do that you must have not set any skills for the wizard in the classes tab

      i hope i was helpfull.

  10. I have a question, when you level up and unlock a class is their a simple way to post something like “you have unlocked a new class!”. I’m sure it’s something simple but I’m having some trouble figuring it out, any info would be helpful thank you!

    • You can create an ability called what ever your new class is which has no effect, falls under no skill type (i.e. special, magic etc) and can never be used. Set this to be learned at the same time as you would unlock the new class and when your character levels up at the end of a battle it will come up that it has been learned.

      For example, one of my projects has a “Fighter” class. When this class reaches level 5 my character learns the “Beserker” subclass. I set it up so that at level 5 in the fighter class my character learns an ability called “Beserker Subclass”. At the end of a battle I gain experience and level up and on the same screen as it notifies me I have levelled up it also says “Beserker Subclass Learned”. It’s not a perfect system as you couldn’t do it for classes that have a multiple class level requirement but it’s a starting point certainly.

      Just make sure you set the ability to “Skill Type: None” and “Occasion: Never” and it won’t show up on any in game menus once your characters have learned it.

  11. MAINTAIN_LEVELS = true # Maintain through all classes. Default: false.

    i have set this to true because i want all classes to have same level as actor not
    level up seperatly.
    instead of

    class x: level y
    class x: level y

    anyone know a way to not unlock on class level but unlock with actor level?

    • List every class that will be unlocked before the one that will be unlocked. MAke all of them unlock at the same level, that way no matter what, the class will unlock.

  12. I want to ask a question.I have imported yanfly class system script v1.10 and yanfly class unlock level script v1.00.The class system works fine.After I enter the class unlock level notetag into class note.there is nothing change on class system,that means the class unlock level system is not working.does anyone know how to fix it?

  13. Ive run across an odd issue. I have several locked classes, but 2 classes specifically that are locked until the characters reach levels in multiple classes. From the very start the game these classes are available. Even if I lock down all but the starting classes those 2 appear… I cant find what is unlocking them. Ive tried deleting the texts and starting over and even copying/pasting from a working class.

    Here are the notes I have in the character and the classes.

    These are the two starting classes. (Soldier and Alchemist)

    This is the Ninja class that appears right away

    class Geomancer: level 2
    class Archer: level 4
    class Thief: level 5

    Combatant who hides as a means of battle

    And here is the one for the dancer that also appears right away.

    Warrior who dances in battle in charming costumes

    class Geomancer: level 5
    class Dragoon: level 5

  14. Hey there; does anyone know what the proper Syntax for calling the Class Scene up would be? I cannot find anything inside the script to help me with that–I’m trying to implement a way to use this script mid-combat, but I need to find a way to call the Class Change Menu up first XD

  15. Hi!

    Being a fan of RPGs with a job/class system, this script is perfect for me. However, I was wondering if there was a way to make a certain unlockable class exclusive to a gender. For example, if you want a character to become a witch, that character must be a level 10 black mage AND female.

    Thank you!

  16. When i press “Download Link” the page says:
    “Error (509)
    This account’s public links are generating too much traffic and have been temporarily disabled!”
    Do not exist other Download link?

    Sorry for my bad english….

  17. yah i’ve been getting that error to. if someone could post the script that would get awesome. or does anyone know when it will be back up?

    • Is that the one titled Class System Script? If so Ill post that one right away. Im also working on posting all of Yanfly’s scripts to there as long as there isnt a problem with me doing that.

      • yes thats the one also when i try to run the class unlock script i get a error:

        line 83: Syntax Error occrued

        class/ module name must be CONSTANT
        class self;alias load_database_cul load-database; end

        do you know what causes this error?

  18. Not off the top of my head. I dont know much coding at all, but it looks like it thinks the class module is changing or that is is having issues loading the database.
    You might make sure that you have the following script in the classes note box?

    class x: level y
    class x: level y

    • I was getting error in line 83 as well, for whatever reason the text was auto-formatted. The character in front of self should actually be << or two less than symbols.

  19. ok i got the script working but im having trouble with the note still if I want monk to be a subclass of soilder and for it to be unlocked at lv2 i would put this

    class Soldier: level 2

    into the Monk class note box right?

    • nm I got it to work thanks for the help Jhaedin. does anyone happen to have the Class Specifics script that i can get a copy of the link isnt working

  20. hey im having trouble with the system and the add-ons for some reason when i set a subclass to unlock at lv 2 it is unlocked right away. and the second character and on all have access to the first class and first subclass even though they shouldn’t

  21. so wondering, how can i give the exp to the primary and subclass at the same time. like so you can lvl both at once. is this possible?

  22. I want some of my classes to unlock after reaching a certain level AND filling out other prerequisites such as finishing and/or not finishing side quests, having a certain weapon or item, or after defeating a boss, reaching a certain point in the main story, etc. Would this script allow me to do that? If so, how would I go about doing that? Should I create an event within my game with switches to toggle those prereqs whilst having this system involved? Or is there another way or no way this can be done? I really want to implement this intricacy into my game so badly as it promotes side travel and exploring to obtain a higher powered character. Thanks to anyone in advanced.

  23. I’m wanting to use an equipable item as a prerequisite for a class, what would be the best way to accomplish this? I’ve put some thought in to it but couldn’t come up with a good way to do this. Any help would be greatly appreciated.

  24. This is the perfect site for everyone who wishes to find out about
    this topic. You realize a whole lot its almost hard to argue with you (not that I really would want
    to…HaHa). You certainly put a new spin on a subject
    that has been discussed for decades. Wonderful stuff, just excellent!

  25. Is there a way to set this up so that this only unlocks the ability to learn the class with JP? As in, reaching the designated level reveals the new class, but the player then has to buy it using their hard earned JP before they can equip the class.

  26. Could someone help me out and tell me where in either the class system script or the class unlock script i can setup the default unlocked classes? 1,11,21,31 is currently always unlocked regardless of class requirements. I seen a previous post above having this same problem, but the problem was fixed without sharing how to do so. Then again, it seems most of the good rpg maker scripts have been abandoned leaving little feedback anymore forcing players to use new ones or to deal with/abandon the program entirely. So I hope someone proves me wrong.

    • May have figured this out by now, but if not:

      In the script around line 100, there is “DEFAULT_UNLOCKS = [ 1, 11, 21, 31 ]

      Classes that correspond to those numbers in your database will be unlocked. You can delete those numbers and they will no longer be available. If you remove the 11, 21, and 31 (so only “1” is there), then only the first class you have is available (001 in the database).

      I hope I was able to clear that up a bit.

  27. Quick question, is there any way you could disable the old classes? So like when you change class you can’t just go back? I’m trying to make like a class tree so I don’t want them to just go back and pick a different path, you must commit! lol

  28. Is there anyway to notify the player when a new class is unlocked when there is a couple class requirement strings in the notebox?

    Ex: player starts as a warrior then learns to be a mage later on. Once both reach lvl.5 Battlemage unlocks as a new class.

    I know the script allows that which is awesome, but how can i call an event to pop up notifying the player that says something like, “Unlocked Battlemage” after the requirements were met?

  29. Hi! Great work!
    I was looking for an add-on like this one, but instead of unlocking by level, i need it to be: unlocking by stat.
    instead of being:

    class x: level y
    class x: level y

    it could be something like

    class 3: Str 85
    class 5: Def 90

    Can this be possible?
    Thanks for your help.

    • And maybe if it`s possible, a unlock by item.
      The thing is that there are some scripts that make “evolve” the actor. But if an add-on like the one i need is made, the class system could have three types of class unlock:
      By Level
      By Stat
      By Item
      Thanks for your help.

Leave a comment