Project1

标题: 更换领队脚本扩展 [打印本页]

作者: 黄濑凉太    时间: 2013-6-16 12:18
标题: 更换领队脚本扩展
我想把这个脚本扩展成轨迹系列一样,领队变更的时候会执行事件,比如显示文章:"轮到我上场了!"但是显示文章里的头像是要变更领队后的角色头像。
  1. #==============================================================================
  2. # 领队更换系统 by SailCat   
  3. #领队更换系统  VX版 by King
  4. #------------------------------------------------------------------------------
  5. # 添加此脚本后,在地图画面按下w键更换当前的领队。
  6. # 领队更改不会造成战斗队伍、菜单队伍次序的更改。
  7. # 若要在条件分歧中调用领队,请用脚本:$game_party.leader == 序号
  8. # 序号为0-3的值,最大不会超过队伍的角色数目减1。
  9. #==============================================================================
  10. class Game_Party
  11. #--------------------------------------------------------------------------
  12. # ● 追加实例变量
  13. #--------------------------------------------------------------------------
  14. attr_reader   :leader
  15. alias sailcat_initialize initialize
  16. alias sailcat_setup_starting_members setup_starting_members
  17. #--------------------------------------------------------------------------
  18. # ● 初始化对像
  19. #--------------------------------------------------------------------------
  20. def initialize
  21.    # 生成领队
  22.    @leader = 0
  23.    sailcat_initialize
  24. end
  25. #--------------------------------------------------------------------------
  26. # ● 设置初期同伴
  27. #--------------------------------------------------------------------------
  28. def setup_starting_members
  29.    sailcat_setup_starting_members
  30.    # 生成领队
  31.    @leader = 0
  32. end
  33. #--------------------------------------------------------------------------
  34. # ● 设置领队
  35. #--------------------------------------------------------------------------
  36. def switch_leader
  37.    @leader += 1
  38.    @leader %= @actors.size
  39. end
  40. end
  41. class Game_Player
  42. alias sailcat_update update
  43. #--------------------------------------------------------------------------
  44. # ● 刷新
  45. #--------------------------------------------------------------------------
  46. def refresh
  47.    # 同伴人数为 0 的情况下
  48.   if $game_party.members.size == 0
  49.      # 清除角色的文件名及对像
  50.      @character_name = ""
  51.      @character_hue = 0
  52.      # 分支结束
  53.      return
  54.    end
  55.    # 获取带头的角色
  56.    actor = $game_party.members[$game_party.leader]
  57.    # 设置角色的文件名及对像
  58.    @character_name = actor.character_name
  59.    @character_index = actor.character_index
  60.    # 初始化不透明度和合成方式
  61.    [url=home.php?mod=space&uid=316553]@opacity[/url] = 255
  62.    @blend_type = 0
  63. end
  64. #--------------------------------------------------------------------------
  65. # ● 画面更新
  66. #--------------------------------------------------------------------------
  67. def update
  68.    # 按下 A 键的情况下
  69.    if Input.trigger?(Input::R)
  70.      # 更换领队
  71.      $game_party.switch_leader
  72.      refresh
  73.    end
  74.    sailcat_update
  75. end
  76. end
复制代码





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