#==============================================================================
# +++ 追加不战斗的跟随队友 +++
#==============================================================================
# 提问区应求小脚本 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