public

Rpg Maker Developers Group

Simple enough for a child, powerful enough for a developer

2 Followers

MZ 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: MZ Class Change System
  • Original author: Lazislacker
  • Original date: September 1, 2020
  • Source thread: https://forums.rpgmakerweb.com/threads/class-change-system.126544/
  • Source forum path: Game Development Engines > RPG Maker Javascript Plugins > JS Plugins In Development

Summary

The plugin has been released! The release thread can be found here Class Change System v. 1.0.1​An updated feature complete version is available here. It has been submitted in the RMMZ release forum but is currently pending approval. ​Introduction

Archived First Post

The plugin has been released! The release thread can be found here

Class Change System
v. 1.0.1

An updated feature complete version is available here. It has been submitted in the RMMZ release forum but is currently pending approval.
Introduction
This plugin introduces a class change system and a UI for selecting the user's class from a list. It is mostly functional. Only one mode has issues and that is noted in the "How To Use" section. There shouldn't be any issues, but I have only really tested this myself without very many other plugins running. As such, I figured I would post it here first until the final mode is functional and I'm sure it won't interfere with other plugins.

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 are planned 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.​
Changelog
v 1.0.1
  • isMaxLevel() was throwing an error when not in actor mode due to changes made for actor mode. This has been fixed.
  • added a "usePercentages" plugin parameter that preserves the HP and MP percentages (current/total) when switching classes instead of just keeping the current HP and MP values.
  • Fixed the "Enable/Disable Menu Option" plugin command not appearing
  • Added the "Show Class Change Scene" plugin command to allow the class change scene to be opened from an event instead of the menu. Will default to initially showing the first character in the party list and the others can be accessed using the arrows at the top of the screen.

Screenshots
Class selection screen in shared EXP mode:
1598920475057.png


Class selection screen in Individual EXP mode:
1598920537376.png


Class selection screen in "actor mode":
1598920599176.png

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.
  • 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.
  • 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.
  • 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.

Some plugins could also cause display issues with Actor Mode due to it using a separate leveling system. One conflict is known presently:
  • 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.

Future Additions
  • Fix the UI errors in Stat Gain mode
  • Optimize Code
  • Plugin Command to open the Class Change UI without needing a menu option. -> Added
  • 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 are planned 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.​

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#rpg-maker-archive#js-development

Replies (0)

No replies yet.

0 replies 1 view

Log in to reply.

User Avatar