加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 海胆泡面 于 2024-5-5 14:44 编辑
使用的战斗换人脚本应该是enghao_lim很久以前制作的战斗换人脚本,可以兼容XRXS26. 人物扩张系统 ver..05使用。
人物扩张脚本里面有一部分是规定特定编号的角色无法被交换的:
class Scene_Menu MENU_MEMBER_CHANGE_KEY_GO = Input::RIGHT # 进入键 MENU_MEMBER_CHANGE_KEY_END = Input::LEFT # 离开键 MENU_MEMBER_CHANGE_INDEX_MIN = 0 # 可更换角色最小编号 FORCETOBATTLE_ACTORS = [] # 不能待机的角色编号 UMBATTLABLE_ACTORS = [] # 不能加入战斗的角色编号 UNMOVABLE_ACTORS = [] # 不能移动的角色编号 end
class Scene_Menu
MENU_MEMBER_CHANGE_KEY_GO = Input::RIGHT # 进入键
MENU_MEMBER_CHANGE_KEY_END = Input::LEFT # 离开键
MENU_MEMBER_CHANGE_INDEX_MIN = 0 # 可更换角色最小编号
FORCETOBATTLE_ACTORS = [] # 不能待机的角色编号
UMBATTLABLE_ACTORS = [] # 不能加入战斗的角色编号
UNMOVABLE_ACTORS = [] # 不能移动的角色编号
end
但是战斗换人脚本里面没找到对应的内容。
希望达成的效果是首位的队员无论在菜单换人还是战斗换人中都能固定在首位而不会被交换掉、或者在战斗结束之后自动返回首位,请问应该如何达成这一效果?
找到解决方案了。
首先在class Scene_Battle这一行后面加入
UNMOVABLE_ACTORS = [] # 禁止移动的角色的编号
然后在if Input.trigger?(Input::C)和for i in 0...$game_party.actors.size这两行代码之间插入这些代码:
if UNMOVABLE_ACTORS.include?($game_party.actors[@actor_window.index].id)#禁止移动开始 $game_system.se_play($data_system.buzzer_se) return end# 禁止移动结束
if UNMOVABLE_ACTORS.include?($game_party.actors[@actor_window.index].id)#禁止移动开始
$game_system.se_play($data_system.buzzer_se)
return
end# 禁止移动结束
就可以了 |