Project1

标题: 追加不战斗不在菜单显示的跟随队友 [打印本页]

作者: 三途亚梦    时间: 2015-2-19 15:06
标题: 追加不战斗不在菜单显示的跟随队友
本帖最后由 三途亚梦 于 2015-7-30 13:43 编辑

RUBY 代码复制
  1. #==============================================================================
  2. # +++ 追加不战斗的跟随队友 +++
  3. #==============================================================================
  4. # 提问区应求小脚本 by 三途亚梦
  5. #==============================================================================
  6. # 给根据人物的别名判断这个人物是否会在以及在菜单栏显示战斗中登场。
  7. # 使用本脚本,如果在地图上有队伍随机乱序的操作话会出现bug。
  8. #==============================================================================
  9. module AMU
  10.   module NPC
  11.  
  12.     NPC_NAME = "NPC"
  13.     #这里设置别名为引号内文字的人物不会显示
  14.     # ※ 注意保留引号
  15.  
  16.   end
  17. end
  18. #==============================================================================
  19. # ■ Window_MenuStatus
  20. #------------------------------------------------------------------------------
  21. #  菜单画面中,显示队伍成员状态的窗口
  22. #==============================================================================
  23. class Window_MenuStatus < Window_Selectable
  24.   #--------------------------------------------------------------------------
  25.   # ● 获取项目数
  26.   #--------------------------------------------------------------------------
  27.   def item_max
  28.     a = 0
  29.     $game_party.members.each do |actor|
  30.       a += 1 if actor.nickname != AMU::NPC::NPC_NAME
  31.     end
  32.     return a
  33.   end
  34. end
  35. #==============================================================================
  36. # ■ Game_Party
  37. #------------------------------------------------------------------------------
  38. #  管理队伍的类。保存有金钱及物品的信息。本类的实例请参考 $game_party 。
  39. #==============================================================================
  40.  
  41. class Game_Party < Game_Unit
  42.   #--------------------------------------------------------------------------
  43.   # ● 获取参战角色
  44.   #--------------------------------------------------------------------------
  45.   def battle_members
  46.     all_members[0, max_battle_members].select {|actor| actor.exist? && actor.nickname != AMU::NPC::NPC_NAME}
  47.   end
  48. end
  49. #==============================================================================
  50. # ■ Game_Follower
  51. #------------------------------------------------------------------------------
  52. #  管理跟随角色的类。处理跟随角色的显示、跟随的行为等。
  53. #   请在 Game_Followers 类中查看具体的应用。
  54. #==============================================================================
  55. class Game_Follower < Game_Character
  56.   #--------------------------------------------------------------------------
  57.   # ● 获取对应的角色
  58.   #--------------------------------------------------------------------------
  59.   def actor
  60.     $game_party.members[@member_index]
  61.   end
  62. end
  63. #==============================================================================
  64. # ■ Game_Interpreter
  65. #------------------------------------------------------------------------------
  66. #  事件指令的解释器。
  67. #   本类在 Game_Map、Game_Troop、Game_Event 类的内部使用。
  68. #==============================================================================
  69. class Game_Interpreter
  70.   #--------------------------------------------------------------------------
  71.   # ● 队伍管理
  72.   #--------------------------------------------------------------------------
  73.   alias amu_20150125_command_129 command_129
  74.   def command_129
  75.    amu_20150125_command_129
  76.    party = $game_party.members; npc = nil
  77.    if ($game_actors[@params[0]].nickname == AMU::NPC::NPC_NAME ||
  78.      party.any?{|a| a.nickname == AMU::NPC::NPC_NAME}) && @params[1] == 0
  79.      party.each do |actor|
  80.        npc = actor if actor.nickname == AMU::NPC::NPC_NAME
  81.        break if npc != nil
  82.      end
  83.      $game_party.swap_order(npc.index, party[party.size - 1].index)
  84.     end
  85.   end
  86. end





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1