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

アバター
much
記事: 62
登録日時: 2017年11月09日(木) 01:01

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

投稿記事by much » 2021年8月06日(金) 12:23

パーティーの入れ替えを行った際に装備している武器をそのまま引き継ぐことができるようにしたいのですがどのようにすればいいでしょうか?
最後に編集したユーザー much on 2021年8月16日(月) 23:06 [ 編集 1 回目 ]

名無し蛙
記事: 302
登録日時: 2015年11月23日(月) 02:46

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

投稿記事by 名無し蛙 » 2021年8月07日(土) 10:32

どうもこんにちは。
①記憶②解除③装備を順に行えば良いと思います。

①記憶

コード: 全て選択

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)
アバター
much
記事: 62
登録日時: 2017年11月09日(木) 01:01

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

投稿記事by much » 2021年8月16日(月) 23:06

ありがとうございます!
うまく動きました!

“VX / Ace:質問” へ戻る