设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3351|回复: 1
打印 上一主题 下一主题

[已经解决] 我方角色的队伍增多,我希望的是九人,要怎么弄?

[复制链接]

Lv2.观梦者

梦石
0
星屑
814
在线时间
122 小时
注册时间
2018-7-23
帖子
114
跳转到指定楼层
1
发表于 2021-3-28 01:17:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
问题来了,队伍角色的图是有坐标的。这个坐标有什么规律吗?

Lv3.寻梦者

梦石
0
星屑
1082
在线时间
134 小时
注册时间
2020-12-6
帖子
53
2
发表于 2021-7-14 08:16:21 | 只看该作者
本帖最后由 alexncf125 于 2022-3-31 09:23 编辑

yanfly的队伍系统
RUBY 代码复制
  1. #==============================================================================
  2. #
  3. # ▼ Yanfly Engine Ace - 队伍系统 v1.08
  4. # -- 最后更新: 2012.01.23
  5. # -- 使用难度: 普通
  6. # -- 需要脚本: 无
  7. #
  8. #==============================================================================
  9.  
  10. $imported = {} if $imported.nil?
  11. $imported["YEA-PartySystem"] = true
  12.  
  13. #==============================================================================
  14. # ▼ Updates
  15. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  16. # 2012.01.23 - Bug fixed: Party members are now rearranged when newly added.
  17. # 2012.01.14 - New Feature: Maximum Battle Members Variable added.
  18. # 2012.01.07 - Bug fixed: Error with removing members.
  19. # 2012.01.05 - Bug fixed: Escape skill/item effects no longer counts as death.
  20. # 2011.12.26 - Compatibility Update: New Game+
  21. # 2011.12.17 - Updated Spriteset_Battle to have updated sprite counts.
  22. # 2011.12.13 - Updated to provide better visual display when more than 5 pieces
  23. #              of equipment are equipped on an actor at a time.
  24. # 2011.12.05 - Added functionality to display faces in the Party Select Window.
  25. #            - Fixed bug that doesn't refresh the caterpillar when new members
  26. #              join the party.
  27. # 2011.12.04 - Started Script and Finished.
  28. #
  29. #==============================================================================
  30. # ▼ 介绍
  31. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  32. # RPG Maker VX Ace 有一个出色的队伍系统,只是必须要脚本才能改变队伍的最大人数。
  33. # 本脚本可以让你随意改变队伍最大人数,改变EXP比率,打开一个单独的队伍菜单(如
  34. # 果你希望的话)除此之外,你还能锁定队伍中的指定角色,或者是分支条件需要指定角
  35. # 色处于参战位置。
  36. #
  37. #==============================================================================
  38. # ▼ 安装方式
  39. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  40. # 打开脚本编辑器,将本脚本拷贝/复制到一个在▼ 插件脚本之下▼ Main之上的新
  41. # 脚本页/槽中.记得保存你的工程以使脚本生效.
  42. #
  43. # -----------------------------------------------------------------------------
  44. # 脚本 - 可使用的脚本.
  45. # -----------------------------------------------------------------------------
  46. # *重要* 以下脚本使用的前提为:启用队伍菜单,否则什么都不会发生。
  47. #
  48. # lock_actor(x)
  49. # unlock_actor(x)
  50. # 在队伍中锁定/解锁x号角色的脚本。使用前题为该角色处于队伍中。
  51. #
  52. # require_actor(x)
  53. # unrequire_actor(x)
  54. # 可以在事件的分支条件中使用的脚本,需要x号角色在队伍中才能继续。当该角色在队伍
  55. # 中的非参战位置时,系统会提示玩家将该角色调整到参战位置。
  56. #
  57. # call_party_menu
  58. # 显示队伍菜单的脚本,前提是开启队伍菜单。
  59. #
  60. #==============================================================================
  61. # ▼ 兼容性
  62. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  63. # 本脚本仅为RPG Maker VX Ace编写.极不可能在无任何修改的情况下运行于RPG Maker VX.
  64. #
  65. #==============================================================================
  66.  
  67. module YEA
  68.   module PARTY
  69.  
  70.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  71.     # - 通用队伍设置 -
  72.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  73.     # 有关队伍的通用设置。
  74.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  75.     MAX_BATTLE_MEMBERS   = 5      # 最大队伍人数. 默认: 4
  76.     SPLIT_EXP            = false  # 是否将经验值平分到角色身上.(队伍角色越多,
  77.                                   # 每个人获得的经验值越少)
  78.     RESERVE_EXP_RATE     = 0.50   # 存储EXP的比率. 默认: 1.00
  79.  
  80.     # 如果你想在游戏进程中改变队伍的最大人数,你可以将本值设定为变量的ID。
  81.     # 不希望使用此功能的话,设定为0就好。
  82.     MAX_MEMBERS_VARIABLE = 0
  83.  
  84.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  85.     # - 队伍菜单设置 -
  86.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  87.     # 可以设定队伍菜单中的指令、文本等
  88.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  89.     ENABLE_MENU = true   # 是否启用队伍菜单. 默认: false
  90.     COMMANDS =[          # 指令的顺序及文本内容.
  91.     # [ :指令,    "文本",],
  92.       [ :change,  "入队",],
  93.       [ :remove,  "离队",],
  94.       [ :revert,  "重置",],
  95.       [ :finish,  "结束",],
  96.     ]  # 别动这个括号.
  97.     COMMAND_ALIGN    = 1     #文本对齐方式 0:靠左, 1:居中, 2:靠右
  98.  
  99.     # 位于右上角的,参战队伍状态的设置
  100.     PARTY_FONT_SIZE  = 20    # 队员名字体大小.
  101.     LOCK_FIRST_ACTOR = false # 是否默认锁定第一个角色?
  102.     LOCKED_ICON      = 125   # 已锁定角色的图标.
  103.     REQUIRED_ICON    = 126   # 需要的角色的图标.
  104.     EMPTY_TEXT = "-无-"      # 无角色的文本.
  105.     DISPLAY_FACE     = false # 是否用脸图代替行走图?
  106.  
  107.     # 位于左下角的,总队伍状态的设置
  108.     REMOVE_ICON      = 185          # 已被移除角色的图标.
  109.     REMOVE_TEXT      = "-移除-"     # 移除角色指令的文本.
  110.     ACTOR_Y_BUFFER   = 0            # 调整角色行走图的Y坐标
  111.  
  112.     # 位于左下角的,已选择角色状态的设置
  113.     NO_DATA         = "- 无数据 -"  # 未选择角色时显示的文本.
  114.     IN_PARTY_COLOUR = 6             # 队员的字体颜色.
  115.     STAT_FONT_SIZE  = 20            # 能力值的字体大小.
  116.     EQUIP_TEXT      = "装备"        # 装备的文本.
  117.  
  118.   end # PARTY
  119. end # YEA
  120.  
  121. #==============================================================================
  122. # ▼ 编辑以下内容可能会出现电脑损坏、死机,电脑主人脑袋爆炸、昏迷、死亡或口臭
  123. # 所以编辑了后果自负。
  124. #==============================================================================
  125.  
  126. #==============================================================================
  127. # ■ Icon
  128. #==============================================================================
  129.  
  130. module Icon
  131.  
  132.   #--------------------------------------------------------------------------
  133.   # self.locked_party
  134.   #--------------------------------------------------------------------------
  135.   def self.locked_party; return YEA::PARTY::LOCKED_ICON; end
  136.  
  137.   #--------------------------------------------------------------------------
  138.   # self.required_party
  139.   #--------------------------------------------------------------------------
  140.   def self.required_party; return YEA::PARTY::REQUIRED_ICON; end
  141.  
  142.   #--------------------------------------------------------------------------
  143.   # self.remove_party
  144.   #--------------------------------------------------------------------------
  145.   def self.remove_party; return YEA::PARTY::REMOVE_ICON; end
  146.  
  147. end # Icon
  148.  
  149. #==============================================================================
  150. # ■ Variable
  151. #==============================================================================
  152.  
  153. module Variable
  154.  
  155.   #--------------------------------------------------------------------------
  156.   # self.max_battle_members
  157.   #--------------------------------------------------------------------------
  158.   def self.max_battle_members
  159.     default = YEA::PARTY::MAX_BATTLE_MEMBERS
  160.     return default if YEA::PARTY::MAX_MEMBERS_VARIABLE <= 0
  161.     return default if $game_variables[YEA::PARTY::MAX_MEMBERS_VARIABLE] <= 0
  162.     return $game_variables[YEA::PARTY::MAX_MEMBERS_VARIABLE]
  163.   end
  164.  
  165. end # Variable
  166.  
  167. #==============================================================================
  168. # ■ Numeric
  169. #==============================================================================
  170.  
  171. class Numeric
  172.  
  173.   #--------------------------------------------------------------------------
  174.   # new method: group_digits
  175.   #--------------------------------------------------------------------------
  176.   unless $imported["YEA-CoreEngine"]
  177.   def group; return self.to_s; end
  178.   end # $imported["YEA-CoreEngine"]
  179.  
  180. end # Numeric
  181.  
  182. #==============================================================================
  183. # ■ Game_Actor
  184. #==============================================================================
  185.  
  186. class Game_Actor < Game_Battler
  187.  
  188.   #--------------------------------------------------------------------------
  189.   # public instance variables
  190.   #--------------------------------------------------------------------------
  191.   attr_accessor :locked
  192.   attr_accessor :required
  193.  
  194.   #--------------------------------------------------------------------------
  195.   # alias method: setup
  196.   #--------------------------------------------------------------------------
  197.   alias game_actor_setup_ps setup
  198.   def setup(actor_id)
  199.     game_actor_setup_ps(actor_id)
  200.     @locked = false
  201.     @required = false
  202.   end
  203.  
  204.   #--------------------------------------------------------------------------
  205.   # overwrite method: final_exp_rate
  206.   #--------------------------------------------------------------------------
  207.   def final_exp_rate
  208.     n = exr * (battle_member? ? 1 : reserve_members_exp_rate)
  209.     if $game_party.in_battle
  210.       n /= [$game_party.battle_members.size, 1].max if YEA::PARTY::SPLIT_EXP
  211.     end
  212.     return n
  213.   end
  214.  
  215.   #--------------------------------------------------------------------------
  216.   # overwrite method: reserve_members_exp_rate
  217.   #--------------------------------------------------------------------------
  218.   def reserve_members_exp_rate
  219.     $data_system.opt_extra_exp ? YEA::PARTY::RESERVE_EXP_RATE : 0
  220.   end
  221.  
  222. end # Game_Actor
  223.  
  224. #==============================================================================
  225. # ■ Game_Party
  226. #==============================================================================
  227.  
  228. class Game_Party < Game_Unit
  229.  
  230.   #--------------------------------------------------------------------------
  231.   # public instance variables
  232.   #--------------------------------------------------------------------------
  233.   attr_accessor :battle_members_array
  234.  
  235.   #--------------------------------------------------------------------------
  236.   # alias method: initialize
  237.   #--------------------------------------------------------------------------
  238.   alias game_party_initialize_ps initialize
  239.   def initialize
  240.     game_party_initialize_ps
  241.     @battle_members_array = nil
  242.   end
  243.  
  244.   #--------------------------------------------------------------------------
  245.   # overwrite method: max_battle_members
  246.   #--------------------------------------------------------------------------
  247.   def max_battle_members; return Variable.max_battle_members; end
  248.  
  249.   #--------------------------------------------------------------------------
  250.   # alias method: setup_starting_members
  251.   #--------------------------------------------------------------------------
  252.   alias setup_starting_members_ps setup_starting_members
  253.   def setup_starting_members
  254.     setup_starting_members_ps
  255.     initialize_battle_members
  256.     return unless YEA::PARTY::LOCK_FIRST_ACTOR
  257.     return if members[0].nil?
  258.     members[0].locked = true
  259.   end
  260.  
  261.   #--------------------------------------------------------------------------
  262.   # alias method: setup_battle_test_members
  263.   #--------------------------------------------------------------------------
  264.   alias setup_battle_test_members_ps setup_battle_test_members
  265.   def setup_battle_test_members
  266.     setup_battle_test_members_ps
  267.     return unless YEA::PARTY::LOCK_FIRST_ACTOR
  268.     return if members[0].nil?
  269.     members[0].locked = true
  270.   end
  271.  
  272.   #--------------------------------------------------------------------------
  273.   # overwrite method: battle_members
  274.   #--------------------------------------------------------------------------
  275.   def battle_members
  276.     initialize_battle_members if initialize_battle_members?
  277.     array = []
  278.     for actor_id in @battle_members_array
  279.       break if array.size > max_battle_members
  280.       next if actor_id.nil?
  281.       next if $game_actors[actor_id].nil?
  282.       next unless $game_actors[actor_id].exist?
  283.       array.push($game_actors[actor_id])
  284.     end
  285.     return array
  286.   end
  287.  
  288.   #--------------------------------------------------------------------------
  289.   # new method: initialize_battle_members?
  290.   #--------------------------------------------------------------------------
  291.   def initialize_battle_members?
  292.     return true if @battle_members_array.nil?
  293.     return @battle_members_array.size != max_battle_members
  294.   end
  295.  
  296.   #--------------------------------------------------------------------------
  297.   # new method: initialize_battle_members
  298.   #--------------------------------------------------------------------------
  299.   def initialize_battle_members
  300.     @battle_members_array = []
  301.     for i in 0...max_battle_members
  302.       @battle_members_array.push(@actors[i]) unless @actors[i].nil?
  303.       @battle_members_array.push(0) if @actors[i].nil?
  304.     end
  305.     $game_player.refresh
  306.   end
  307.  
  308.   #--------------------------------------------------------------------------
  309.   # alias method: add_actor
  310.   #--------------------------------------------------------------------------
  311.   alias game_party_add_actor_ps add_actor
  312.   def add_actor(actor_id)
  313.     game_party_add_actor_ps(actor_id)
  314.     return if @battle_members_array.include?(actor_id)
  315.     return unless @battle_members_array.include?(0)
  316.     index = @battle_members_array.index(0)
  317.     @battle_members_array[index] = actor_id
  318.     $game_player.refresh
  319.     $game_map.need_refresh = true
  320.     rearrange_actors
  321.   end
  322.  
  323.   #--------------------------------------------------------------------------
  324.   # alias method: remove_actor
  325.   #--------------------------------------------------------------------------
  326.   alias game_party_remove_actor_ps remove_actor
  327.   def remove_actor(actor_id)
  328.     game_party_remove_actor_ps(actor_id)
  329.     return unless @battle_members_array.include?(actor_id)
  330.     index = @battle_members_array.index(actor_id)
  331.     @battle_members_array[index] = 0
  332.     $game_player.refresh
  333.     $game_map.need_refresh = true
  334.     rearrange_actors
  335.   end
  336.  
  337.   #--------------------------------------------------------------------------
  338.   # new method: rearrange_actors
  339.   #--------------------------------------------------------------------------
  340.   def rearrange_actors
  341.     initialize_battle_members if @battle_members_array.nil?
  342.     array = []
  343.     for actor_id in @battle_members_array
  344.       next if [0, nil].include?(actor_id)
  345.       next if $game_actors[actor_id].nil?
  346.       array.push(actor_id)
  347.     end
  348.     for actor_id in @actors
  349.       next if array.include?(actor_id)
  350.       next if $game_actors[actor_id].nil?
  351.       array.push(actor_id)
  352.     end
  353.     @actors = array
  354.   end
  355.  
  356. end # Game_Party
  357.  
  358. #==============================================================================
  359. # ■ Game_Interpreter
  360. #==============================================================================
  361.  
  362. class Game_Interpreter
  363.  
  364.   #--------------------------------------------------------------------------
  365.   # new method: lock_actor
  366.   #--------------------------------------------------------------------------
  367.   def lock_actor(actor_id)
  368.     return unless YEA::PARTY::ENABLE_MENU
  369.     actor = $game_actors[actor_id]
  370.     return unless $game_party.battle_members.include?(actor)
  371.     actor.locked = true
  372.   end
  373.  
  374.   #--------------------------------------------------------------------------
  375.   # new method: unlock_actor
  376.   #--------------------------------------------------------------------------
  377.   def unlock_actor(actor_id)
  378.     return unless YEA::PARTY::ENABLE_MENU
  379.     actor = $game_actors[actor_id]
  380.     return unless $game_party.battle_members.include?(actor)
  381.     actor.locked = false
  382.   end
  383.  
  384.   #--------------------------------------------------------------------------
  385.   # new method: require_actor
  386.   #--------------------------------------------------------------------------
  387.   def require_actor(actor_id)
  388.     return unless YEA::PARTY::ENABLE_MENU
  389.     return if $game_system.formation_disabled
  390.     actor = $game_actors[actor_id]
  391.     return unless $game_party.all_members.include?(actor)
  392.     actor.required = true
  393.     call_party_menu unless $game_party.battle_members.include?(actor)
  394.   end
  395.  
  396.   #--------------------------------------------------------------------------
  397.   # new method: unrequire_actor
  398.   #--------------------------------------------------------------------------
  399.   def unrequire_actor(actor_id)
  400.     return unless YEA::PARTY::ENABLE_MENU
  401.     return if $game_system.formation_disabled
  402.     actor = $game_actors[actor_id]
  403.     return unless $game_party.all_members.include?(actor)
  404.     actor.required = false
  405.     call_party_menu unless $game_party.battle_members.include?(actor)
  406.   end
  407.  
  408.   #--------------------------------------------------------------------------
  409.   # new method: call_party_menu
  410.   #--------------------------------------------------------------------------
  411.   def call_party_menu
  412.     return unless YEA::PARTY::ENABLE_MENU
  413.     return if $game_system.formation_disabled
  414.     SceneManager.call(Scene_Party)
  415.   end
  416.  
  417. end # Game_Interpreter
  418.  
  419. #==============================================================================
  420. # ■ Spriteset_Battle
  421. #==============================================================================
  422.  
  423. class Spriteset_Battle
  424.  
  425.   #--------------------------------------------------------------------------
  426.   # overwrite method: create_actors
  427.   #--------------------------------------------------------------------------
  428.   def create_actors
  429.     total = $game_party.max_battle_members
  430.     @actor_sprites = Array.new(total) { Sprite_Battler.new(@viewport1) }
  431.   end
  432.  
  433. end # Spriteset_Battle
  434.  
  435. #==============================================================================
  436. # ■ Window_PartyMenuCommand
  437. #==============================================================================
  438.  
  439. class Window_PartyMenuCommand < Window_Command
  440.  
  441.   #--------------------------------------------------------------------------
  442.   # window_width
  443.   #--------------------------------------------------------------------------
  444.   def window_width; return 160; end
  445.  
  446.   #--------------------------------------------------------------------------
  447.   # visible_line_number
  448.   #--------------------------------------------------------------------------
  449.   def visible_line_number; 4; end
  450.  
  451.   #--------------------------------------------------------------------------
  452.   # alignment
  453.   #--------------------------------------------------------------------------
  454.   def alignment
  455.     return Menu.command_window_align if $imported["YEA-AceMenuEngine"]
  456.     return YEA::PARTY::COMMAND_ALIGN
  457.   end
  458.  
  459.   #--------------------------------------------------------------------------
  460.   # scene
  461.   #--------------------------------------------------------------------------
  462.   def scene; return SceneManager.scene; end
  463.  
  464.   #--------------------------------------------------------------------------
  465.   # make_command_list
  466.   #--------------------------------------------------------------------------
  467.   def make_command_list
  468.     for command in YEA::PARTY::COMMANDS
  469.       case command[0]
  470.       when :change, :remove, :revert
  471.         add_command(command[1], command[0])
  472.       when :finish
  473.         add_command(command[1], command[0], enable_cancel?)
  474.       else; next
  475.       end
  476.     end
  477.   end
  478.  
  479.   #--------------------------------------------------------------------------
  480.   # process_cancel
  481.   #--------------------------------------------------------------------------
  482.   def process_cancel
  483.     unless enable_cancel?
  484.       Sound.play_buzzer
  485.       return
  486.     end
  487.     super
  488.   end
  489.  
  490.   #--------------------------------------------------------------------------
  491.   # in_party?
  492.   #--------------------------------------------------------------------------
  493.   def in_party?(actor)
  494.     return $game_party.battle_members.include?(actor)
  495.   end
  496.  
  497.   #--------------------------------------------------------------------------
  498.   # enable_cancel?
  499.   #--------------------------------------------------------------------------
  500.   def enable_cancel?
  501.     return false if $game_party.battle_members.size <= 0
  502.     for actor in $game_party.all_members
  503.       next if in_party?(actor)
  504.       return false if actor.required
  505.       return false if actor.locked
  506.     end
  507.     return true
  508.   end
  509.  
  510. end # Window_PartyMenuCommand
  511.  
  512. #==============================================================================
  513. # ■ Window_PartySelect
  514. #==============================================================================
  515.  
  516. class Window_PartySelect < Window_Selectable
  517.  
  518.   #--------------------------------------------------------------------------
  519.   # initialize
  520.   #-------------------------------------------------------------------------
  521.   def initialize(command_window)
  522.     @command_window = command_window
  523.     super(160, 0, window_width, fitting_height(visible_line_number))
  524.     select(0)
  525.     deactivate
  526.     refresh
  527.   end
  528.  
  529.   #--------------------------------------------------------------------------
  530.   # col_max
  531.   #--------------------------------------------------------------------------
  532.   def col_max; return $game_party.max_battle_members; end
  533.  
  534.   #--------------------------------------------------------------------------
  535.   # item_max
  536.   #--------------------------------------------------------------------------
  537.   def item_max; return $game_party.max_battle_members; end
  538.  
  539.   #--------------------------------------------------------------------------
  540.   # window_width
  541.   #--------------------------------------------------------------------------
  542.   def window_width; return Graphics.width - 160; end
  543.  
  544.   #--------------------------------------------------------------------------
  545.   # visible_line_number
  546.   #--------------------------------------------------------------------------
  547.   def visible_line_number; 4; end
  548.  
  549.   #--------------------------------------------------------------------------
  550.   # item_rect
  551.   #--------------------------------------------------------------------------
  552.   def item_rect(index)
  553.     rect = Rect.new
  554.     rect.width = contents.width / item_max
  555.     rect.height = contents.height
  556.     rect.x = index * rect.width
  557.     rect.y = 0
  558.     return rect
  559.   end
  560.  
  561.   #--------------------------------------------------------------------------
  562.   # refresh
  563.   #--------------------------------------------------------------------------
  564.   def refresh
  565.     make_item_list
  566.     create_contents
  567.     draw_all_items
  568.   end
  569.  
  570.   #--------------------------------------------------------------------------
  571.   # make_item_list
  572.   #--------------------------------------------------------------------------
  573.   def make_item_list
  574.     @data = $game_party.battle_members_array.clone
  575.   end
  576.  
  577.   #--------------------------------------------------------------------------
  578.   # draw_item
  579.   #--------------------------------------------------------------------------
  580.   def draw_item(index)
  581.     actor = $game_actors[@data[index]]
  582.     rect = item_rect(index)
  583.     if actor.nil?
  584.       draw_empty(rect.clone)
  585.       return
  586.     end
  587.     dx = rect.width / 2
  588.     dy = rect.height - 16
  589.     draw_actor_face(actor, rect.x, rect.y) if display_face?
  590.     draw_actor_graphic(actor, rect.x + dx, rect.y + dy) unless display_face?
  591.     draw_actor_name(actor, rect)
  592.     draw_locked_icon(actor, rect)
  593.     draw_required_icon(actor, rect)
  594.   end
  595.  
  596.   #--------------------------------------------------------------------------
  597.   # display_face?
  598.   #--------------------------------------------------------------------------
  599.   def display_face?
  600.     return YEA::PARTY::DISPLAY_FACE
  601.   end
  602.  
  603.   #--------------------------------------------------------------------------
  604.   # draw_empty
  605.   #--------------------------------------------------------------------------
  606.   def draw_empty(rect)
  607.     colour = Color.new(0, 0, 0, translucent_alpha/2)
  608.     rect.x += 2
  609.     rect.y += 2
  610.     rect.width -= 4
  611.     rect.height -= 4
  612.     contents.fill_rect(rect, colour)
  613.     reset_font_settings
  614.     change_color(system_color)
  615.     text = YEA::PARTY::EMPTY_TEXT
  616.     draw_text(rect, text, 1)
  617.     reset_font_settings
  618.   end
  619.  
  620.   #--------------------------------------------------------------------------
  621.   # draw_actor_name
  622.   #--------------------------------------------------------------------------
  623.   def draw_actor_name(actor, rect)
  624.     contents.font.size = YEA::PARTY::PARTY_FONT_SIZE
  625.     change_color(normal_color, actor.exist?)
  626.     draw_text(rect.x+4, rect.y, rect.width-8, line_height, actor.name, 1)
  627.   end
  628.  
  629.   #--------------------------------------------------------------------------
  630.   # draw_face
  631.   #--------------------------------------------------------------------------
  632.   def draw_face(face_name, face_index, dx, dy, enabled = true)
  633.     bitmap = Cache.face(face_name)
  634.     dw = [96, item_rect(0).width-4].min
  635.     rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, dw, 92)
  636.     contents.blt(dx+2, dy+2, bitmap, rect, enabled ? 255 : translucent_alpha)
  637.     bitmap.dispose
  638.   end
  639.  
  640.   #--------------------------------------------------------------------------
  641.   # draw_locked_icon
  642.   #--------------------------------------------------------------------------
  643.   def draw_locked_icon(actor, rect)
  644.     return unless actor_locked?(actor)
  645.     draw_icon(Icon.locked_party, rect.x+rect.width-26, rect.height - 26)
  646.   end
  647.  
  648.   #--------------------------------------------------------------------------
  649.   # draw_required_icon
  650.   #--------------------------------------------------------------------------
  651.   def draw_required_icon(actor, rect)
  652.     return if actor_locked?(actor)
  653.     return unless actor_required?(actor)
  654.     draw_icon(Icon.required_party, rect.x+rect.width-26, rect.height - 26)
  655.   end
  656.  
  657.   #--------------------------------------------------------------------------
  658.   # actor_locked?
  659.   #--------------------------------------------------------------------------
  660.   def actor_locked?(actor); return actor.locked; end
  661.  
  662.   #--------------------------------------------------------------------------
  663.   # actor_required?
  664.   #--------------------------------------------------------------------------
  665.   def actor_required?(actor)
  666.     return false if actor.locked
  667.     return actor.required
  668.   end
  669.  
  670.   #--------------------------------------------------------------------------
  671.   # current_item_enabled?
  672.   #--------------------------------------------------------------------------
  673.   def current_item_enabled?; enable?(@data[index]); end
  674.  
  675.   #--------------------------------------------------------------------------
  676.   # enable?
  677.   #--------------------------------------------------------------------------
  678.   def enable?(item)
  679.     case @command_window.current_symbol
  680.     when :change
  681.       return true if item.nil?
  682.       return true if item == 0
  683.     when :remove
  684.       return false if item.nil?
  685.       return false if item == 0
  686.     end
  687.     actor = $game_actors[item]
  688.     return false if actor.locked
  689.     return false if actor.required
  690.     return true
  691.   end
  692.  
  693.   #--------------------------------------------------------------------------
  694.   # process_handling
  695.   #--------------------------------------------------------------------------
  696.   def process_handling
  697.     return unless open? && active
  698.     return process_ok       if ok_enabled?        && Input.trigger?(:C)
  699.     return process_cancel   if cancel_enabled?    && Input.trigger?(:B)
  700.     return process_pagedown if handle?(:pagedown) && Input.repeat?(:R)
  701.     return process_pageup   if handle?(:pageup)   && Input.repeat?(:L)
  702.   end
  703.  
  704.   #--------------------------------------------------------------------------
  705.   # cur_actor
  706.   #--------------------------------------------------------------------------
  707.   def cur_actor
  708.     actor_id = @data[index]
  709.     return $game_actors[actor_id]
  710.   end
  711.  
  712.   #--------------------------------------------------------------------------
  713.   # prev_actor
  714.   #--------------------------------------------------------------------------
  715.   def prev_actor
  716.     id = index == 0 ? @data.size - 1 : index - 1
  717.     actor_id = @data[id]
  718.     return $game_actors[actor_id]
  719.   end
  720.  
  721.   #--------------------------------------------------------------------------
  722.   # next_actor
  723.   #--------------------------------------------------------------------------
  724.   def next_actor
  725.     id = index == @data.size - 1 ? 0 : index + 1
  726.     actor_id = @data[id]
  727.     return $game_actors[actor_id]
  728.   end
  729.  
  730.   #--------------------------------------------------------------------------
  731.   # process_pageup
  732.   #--------------------------------------------------------------------------
  733.   def process_pageup
  734.     allow = true
  735.     allow = false if !prev_actor.nil? && prev_actor.locked
  736.     allow = false if !cur_actor.nil? && cur_actor.locked
  737.     Sound.play_buzzer unless allow
  738.     if allow
  739.       super
  740.       activate
  741.       select(index == 0 ? @data.size - 1 : index - 1)
  742.     end
  743.   end
  744.  
  745.   #--------------------------------------------------------------------------
  746.   # process_pagedown
  747.   #--------------------------------------------------------------------------
  748.   def process_pagedown
  749.     allow = true
  750.     allow = false if !next_actor.nil? && next_actor.locked
  751.     allow = false if !cur_actor.nil? && cur_actor.locked
  752.     Sound.play_buzzer unless allow
  753.     if allow
  754.       super
  755.       activate
  756.       select(index == @data.size - 1 ? 0 : index + 1)
  757.     end
  758.   end
  759.  
  760.   #--------------------------------------------------------------------------
  761.   # item
  762.   #--------------------------------------------------------------------------
  763.   def item; return @data[index]; end
  764.  
  765. end # Window_PartySelect
  766.  
  767. #==============================================================================
  768. # ■ Window_PartyList
  769. #==============================================================================
  770.  
  771. class Window_PartyList < Window_Selectable
  772.  
  773.   #--------------------------------------------------------------------------
  774.   # initialize
  775.   #-------------------------------------------------------------------------
  776.   def initialize(party_window)
  777.     super(0, fitting_height(4), window_width, window_height)
  778.     @party_window = party_window
  779.     select(1)
  780.     deactivate
  781.     refresh
  782.   end
  783.  
  784.   #--------------------------------------------------------------------------
  785.   # window_width
  786.   #--------------------------------------------------------------------------
  787.   def window_width; return 200; end
  788.  
  789.   #--------------------------------------------------------------------------
  790.   # window_height
  791.   #--------------------------------------------------------------------------
  792.   def window_height; return Graphics.height - fitting_height(4); end
  793.  
  794.   #--------------------------------------------------------------------------
  795.   # item_max
  796.   #--------------------------------------------------------------------------
  797.   def item_max; return @data ? @data.size : 1; end
  798.  
  799.   #--------------------------------------------------------------------------
  800.   # refresh
  801.   #--------------------------------------------------------------------------
  802.   def refresh
  803.     make_item_list
  804.     create_contents
  805.     draw_all_items
  806.   end
  807.  
  808.   #--------------------------------------------------------------------------
  809.   # make_item_list
  810.   #--------------------------------------------------------------------------
  811.   def make_item_list
  812.     @data = [0]
  813.     for member in $game_party.all_members
  814.       next if member.nil?
  815.       @data.push(member.id)
  816.     end
  817.     @data.push(0)
  818.   end
  819.  
  820.   #--------------------------------------------------------------------------
  821.   # draw_item
  822.   #--------------------------------------------------------------------------
  823.   def draw_item(index)
  824.     clear_item(index)
  825.     rect = item_rect(index)
  826.     if @data[index] == 0
  827.       draw_remove(rect)
  828.       return
  829.     end
  830.     actor = $game_actors[@data[index]]
  831.     draw_actor(actor, rect)
  832.     draw_actor_locked(actor, rect)
  833.     draw_actor_required(actor, rect)
  834.   end
  835.  
  836.   #--------------------------------------------------------------------------
  837.   # draw_remove
  838.   #--------------------------------------------------------------------------
  839.   def draw_remove(rect)
  840.     reset_font_settings
  841.     draw_icon(Icon.remove_party, rect.x+4, rect.y)
  842.     text = YEA::PARTY::REMOVE_TEXT
  843.     draw_text(rect.x+32, rect.y, rect.width-32, line_height, text)
  844.   end
  845.  
  846.   #--------------------------------------------------------------------------
  847.   # draw_actor
  848.   #--------------------------------------------------------------------------
  849.   def draw_actor(actor, rect)
  850.     buffer = YEA::PARTY::ACTOR_Y_BUFFER
  851.     draw_actor_graphic(actor, rect.x + 16, rect.y + rect.height + buffer)
  852.     text = actor.name
  853.     change_color(list_colour(actor), enabled?(actor))
  854.     draw_text(rect.x+32, rect.y, rect.width-32, line_height, text)
  855.   end
  856.  
  857.   #--------------------------------------------------------------------------
  858.   # list_colour
  859.   #--------------------------------------------------------------------------
  860.   def list_colour(actor)
  861.     return text_color(YEA::PARTY::IN_PARTY_COLOUR) if in_party?(actor)
  862.     return normal_color
  863.   end
  864.  
  865.   #--------------------------------------------------------------------------
  866.   # draw_actor_locked
  867.   #--------------------------------------------------------------------------
  868.   def draw_actor_locked(actor, rect)
  869.     return unless actor.locked
  870.     draw_icon(Icon.locked_party, rect.width-24, rect.y)
  871.   end
  872.  
  873.   #--------------------------------------------------------------------------
  874.   # draw_actor_required
  875.   #--------------------------------------------------------------------------
  876.   def draw_actor_required(actor, rect)
  877.     return if actor.locked
  878.     return unless actor.required
  879.     draw_icon(Icon.required_party, rect.width-24, rect.y)
  880.   end
  881.  
  882.   #--------------------------------------------------------------------------
  883.   # enabled?
  884.   #--------------------------------------------------------------------------
  885.   def enabled?(actor)
  886.     return false if actor.locked
  887.     return false if actor.required && in_party?(actor)
  888.     return actor.exist?
  889.   end
  890.  
  891.   #--------------------------------------------------------------------------
  892.   # in_party?
  893.   #--------------------------------------------------------------------------
  894.   def in_party?(actor); return $game_party.battle_members.include?(actor); end
  895.  
  896.   #--------------------------------------------------------------------------
  897.   # current_item_enabled?
  898.   #--------------------------------------------------------------------------
  899.   def current_item_enabled?
  900.     actor = $game_actors[item]
  901.     replace = $game_actors[@party_window.item]
  902.     unless actor.nil?
  903.       return false if actor.locked && in_party?(actor)
  904.       return false if actor.required && in_party?(actor)
  905.     end
  906.     return true if replace.nil?
  907.     return false if replace.locked
  908.     return false if replace.required
  909.     return true if actor.nil?
  910.     return actor.exist?
  911.   end
  912.  
  913.   #--------------------------------------------------------------------------
  914.   # item
  915.   #--------------------------------------------------------------------------
  916.   def item; return @data[index]; end
  917.  
  918. end # Window_PartyList
  919.  
  920. #==============================================================================
  921. # ** Window_PartyStatus
  922. #==============================================================================
  923.  
  924. class Window_PartyStatus < Window_Base
  925.  
  926.   #--------------------------------------------------------------------------
  927.   # initialize
  928.   #--------------------------------------------------------------------------
  929.   def initialize(party_window, list_window)
  930.     super(200, fitting_height(4), window_width, window_height)
  931.     @party_window = party_window
  932.     @list_window = list_window
  933.     @actor = active_actor
  934.     refresh
  935.   end
  936.  
  937.   #--------------------------------------------------------------------------
  938.   # window_width
  939.   #--------------------------------------------------------------------------
  940.   def window_width; Graphics.width - 200; end
  941.  
  942.   #--------------------------------------------------------------------------
  943.   # window_height
  944.   #--------------------------------------------------------------------------
  945.   def window_height; Graphics.height - fitting_height(4); end
  946.  
  947.   #--------------------------------------------------------------------------
  948.   # update
  949.   #--------------------------------------------------------------------------
  950.   def update
  951.     super
  952.     refresh if @actor != active_actor
  953.   end
  954.  
  955.   #--------------------------------------------------------------------------
  956.   # active_actor
  957.   #--------------------------------------------------------------------------
  958.   def active_actor
  959.     if @list_window.active
  960.       actor = @list_window.item
  961.     else
  962.       actor = @party_window.item
  963.     end
  964.     return nil if [0, nil].include?(actor)
  965.     return actor
  966.   end
  967.  
  968.   #--------------------------------------------------------------------------
  969.   # refresh
  970.   #--------------------------------------------------------------------------
  971.   def refresh
  972.     contents.clear
  973.     @actor = active_actor
  974.     reset_font_settings
  975.     if @actor.nil?
  976.       draw_nil_actor
  977.       return
  978.     end
  979.     actor = $game_actors[@actor]
  980.     draw_actor_face(actor, 0, 0)
  981.     draw_actor_name(actor, 108, 0)
  982.     draw_actor_class(actor, 228, 0, contents.width-232)
  983.     draw_actor_level(actor, 108, line_height)
  984.     draw_actor_icons(actor, 228, line_height, contents.width-232)
  985.     draw_actor_hp(actor, 108, line_height*2, contents.width-112)
  986.     draw_actor_mp(actor, 108, line_height*3, contents.width-112)
  987.     draw_actor_parameters(actor, 0, line_height*4 + line_height/2)
  988.     draw_equipments(actor, contents.width/2, line_height*4 + line_height/2)
  989.   end
  990.  
  991.   #--------------------------------------------------------------------------
  992.   # draw_nil_actor
  993.   #--------------------------------------------------------------------------
  994.   def draw_nil_actor
  995.     colour = Color.new(0, 0, 0, translucent_alpha/2)
  996.     rect = Rect.new(0, 0, contents.width, contents.height)
  997.     contents.fill_rect(rect, colour)
  998.     change_color(system_color)
  999.     text = YEA::PARTY::NO_DATA
  1000.     draw_text(rect, text, 1)
  1001.   end
  1002.  
  1003.   #--------------------------------------------------------------------------
  1004.   # draw_actor_parameters
  1005.   #--------------------------------------------------------------------------
  1006.   def draw_actor_parameters(actor, dx, dy)
  1007.     dw = contents.width/2 - 4
  1008.     rect = Rect.new(dx+1, dy+1, dw - 2, line_height - 2)
  1009.     contents.font.size = YEA::PARTY::STAT_FONT_SIZE
  1010.     colour = Color.new(0, 0, 0, translucent_alpha/2)
  1011.     array = [:atk, :def, :mat, :mdf, :agi, :luk]
  1012.     cx = 4
  1013.     for stat in array
  1014.       case stat
  1015.       when :atk
  1016.         param = Vocab::param(2)
  1017.         value = actor.atk.group
  1018.       when :def
  1019.         param = Vocab::param(3)
  1020.         value = actor.def.group
  1021.       when :mat
  1022.         param = Vocab::param(4)
  1023.         value = actor.mat.group
  1024.       when :mdf
  1025.         param = Vocab::param(5)
  1026.         value = actor.mdf.group
  1027.       when :agi
  1028.         param = Vocab::param(6)
  1029.         value = actor.agi.group
  1030.       when :luk
  1031.         param = Vocab::param(7)
  1032.         value = actor.luk.group
  1033.       else; next
  1034.       end
  1035.       contents.fill_rect(rect, colour)
  1036.       change_color(system_color)
  1037.       draw_text(rect.x + cx, rect.y, rect.width-cx*2, line_height, param, 0)
  1038.       change_color(normal_color)
  1039.       draw_text(rect.x + cx, rect.y, rect.width-cx*2, line_height, value, 2)
  1040.       rect.y += line_height
  1041.     end
  1042.     reset_font_settings
  1043.   end
  1044.  
  1045.   #--------------------------------------------------------------------------
  1046.   # draw_equipments
  1047.   #--------------------------------------------------------------------------
  1048.   def draw_equipments(actor, dx, dy)
  1049.     text = YEA::PARTY::EQUIP_TEXT
  1050.     change_color(system_color)
  1051.     draw_text(dx, dy, contents.width - dx, line_height, text, 1)
  1052.     dy += line_height
  1053.     if actor.equips.size <= 5
  1054.       actor.equips.each_with_index do |item, i|
  1055.         draw_item_name(item, dx, dy + line_height * i)
  1056.       end
  1057.     else
  1058.       orig_x = dx
  1059.       actor.equips.each_with_index do |item, i|
  1060.         next if item.nil?
  1061.         draw_icon(item.icon_index, dx, dy)
  1062.         dy += line_height if dx + 48 > contents.width
  1063.         dx = dx + 48 > contents.width ? orig_x : dx + 24
  1064.       end
  1065.     end
  1066.   end
  1067.  
  1068. end # Window_PartyStatus
  1069.  
  1070. #==============================================================================
  1071. # ■ Scene_Menu
  1072. #==============================================================================
  1073.  
  1074. class Scene_Menu < Scene_MenuBase
  1075.  
  1076.   #--------------------------------------------------------------------------
  1077.   # overwrite method: command_formation
  1078.   #--------------------------------------------------------------------------
  1079.   if YEA::PARTY::ENABLE_MENU
  1080.   def command_formation
  1081.     SceneManager.call(Scene_Party)
  1082.   end
  1083.   end # YEA::PARTY::ENABLE_MENU
  1084.  
  1085. end # Scene_Menu
  1086.  
  1087. #==============================================================================
  1088. # ■ Scene_Party
  1089. #==============================================================================
  1090.  
  1091. class Scene_Party < Scene_MenuBase
  1092.  
  1093.   #--------------------------------------------------------------------------
  1094.   # start
  1095.   #--------------------------------------------------------------------------
  1096.   def start
  1097.     super
  1098.     @former_party = $game_party.battle_members_array.clone
  1099.     create_command_window
  1100.     create_party_window
  1101.     create_list_window
  1102.     create_status_window
  1103.   end
  1104.  
  1105.   #--------------------------------------------------------------------------
  1106.   # create_command_window
  1107.   #--------------------------------------------------------------------------
  1108.   def create_command_window
  1109.     @command_window = Window_PartyMenuCommand.new(0, 0)
  1110.     @command_window.set_handler(:change, method(:adjust_members))
  1111.     @command_window.set_handler(:remove, method(:adjust_members))
  1112.     @command_window.set_handler(:revert, method(:revert_party))
  1113.     @command_window.set_handler(:finish, method(:return_scene))
  1114.     @command_window.set_handler(:cancel, method(:return_scene))
  1115.   end
  1116.  
  1117.   #--------------------------------------------------------------------------
  1118.   # create_party_window
  1119.   #--------------------------------------------------------------------------
  1120.   def create_party_window
  1121.     @party_window = Window_PartySelect.new(@command_window)
  1122.     @party_window.set_handler(:ok,       method(:on_party_ok))
  1123.     @party_window.set_handler(:cancel,   method(:on_party_cancel))
  1124.     @party_window.set_handler(:pageup,   method(:on_party_pageup))
  1125.     @party_window.set_handler(:pagedown, method(:on_party_pagedown))
  1126.   end
  1127.  
  1128.   #--------------------------------------------------------------------------
  1129.   # create_list_window
  1130.   #--------------------------------------------------------------------------
  1131.   def create_list_window
  1132.     @list_window = Window_PartyList.new(@party_window)
  1133.     @list_window.set_handler(:ok,     method(:on_list_ok))
  1134.     @list_window.set_handler(:cancel, method(:on_list_cancel))
  1135.   end
  1136.  
  1137.   #--------------------------------------------------------------------------
  1138.   # create_status_window
  1139.   #--------------------------------------------------------------------------
  1140.   def create_status_window
  1141.     @status_window = Window_PartyStatus.new(@party_window, @list_window)
  1142.   end
  1143.  
  1144.   #--------------------------------------------------------------------------
  1145.   # adjust_members
  1146.   #--------------------------------------------------------------------------
  1147.   def adjust_members
  1148.     @party_window.activate
  1149.   end
  1150.  
  1151.   #--------------------------------------------------------------------------
  1152.   # window_refresh
  1153.   #--------------------------------------------------------------------------
  1154.   def window_refresh
  1155.     $game_party.rearrange_actors
  1156.     @command_window.refresh
  1157.     @party_window.refresh
  1158.     @list_window.refresh
  1159.     $game_player.refresh
  1160.     $game_map.need_refresh = true
  1161.   end
  1162.  
  1163.   #--------------------------------------------------------------------------
  1164.   # revert_party
  1165.   #--------------------------------------------------------------------------
  1166.   def revert_party
  1167.     @command_window.activate
  1168.     $game_party.battle_members_array = @former_party.clone
  1169.     window_refresh
  1170.   end
  1171.  
  1172.   #--------------------------------------------------------------------------
  1173.   # on_party_ok
  1174.   #--------------------------------------------------------------------------
  1175.   def on_party_ok
  1176.     case @command_window.current_symbol
  1177.     when :change
  1178.       @list_window.activate
  1179.     when :remove
  1180.       index = @party_window.index
  1181.       actor = $game_actors[$game_party.battle_members_array[index]]
  1182.       Sound.play_equip
  1183.       $game_party.battle_members_array[index] = 0
  1184.       window_refresh
  1185.       @party_window.activate
  1186.     end
  1187.   end
  1188.  
  1189.   #--------------------------------------------------------------------------
  1190.   # on_party_cancel
  1191.   #--------------------------------------------------------------------------
  1192.   def on_party_cancel
  1193.     @command_window.activate
  1194.   end
  1195.  
  1196.   #--------------------------------------------------------------------------
  1197.   # on_party_pageup
  1198.   #--------------------------------------------------------------------------
  1199.   def on_party_pageup
  1200.     Sound.play_equip
  1201.     actor_id1 = @party_window.item
  1202.     actor_id2 = @party_window.prev_actor.nil? ? 0 : @party_window.prev_actor.id
  1203.     max = @party_window.item_max-1
  1204.     index1 = @party_window.index
  1205.     index2 = @party_window.index == 0 ? max : index1-1
  1206.     $game_party.battle_members_array[index1] = actor_id2
  1207.     $game_party.battle_members_array[index2] = actor_id1
  1208.     window_refresh
  1209.   end
  1210.  
  1211.   #--------------------------------------------------------------------------
  1212.   # on_party_pagedown
  1213.   #--------------------------------------------------------------------------
  1214.   def on_party_pagedown
  1215.     Sound.play_equip
  1216.     actor_id1 = @party_window.item
  1217.     actor_id2 = @party_window.next_actor.nil? ? 0 : @party_window.next_actor.id
  1218.     max = @party_window.item_max-1
  1219.     index1 = @party_window.index
  1220.     index2 = @party_window.index == max ? 0 : index1+1
  1221.     $game_party.battle_members_array[index1] = actor_id2
  1222.     $game_party.battle_members_array[index2] = actor_id1
  1223.     window_refresh
  1224.   end
  1225.  
  1226.   #--------------------------------------------------------------------------
  1227.   # on_list_cancel
  1228.   #--------------------------------------------------------------------------
  1229.   def on_list_cancel
  1230.     @party_window.activate
  1231.   end
  1232.  
  1233.   #--------------------------------------------------------------------------
  1234.   # on_list_ok
  1235.   #--------------------------------------------------------------------------
  1236.   def on_list_ok
  1237.     Sound.play_equip
  1238.     replace = $game_actors[@party_window.item]
  1239.     actor = $game_actors[@list_window.item]
  1240.     index1 = @party_window.index
  1241.     actor_id1 = actor.nil? ? 0 : actor.id
  1242.     if actor.nil?
  1243.       $game_party.battle_members_array[index1] = 0
  1244.       window_refresh
  1245.       @party_window.activate
  1246.       return
  1247.     end
  1248.     actor_id2 = replace.nil? ? 0 : replace.id
  1249.     if $game_party.battle_members_array.include?(actor_id1)
  1250.       index2 = $game_party.battle_members_array.index(actor_id1)
  1251.       $game_party.battle_members_array[index2] = actor_id2
  1252.     end
  1253.     $game_party.battle_members_array[index1] = actor_id1
  1254.     window_refresh
  1255.     @party_window.activate
  1256.   end
  1257.  
  1258. end # Scene_Party
  1259.  
  1260. #==============================================================================
  1261. #
  1262. # ▼ End of File
  1263. #
  1264. #==============================================================================

评分

参与人数 1星屑 +25 +1 收起 理由
alexncf125 + 25 + 1 塞糖

查看全部评分

我是的大大,一个做辣鸡游戏的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 01:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表