An open library of RPG Maker MZ plugins, powered by the community.

PGMZ - The Community-Driven Plugin Library for RPG Maker MZ

MZ plugins

NRP Class Change Scene - NRP_ClassChangeScene.js

Plugin desc : v1.042 A class change system will be implemented.

License :
・Copyright: Retained
・Commercial Use: Allowed
・Modification: Allowed
・Redistribution: Allowed
・Details: See Download Page / In-plugin documentation

Author : Takeshi Sunagawa (http://newrpg.seesaa.net/)

Website : https://github.com/NewRPGProject/MZMV_Plugin/blob/main/NRP_ClassChangeScene.js

Desc page : http://newrpg.seesaa.net/article/483459448.html

Download Page : https://raw.githubusercontent.com/NewRPGProject/MZMV_Plugin/main/NRP_ClassChangeScene.js

File name : NRP_ClassChangeScene.js

Help of plugin :

A class change system will be implemented.
 * 
 * ◆Main Features
 * - Displays parameter changes
 *   and learnable skills after class change.
 * - Can set up an advanced class that can change classes
 *   when the conditions are met.
 * - Class change commands can be added to the menu screen.
 * - Different images can be specified for different professions and actors.
 *   (Face, Character, Battler)
 * 
 * ------------------------------------------
 * ■Usage
 * ------------------------------------------
 * Register your candidate professions
 * in the "ClassList" of the plugin parameters.
 * You can also set the class change condition at that time.
 * Classes that do not meet the conditions will not be displayed.
 * 
 * It is also possible to display different images
 * for each class and actor by registering face graphics
 * and pictures in "ClassImageList".
 * 
 * If you execute the following plugin command,
 * the class change screen will be displayed.
 * If you turn on "ShowMenuCommand",
 * you can also call it from the menu screen.
 * 
 * ------------------------------------------
 * ■Plugin Command
 * ------------------------------------------
 * ◆SceneStart
 * Call the class change screen.
 * You can specify the actor to be the target of the class change.
 * If you do not specify, the actors' selection screen
 * will be displayed first.
 * 
 * You can also specify an additional ClassList.
 * This is useful, for example, for professions
 * that can only be class changed in certain locations.
 * 
 * ------------------------------------------
 * ■Note of Classes
 * ------------------------------------------
 * If you write the following, the description
 * will be displayed on the class change screen.
 * Line breaks and control characters are also possible.
 * 
 * <ClassMessage>
 * ~Text~
 * </ClassMessage>
 * 
 * [Terms]
 * There are no restrictions.
 * Modification, redistribution freedom, commercial availability,
 * and rights indication are also optional.
 * The author is not responsible,
 * but will deal with defects to the extent possible.
 * 
 * @command SceneStart
 * @desc Call the class change screen. If no actor is specified, the selection screen for actors is also displayed.
 * 
 * @arg Actor
 * @type actor
 * @desc This is the actor to be targeted. If not specified, the screen for selecting actors will be displayed.
 * 
 * @arg VariableActor
 * @type variable
 * @desc Specify the target actor as a variable.
 * This one has priority.
 * 
 * @arg AddClassList
 * @type struct<Class>[]
 * @desc This is the additional ClassList.
 * Combine with the ClassList of the plugin parameter.
 * 
 * 
 * 
 * @param ClassList
 * @type struct<Class>[]
 * @desc This is a list of targets for class change.
 * Register, including conditions.
 * 
 * @param KeepExp
 * @type boolean
 * @default false
 * @desc Make sure that experience is retained during class changes.
 * 
 * @param NoDuplicate
 * @type boolean
 * @default false
 * @desc It is prohibited to have multiple actors change classes to the same class.
 * 
 * @param ClassChangeMessage
 * @type string
 * @desc This is the message when changing classes.
 * %1=Actor, %2=Class。blank to hide.
 * 
 * @param SoundSuccess
 * @type file
 * @dir audio/se
 * @desc The sound effect when a class change is successfully.
 * If not specified, the default decision sound will be played.
 * 
 * @param <Layout>
 * @desc Items related to the layout of the class change screen.
 * 
 * @param SortClassId
 * @parent <Layout>
 * @type boolean
 * @default false
 * @desc Sorts the list in ClassId order.
 * 
 * @param ClassListWidth
 * @parent <Layout>
 * @type number
 * @default 280
 * @desc The width of the Class List.
 * 
 * @param DisplayListLevel
 * @parent <Layout>
 * @type boolean
 * @default true
 * @desc Displays the level in the Class List.
 * 
 * @param MessageFontSize
 * @parent <Layout>
 * @type number
 * @desc This is the font size of the class description.
 * If not specified, use the system setting.
 * 
 * @param DisplayParameters
 * @parent <Layout>
 * @type string
 * @default 0,1,2,3,4,5,6,7
 * @desc The parameter to display. Default: 0,1,2,3,4,5,6,7
 * 0: MHP to 7: Luck.
 * 
 * @param ParamFontSize
 * @parent <Layout>
 * @type number
 * @desc This is the font size of the class parameters.
 * If not specified, use the system setting.
 * 
 * @param ParamLineHeight
 * @parent <Layout>
 * @type number
 * @default 36
 * @desc The height of a single line of the class parameters.
 * Default:36
 * 
 * @param <Layout Image>
 * @desc This item is used to set the image for the class change screen.
 * 
 * @param ClassImageList
 * @parent <Layout Image>
 * @type struct<ClassImage>[]
 * @desc This is a list for setting images for each class and actor.
 * 
 * @param UseClassImage
 * @parent <Layout Image>
 * @type boolean
 * @default true
 * @desc The images (other than pictures) set in ClassImageList will be reflected in the battle, menu, and other.
 * 
 * @param ReverseImagePos
 * @parent <Layout Image>
 * @type boolean
 * @default false
 * @desc Reverses the placement of parameters and images left and right.
 * 
 * @param PictureOnScroll
 * @parent <Layout Image>
 * @type boolean
 * @default true
 * @desc Link the picture to the up/down scroll.
 * 
 * @param PictureAdjustX
 * @parent <Layout Image>
 * @type number @min -9999 @max 9999
 * @default 0
 * @desc Adjusts the x-coordinate for displaying the picture.
 * 
 * @param PictureAdjustY
 * @parent <Layout Image>
 * @type number @min -9999 @max 9999
 * @default 0
 * @desc Adjusts the y-coordinate for displaying the picture.
 * 
 * @param PictureOpacity
 * @parent <Layout Image>
 * @type number
 * @default 128
 * @desc The opacity of the picture.
 * 
 * @param <Learn Skills>
 * @desc These are the related items of learned skills.
 * 
 * @param ShowSkillsType
 * @parent <Learn Skills>
 * @type select
 * @option No display @value
 * @option Show under @value under
 * @option Display other page @value page
 * @default page
 * @desc Set the placement to display the learned skills in the class information.
 * 
 * @param ShowUnlearnedSkills
 * @parent <Learn Skills>
 * @type select
 * @option No display @value
 * @option Display @value show
 * @option Mask Display @value mask
 * @default mask
 * @desc Displays unlearned skills in class information.
 * 
 * @param SkillFontSize
 * @parent <Learn Skills>
 * @type number
 * @desc The font size of the skill name.
 * If not specified, use the system setting.
 * 
 * @param <Menu Command>
 * @desc This is a related item for displaying class changes in menu commands.
 * 
 * @param ShowMenuCommand
 * @parent <Menu Command>
 * @type boolean
 * @default false
 * @desc Add class change to the menu command.
 * 
 * @param ShowMenuCommandPosition
 * @parent <Menu Command>
 * @type number
 * @default 3
 * @desc This is the position to insert the class change into the menu command. 0 is the first position.
 * 
 * @param ClassChangeName
 * @parent <Menu Command>
 * @type text
 * @default Class Change
 * @desc Sets the display command name for the class change.
 * 
 * @param MenuCommandSwitch
 * @parent <Menu Command>
 * @type switch
 * @desc Displays the command only when the switch is on.
 * If it is blank, it will always be displayed.
 * 
 * @param ClassChangeSymbol
 * @parent <Menu Command>
 * @type text
 * @default classchange
 * @desc Sets the symbol for the class change.
 * This value can be used when working with other plugins.

スポンサードリンク

-MZ plugins

Copyright© PGMZ - The Community-Driven Plugin Library for RPG Maker MZ , 2026 All Rights Reserved.