查看: 1400|回复: 0

追加不战斗不在菜单显示的跟随队友

[复制链接]

闇吼者の災悪眷族

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
回帖
6408
发表于 2015-2-19 15:06:50 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 三途亚梦 于 2015-7-30 13:43 编辑

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

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本发帖返回顶部