惊讶于在 MZ 中似乎完全找不到任何与此相关的内容,至少我是没找到。
有没有办法让某个角色 不出现在战斗中,而只在地图上出现?
惊讶于在 MZ 中似乎完全找不到任何与此相关的内容,至少我是没找到。
有没有办法让某个角色 不出现在战斗中,而只在地图上出现?
有一种方法,但我不确定这是否是你想要的。
它会将角色状态更改为“预备”,并锁定其位置,使其无法处于“活跃”状态。
VisuStella-Party System 会将 MZ 的战斗系统更改为活跃/预备模式,让你可以选择在战斗中使用哪些角色。
你可以自行阅读详情 >>> Party System VisuStella MZ - Yanfly.moe Wiki
/*:
* @target MV
* @plugindesc 允许将角色指定为非战斗人员,使其不出现在战斗中
* @author Gensun
*
* @help
* =============================== 角色注释标签 ===============================
* <NonCombatant>
* 将上述注释标签粘贴到角色的备注框中,将其指定为永远不会作为可玩角色出现在战斗中。
*/
Game_Actor.prototype.isCombatant = function() {
return !this.actor().meta.NonCombatant;
};
//Override
Game_Party.prototype.allBattleMembers = function() {
return this.allMembers().filter(function(member){return member.isCombatant()}).slice(0, this.maxBattleMembers());
};
将文本保存为 .js 文件并作为插件安装。由于此插件必须重写 allBattleMembers 函数,因此它与某些插件不兼容的可能性较小。我必须在函数内部插入代码,而不是在原始函数之前或之后。
尽管如此,我还是快速测试了一下,目前运行正常。看看它是否能解决你的问题,或者你是否需要更多功能来满足需求。
MV 和 MZ 都自带一个 MenuSubMembers 插件,可能能满足你的需求。