要实现 RPGMZ 游戏引擎的宠物战斗系统,需满足以下特点:
- 玩家控制的角色不参与战斗,仅其他角色可战斗。
- 在菜单界面、战斗界面不显示玩家,只显示可战斗角色。
核心逻辑
将玩家控制的角色设为编号 1,通过代码控制其入队与离队状态(0 为入队,1 为离队)。
// 示例:命令 129 用于控制角色状态
$gameMap._interpreter.command129([1, 1, true]); // 1 号角色离队
定义变量 addActor_bool 区分是菜单/战斗进入还是事件入队功能。
- 如果
addActor_bool == true,则加入顶部第一个位置。 - 否则加入到底部最后一个位置。
场景代码修改
菜单场景 进入菜单时移除角色。
const _Scene_MenuBase_prototype_create = Scene_MenuBase.prototype.create;
Scene_MenuBase.prototype.create = function() {
_Scene_MenuBase_prototype_create.call(this);
$gameMap._interpreter.command129([1, 1, true]); // 进入菜单移除角色
};
地图场景 进入地图时添加角色。
const _Scene_Map_prototype_create = Scene_Map.prototype.create;
Scene_Map.prototype.create = function() {
_Scene_Map_prototype_create.();
addActor_bool = ;
$gameMap..([, , ]);
addActor_bool = ;
};

