Project1

标题: 如何制作跟随且不参加战斗的角色 [打印本页]

作者: 绝灵魂梦绕    时间: 2015-4-12 18:30
标题: 如何制作跟随且不参加战斗的角色
求大神指点
作者: 雷影    时间: 2015-4-12 18:42
昨天才有人问过……可能对一些菜单脚本无效!
  1. #==============================================================================
  2. # +++ 追加不战斗的跟随队友 +++
  3. #==============================================================================
  4. # 提问区应求小脚本 by 三途亚梦
  5. #==============================================================================
  6. # 给根据人物的别名判断这个人物是否会在以及在菜单栏显示战斗中登场。
  7. #
  8. #==============================================================================
  9. module AMU
  10.   module NPC

  11.     NPC_NAME = "NPC"
  12.     #这里设置别名(称号)为引号内文字的人物不会显示
  13.     # ※ 注意保留引号

  14.   end
  15. end
  16. #==============================================================================
  17. # ■ Window_MenuStatus
  18. #------------------------------------------------------------------------------
  19. #  菜单画面中,显示队伍成员状态的窗口
  20. #==============================================================================

  21. class Window_MenuStatus < Window_Selectable
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取项目数
  24.   #--------------------------------------------------------------------------
  25.   def item_max
  26.     a = 0
  27.     $game_party.members.each do |actor|
  28.       a += 1 if actor.nickname != AMU::NPC::NPC_NAME
  29.     end
  30.     return a
  31.   end
  32. end
  33. #==============================================================================
  34. # ■ Game_Party
  35. #------------------------------------------------------------------------------
  36. #  管理队伍的类。保存有金钱及物品的信息。本类的实例请参考 $game_party 。
  37. #==============================================================================

  38. class Game_Party < Game_Unit
  39.   #--------------------------------------------------------------------------
  40.   # ● 获取参战角色
  41.   #--------------------------------------------------------------------------
  42.   def battle_members
  43.     all_members[0, max_battle_members].select {|actor| actor.exist? && actor.nickname != AMU::NPC::NPC_NAME}
  44.   end
  45. end
  46. #==============================================================================
  47. # ■ Game_Follower
  48. #------------------------------------------------------------------------------
  49. #  管理跟随角色的类。处理跟随角色的显示、跟随的行为等。
  50. #   请在 Game_Followers 类中查看具体的应用。
  51. #==============================================================================

  52. class Game_Follower < Game_Character
  53.   #--------------------------------------------------------------------------
  54.   # ● 获取对应的角色
  55.   #--------------------------------------------------------------------------
  56.   def actor
  57.     $game_party.members[@member_index]
  58.   end
  59. end
  60. #==============================================================================
  61. # ■ Game_Interpreter
  62. #------------------------------------------------------------------------------
  63. #  事件指令的解释器。
  64. #   本类在 Game_Map、Game_Troop、Game_Event 类的内部使用。
  65. #==============================================================================
  66. class Game_Interpreter
  67.   #--------------------------------------------------------------------------
  68.   # ● 队伍管理
  69.   #--------------------------------------------------------------------------
  70.   alias amu_20150125_command_129 command_129
  71.   def command_129
  72.    amu_20150125_command_129
  73.    party = $game_party.members
  74.    npc = nil
  75.    party.each do |actor|
  76.      npc = actor if actor.nickname == AMU::NPC::NPC_NAME
  77.      break if npc != nil
  78.    end
  79.    $game_party.swap_order(npc.index, party[party.size - 1].index)
  80.    end
  81. end
复制代码





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