Project1

标题: 求助 如何将物品指令变成队伍指令 [打印本页]

作者: kingofgbc    时间: 2024-5-31 21:56
标题: 求助 如何将物品指令变成队伍指令
默认的物品指令是角色指令,每个回合每个角色都能使用。
如何将物品指令放在和战斗、撤退一起作为队伍指令。并且使用一个物品后,己方所有角色都不能进行其他战斗行动。
最好这个物品还是在双方所有战斗行动之前结算的。
作者: 魔法丶小肉包    时间: 2024-6-1 20:36
只是这样子的话使用者固定为队伍首位的角色了,如果你物品设定的目标是使用者的话就会直接对领队角色使用

RUBY 代码复制
  1. class Window_PartyCommand
  2.   alias mf240601mcl make_command_list
  3.   def make_command_list
  4.     add_command(Vocab::item, :item)
  5.     mf240601mcl
  6.   end
  7. end
  8. class Window_ActorCommand
  9.   def add_item_command;end
  10. end
  11. class Scene_Battle
  12.   alias mf240601cpcw create_party_command_window
  13.   def create_party_command_window
  14.     mf240601cpcw
  15.     @party_command_window.set_handler(:item,  method(:command_item))
  16.   end
  17.   def on_item_ok
  18.     @item = @item_window.item
  19.     $game_party.leader.input.set_item(@item.id)
  20.     if !@item.need_selection?
  21.       @item_window.hide
  22.       turn_start
  23.     elsif @item.for_opponent?
  24.       select_enemy_selection
  25.     else
  26.       select_actor_selection
  27.     end
  28.     $game_party.last_item.object = @item
  29.   end
  30.   def on_item_cancel
  31.     @item_window.hide
  32.     @party_command_window.activate
  33.   end
  34.   alias mf240601onacok on_actor_ok
  35.   def on_actor_ok
  36.     return mf240601onacok unless @item_window.visible
  37.     $game_party.leader.input.target_index = @actor_window.index
  38.     @actor_window.hide
  39.     @item_window.hide
  40.     turn_start
  41.   end
  42.   alias mf240601onenok on_enemy_ok
  43.   def on_enemy_ok
  44.     return mf240601onenok unless @item_window.visible
  45.     $game_party.leader.input.target_index = @enemy_window.enemy.index
  46.     @enemy_window.hide
  47.     @item_window.hide
  48.     turn_start
  49.   end
  50.   alias mf240601onaccancel on_actor_cancel
  51.   def on_actor_cancel
  52.     return mf240601onaccancel unless @item_window.visible
  53.     @actor_window.hide
  54.     @item_window.activate
  55.   end
  56.   alias mf240601onencancel on_enemy_cancel
  57.   def on_enemy_cancel
  58.     return mf240601onencancel unless @item_window.visible
  59.     @enemy_window.hide
  60.     @item_window.activate
  61.   end
  62. end





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