古树旋律 发表于 2023-2-17 11:48:18

在角色升级时,我们可以搞哪些花样

本帖最后由 古树旋律 于 2023-2-18 21:15 编辑

以RMMZ的官方插件Levelupstate.js为例,这是角色在升级时调用的函数Game_Actor.prototype.levelUp代码:
Game_Actor.prototype.levelUp = function() {
    this._level++;//等级+1的意思
    for (const learning of this.currentClass().learnings) {
      if (learning.level === this._level) {
            this.learnSkill(learning.skillId);//学会这个职业相应等级的新技能
      }
    }
};
结合本站的 脚本调用手册,我们可以搞成很多新花样,比如:
Game_Actor.prototype.levelUp = function() {
    this._level++;
      if($gameParty.inBattle()){
      $gameActors.actor(this._actorId).addState(2);
//判断如果是因为战斗而升级,则为该角色增加2号状态
      }
    for (const learning of this.currentClass().learnings) {
      if (learning.level === this._level) {
            this.learnSkill(learning.skillId);
      }
    }
};
所以大家知道该怎么做了吧,自由DIY即可,比如搞一个角色完全恢复呀。但要注意,如果没有其他插件的干预,完全恢复会清除所有的BUFF。





民族精神 发表于 2023-2-17 15:10:53

看不太懂(就是看不懂)

古树旋律 发表于 2023-2-17 15:35:28

民族精神 发表于 2023-2-17 15:10
看不太懂(就是看不懂)

搜索找到Game_Actor.prototype.levelUp = function()之后,提前备份。
代码复制粘贴过去即可,多尝试,就知道是含义了。RM已经把很多功能都整合成函数了,相当于一键调用了。
页: [1]
查看完整版本: 在角色升级时,我们可以搞哪些花样