public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

MZLazi Class Change System

BMM Archive · July 15, 2026

Preserved forum archive. This topic stores the original first post and locally mirrored RPG Maker Web attachments when available. It is posted by the BMMPlay archive account, not by the original creator.

Original Source

  • Original title: Lazi Class Change System
  • Original author: Lazislacker
  • Original date: September 6, 2020
  • Source thread: https://forums.rpgmakerweb.com/threads/lazi-class-change-system.126836/
  • Source forum path: Game Development Engines > RPG Maker Javascript Plugins > JS Plugin Releases (RMMZ)

Summary

Class Change System v. 1.1.3 I posted a buggy and feature incomplete version of this in the In Development forum about a week ago. Now that it's feature complete and relatively (I haven't found any bugs while testing the most recent version, but I'm sure someone will find a way to break it.) bug free, I'm posting it here as a first release version. Introduction

Archived First Post

Class Change System
v. 1.1.3


I posted a buggy and feature incomplete version of this in the In Development forum about a week ago. Now that it's feature complete and relatively (I haven't found any bugs while testing the most recent version, but I'm sure someone will find a way to break it.) bug free, I'm posting it here as a first release version.
Introduction
This plugin introduces a class change system and a UI for selecting the user's class from a list.
There are two versions of this plugin:
  • Lazi_ClassChangeBasic -> Use this if you don't intend to use Actor Mode. It has the code for that removed which reduces the file size and number of functions overridden considerably.
  • Lazi_ClassChange -> Use this if you want to use Actor Mode. It contains everything in the basic version with the Actor Mode functionality added.
They shouldn't be used together. I included a safeguard that SHOULD prevent any catastrophic errors, but better to be safe.

Features
Implements three different forms of a class change system:
  • Shared EXP - In this mode the Actor has a single EXP number that is shared across all classes. This results in all experience gained by the actor counting towards levels for every class.
  • Individual EXP - In this mode each class has it's own EXP amount and the EXP earned when an actor has a class set as it's active class only contributes to that one class.
  • Actor Mode - In this mode, each actor has two sets of levels: an intrinsic "base" level and class levels for each class. The intrinsic base level is used for determining the parameters of the actor while the currently active class level is used to determine what traits and skills the actor has access too.
    • Stat Gain - Two stat gain systems exist for this mode: a "normal" mode where the actor's intrinsic "base" class level determines their parameters and a "stat gain" mode where the actor's parameters are increased at each level based on their currently active class when they gain that level.

Video
Embedded below is my amateurish video showing the basic functionality of the Shared EXP and Class EXP modes:

Actor Mode:



How To Use
Plugin Parameters
  • Add Entry To Menu -> if set to true, the plugin will add an entry to the menu just below the "Status" entry. If you wish for another plugin to manage adding the menu entry for this plugin to the menu, make sure that plugin sends the "classchange" symbol to the menu handler.
  • Menu Option Text -> The text that should be displayed in the menu for the option. The default is "Class Change"
  • Level System Type -> The type of level system you wish to use.
  • Preserve Percentages for HP/MP -> This will look at the percentage of HP/MaxHP MP/MaxMP of a character before switching classes and ensure that the new class has the HP/MP set to the same percentage of their MaxHP/MaxMP
  • (Shared EXP Mode) Maintain Level + Percentage -> In Shared EXP mode, this will modify the actor's total EXP to maintain the same level and percent to next level when changing classes. This does not actually affect the growth rate of the class, so a class with a faster growth rate will result in the actor leveling up faster and then if the actor switches back to a class with a slower growth rate, they will keep the same level and percent to next.
  • (Actor Mode) Level Up Text -> This is the text that will be shown when an actor gain a level in their base class. The default Level Up text will be used when they gain a level in a normal class and this can be altered in the usual place.
  • (Actor Mode) Level Up Mode -> I would recommend not changing this for now. The Stat Gain mode is EXTREMELY buggy presently. The basic implementation is there and the stats are calculated correctly, but the UI has some display issues with it. Namely the HP and MP bars do not presently display.
  • (Actor Mode) Current Level For Stat Gains? -> This option affects how the stat gain mode functions. If set to true the difference between the stats in the current level and the new level are calculated and these deltas are used to increment the stats of the actor. If set to false, the level 1 stat values for the current class are used to increment the stats of the actors.
