@三途亚梦 「队友不在菜单显示」脚本 RUBY 代码复制#==============================================================================# +++ 追加不战斗的跟随队友 +++#====== ...
#==============================================================================# +++ 追加不战斗的跟随队友 +++#==============================================================================# 提问区应求小脚本 by 三途亚梦#==============================================================================# 给根据人物的别名判断这个人物是否会在以及在菜单栏显示战斗中登场。# 使用本脚本,如果在地图上有队伍随机乱序的操作话会出现bug。#==============================================================================module AMU module NPC NPC_NAME = "NPC" #这里设置别名为引号内文字的人物不会显示 # ※ 注意保留引号 endend#==============================================================================# ■ Window_MenuStatus#------------------------------------------------------------------------------# 菜单画面中,显示队伍成员状态的窗口#==============================================================================class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # ● 获取项目数 #-------------------------------------------------------------------------- def item_max a = 0 $game_party.members.each do |actor| a += 1 if actor.nickname != AMU::NPC::NPC_NAME end return a endend#==============================================================================# ■ Game_Party#------------------------------------------------------------------------------# 管理队伍的类。保存有金钱及物品的信息。本类的实例请参考 $game_party 。#============================================================================== class Game_Party < Game_Unit #-------------------------------------------------------------------------- # ● 获取参战角色 #-------------------------------------------------------------------------- def battle_members all_members[0, max_battle_members].select {|actor| actor.exist? && actor.nickname != AMU::NPC::NPC_NAME} endend#==============================================================================# ■ Game_Follower#------------------------------------------------------------------------------# 管理跟随角色的类。处理跟随角色的显示、跟随的行为等。# 请在 Game_Followers 类中查看具体的应用。#==============================================================================class Game_Follower < Game_Character #-------------------------------------------------------------------------- # ● 获取对应的角色 #-------------------------------------------------------------------------- def actor $game_party.members[@member_index] endend#==============================================================================# ■ Game_Interpreter#------------------------------------------------------------------------------# 事件指令的解释器。# 本类在 Game_Map、Game_Troop、Game_Event 类的内部使用。#==============================================================================class Game_Interpreter #-------------------------------------------------------------------------- # ● 队伍管理 #-------------------------------------------------------------------------- alias amu_20150125_command_129 command_129 def command_129 amu_20150125_command_129 party = $game_party.members; npc = nil if ($game_actors[@params[0]].nickname == AMU::NPC::NPC_NAME || party.any?{|a| a.nickname == AMU::NPC::NPC_NAME}) && @params[1] == 0 party.each do |actor| npc = actor if actor.nickname == AMU::NPC::NPC_NAME break if npc != nil end $game_party.swap_order(npc.index, party[party.size - 1].index) end endend
#============================================================================== # +++ 追加不战斗的跟随队友 +++ #============================================================================== # 提问区应求小脚本 by 三途亚梦 #============================================================================== # 给根据人物的别名判断这个人物是否会在以及在菜单栏显示战斗中登场。 # 使用本脚本,如果在地图上有队伍随机乱序的操作话会出现bug。 #============================================================================== module AMU module NPC NPC_NAME = "NPC" #这里设置别名为引号内文字的人物不会显示 # ※ 注意保留引号 end end #============================================================================== # ■ Window_MenuStatus #------------------------------------------------------------------------------ # 菜单画面中,显示队伍成员状态的窗口 #============================================================================== class Window_MenuStatus < Window_Selectable #-------------------------------------------------------------------------- # ● 获取项目数 #-------------------------------------------------------------------------- def item_max a = 0 $game_party.members.each do |actor| a += 1 if actor.nickname != AMU::NPC::NPC_NAME end return a end end #============================================================================== # ■ Game_Party #------------------------------------------------------------------------------ # 管理队伍的类。保存有金钱及物品的信息。本类的实例请参考 $game_party 。 #============================================================================== class Game_Party < Game_Unit #-------------------------------------------------------------------------- # ● 获取参战角色 #-------------------------------------------------------------------------- def battle_members all_members[0, max_battle_members].select {|actor| actor.exist? && actor.nickname != AMU::NPC::NPC_NAME} end end #============================================================================== # ■ Game_Follower #------------------------------------------------------------------------------ # 管理跟随角色的类。处理跟随角色的显示、跟随的行为等。 # 请在 Game_Followers 类中查看具体的应用。 #============================================================================== class Game_Follower < Game_Character #-------------------------------------------------------------------------- # ● 获取对应的角色 #-------------------------------------------------------------------------- def actor $game_party.members[@member_index] end end #============================================================================== # ■ Game_Interpreter #------------------------------------------------------------------------------ # 事件指令的解释器。 # 本类在 Game_Map、Game_Troop、Game_Event 类的内部使用。 #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● 队伍管理 #-------------------------------------------------------------------------- alias amu_20150125_command_129 command_129 def command_129 amu_20150125_command_129 party = $game_party.members; npc = nil if ($game_actors[@params[0]].nickname == AMU::NPC::NPC_NAME || party.any?{|a| a.nickname == AMU::NPC::NPC_NAME}) && @params[1] == 0 party.each do |actor| npc = actor if actor.nickname == AMU::NPC::NPC_NAME break if npc != nil end $game_party.swap_order(npc.index, party[party.size - 1].index) end end end
查看全部评分
折叠内容标题(非必须)
折叠内容
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-16 12:24
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.