设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
扫描二维码关注官方公众号
返回列表
+ 发新帖
查看: 69|回复: 0

[转载发布] Lazi Class Change System

[复制链接]
累计送礼:
0 个
累计收礼:
1 个
  • TA的每日心情
    开心
    2026-7-12 04:10
  • 签到天数: 209 天

    连续签到: 2 天

    [LV.7]常住居民III

    9015

    主题

    864

    回帖

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    VIP
    7
    卡币
    58751
    OK点
    16
    推广点
    0
    同能卷
    50
    积分
    68660

    灌水之王

    发表于 2026-7-22 20:37:18 | 显示全部楼层 |阅读模式
    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
    Spoiler: Video
    Embedded below is my amateurish video showing the basic functionality of the Shared EXP and Class EXP modes:

    https://www.youtube.com/embed/VrcsiRznat0
    Actor Mode:

    https://www.youtube.com/embed/6xDXDU8rDhY


    How To Use
    Spoiler: 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
      1. <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:

    • Enabled -> The menu option will appear and be selectable
    • Disabled -> The menu option will appear and not be selectable.
    • 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
    1. <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
    Spoiler: 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
    Spoiler: 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
    Spoiler: Terms Of Use
    Free for use in any commercial or non-commercial product, though a credit to "Lazislacker" would always be welcome.
    Download
    Spoiler: Download
    Plugin can be found here


    本贴来自国际rpgmaker官方论坛作者:Lazislacker处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/lazi-class-change-system.126836/
    天天去同能,天天有童年!
    回复 送礼论坛版权

    使用道具 举报

    文明发言,和谐互动
    文明发言,和谐互动
    高级模式
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    简体中文
    繁體中文
    English(英语)
    日本語(日语)
    Deutsch(德语)
    Русский язык(俄语)
    بالعربية(阿拉伯语)
    Türkçe(土耳其语)
    Português(葡萄牙语)
    ภาษาไทย(泰国语)
    한어(朝鲜语/韩语)
    Français(法语)
    关闭

    幸运抽奖

    社区每日抽奖来袭,快来试试你是欧皇还是非酋~

    立即查看

    聊天机器人
    Loading...

    QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

    GMT+8, 2026-8-4 20:30 , Processed in 0.068614 second(s), 54 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表