Add a class to an actor's class list
  • Place a <LaziGiveClass:[classId]> notetag in the Actor's notes
  • Use the "Modify Actor Classes" plugin command
    • This plugin command also allows you to "disable" a class, this will cause it to appear greyed in the class list just like the currently active class
    • This plugin command also allows you to "remove" a class. This removes the class from the actor's class list. It will not appear and if added again will act as if the character never had that class.
    • Parameters:
      • Type of Action -> Whether you want to add, disable, or remove the class
      • Actor -> the ID of the actor you wish to manipulate. This should match with the database.
      • Class -> the ID of the class you wish to manipulate. This should match with the database.
Modify The Menu Option
By default, the menu option will be enabled when the basic commands (Status, Items, Equip, etc.) are enabled and disabled when they are disabled. However, the "Enable/Disable Menu Option" plugin command allows you to set the menu option to one of three states:
  1. Enabled -> The menu option will appear and be selectable
  2. Disabled -> The menu option will appear and not be selectable.
  3. Removed -> The menu option will not appear in the menu.
Actor Mode
If you wish to use actor mode, some additional setup is needed to ensure each actor is using the correct base class for their parameters. This is done by using the <LaziGiveClassDefault:[classId]> notetag in the actor's notes. This should be set to a class that has the parameter curves and EXP gain rate set to what you wish for that actor. If this notetag isn't present in the actor, it will use the first class that ends up in it's class list. This will either be A)the first class added by <LaziGiveClass> or, if none are present, the class that is set in the database as the actor's starting class.

Issues
In actor mode with stat gain, if the "Status" menu option is accessed without switching classes at least once, the class stats are shown instead of the correct stats. -> This doesn't affect the actual stat values used for other things only this UI element. I am currently trying to determine why this happens.

Some plugins could also cause display issues with Actor Mode due to it using a separate leveling system. I found one conflict in my testing so far, but other plugins that use or modify _exp will likely also have issues:
  • VisuMZ Core -> Only display issues, not fixable due to their obfuscation of their code. The display issues are minor and do not cause any errors.
    • The class name to not display properly. Instead of "Swordsman Lv. 50" only "Swordsman" will be displayed. This is only a display issue, the actual data is correct and the level of the class can be still be seen in the class change screen.
    • The EXP bar added by the VisuMZ Core plugin will not display properly. This EXP bar will appear different for each class the actor switches too. This is because they draw the EXP bar using the default _exp value of the actor
The plugins should be relatively bug free. If you discover a bug please post it here so it can be fixed.

Future Additions
  • Optimize Code
  • Actor Mode -- Ability to see both current and next level EXP for class in addition to base
  • Shared EXP/Actor Mode -- Ability to automatically learn classes when reaching specific levels
  • Individual EXP -- Ability to automatically learn classes when reaching either a specific level in one class, or a set of specific levels in several classes
  • Ability to mark some skills are innate for an actor and have them learned regardless of the current class
  • Actor Mode -- Add the ability to have traits and skills assigned to the actor's base class be learned and always available
Feel free to post any other ideas for additions.

Terms Of Use
Free for use in any commercial or non-commercial product, though a credit to "Lazislacker" would always be welcome.

Download
Plugin can be found here

Features Mentioned

  • Implements three different forms of a class change system:
  • Shared EXP - In this mode the Actor has a single EXP number that is shared across all classes. This results in all experience gained by the actor counting towards levels for every class.
  • Individual EXP - In this mode each class has it's own EXP amount and the EXP earned when an actor has a class set as it's active class only contributes to that one class.
  • Actor Mode - In this mode, each actor has two sets of levels: an intrinsic "base" level and class levels for each class. The intrinsic base level is used for determining the parameters of the actor while the currently active class level is used to determine what traits and skills the actor has access too.
  • Stat Gain - Two stat gain systems exist for this mode: a "normal" mode where the actor's intrinsic "base" class level determines their parameters and a "stat gain" mode where the actor's parameters are increased at each level based on their currently active class when they gain that level.
  • Video
  • Spoiler: Video
  • Embedded below is my amateurish video showing the basic functionality of the Shared EXP and Class EXP modes:
  • Actor Mode:

Downloads / Referenced Files

Log in to download

Log in, then follow the RPG Maker Developers Group to see these download links.

Log in to download

License / Terms Note

Terms Of Use Spoiler: Terms Of Use Free for use in any commercial or non-commercial product, though a credit to "Lazislacker" would always be welcome. Download

Creator Claims / Removal

If you are the original creator and want this listing reassigned, edited, or removed, join BMMPlay and contact the moderators with proof that matches the original RPG Maker Web profile, linked GitHub, itch.io page, or another public creator identity.

#039#rmmz#plugin-archive

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar