ページ 11

【解決済】入れ替え時に武器を引き継ぎたい

Posted: 2021年8月06日(金) 12:23
by much
パーティーの入れ替えを行った際に装備している武器をそのまま引き継ぐことができるようにしたいのですがどのようにすればいいでしょうか?

Re: 入れ替え時に武器を引き継ぎたい

Posted: 2021年8月07日(土) 10:32
by 名無し蛙
どうもこんにちは。
①記憶②解除③装備を順に行えば良いと思います。

①記憶

コード: 全て選択

temp_equips = $game_actors[actor_id].equips
②解除

コード: 全て選択

$game_actors[actor_id].clear_equipments
③装備

コード: 全て選択

temp_equips.each_with_index{|equip, slot_id| $game_actors[actor_id].change_equip(slot_id, equip) }

ついでに
④パーティの離脱

コード: 全て選択

$game_party.remove_actor(actor_id)
⑤パーティの加入

コード: 全て選択

$game_party.add_actor(actor_id)

併せてアクター1を外してアクター2を加入する場合は

コード: 全て選択

temp_equips = $game_actors[1].equips
$game_actors[1].clear_equipments
$game_party.remove_actor(1)
$game_party.add_actor(2)
temp_equips.each_with_index{|equip, slot_id|
  $game_actors[2].change_equip(slot_id, equip)
}
こんな感じですか
一応言っておきますが装備可能な武器・防具タイプは合わせる事が前提です

追記:「装備品全て」の方法を書いてしまったので念の為武器限定、
というか装備品の一番上のみ差し替える方法も記載しておきます。ただの応用ですけど。
①記憶

コード: 全て選択

temp_weapon = $game_actors[actor_id].equips[0]
②解除

コード: 全て選択

$game_actors[actor_id].equip_change(0, nil)
③装備

コード: 全て選択

$game_actors[actor_id].equip_change(0, temp_weapon)

Re: 入れ替え時に武器を引き継ぎたい

Posted: 2021年8月16日(月) 23:06
by much
ありがとうございます!
うまく動きました!