# # 所持品一括増減 #  (C)2006 TYPE74RX-T # class Interpreter #-------------------------------------------------------------------------- # ★ 注釈 #-------------------------------------------------------------------------- alias rx_pos_batch_pla_min_command_108 command_108 def command_108 # 所持品一括増減 if @parameters[0].include?("所持品一括増減") # 初期設定 rx_str = @parameters[0] rx_things = {} # 複数行にわたって設定している場合 # それらを全て変数に代入する。 i = 1 loop do # 次の行に文字列がある場合 if @list[@index+i].code == 408 rx_str += @list[@index+i].parameters[0] i += 1 else break end end # 文字列から名前と数字とに分ける rx_nam = rx_str.split(/[\d\-]+/) # 名前のみ抜き出す rx_pos = rx_str.scan(/[\d\-]+/) # 数字(-含む)のみ抜き出す # 配列変数の初期化 rx_possession = [] # 数字の文字列を数値化 for i in 0...rx_pos.size rx_possession[i] = rx_pos[i].to_i end case rx_possession[0] when 0 # アイテム # ハッシュを生成 for i in 1...$data_items.size rx_things[$data_items[i].name] = $data_items[i].id end # 増減処理 for i in 1...rx_nam.size $game_party.gain_item(rx_things[rx_nam[i]], rx_possession[i]) end # 継続(競合対策) return true when 1 # 武器 # ハッシュを生成 for i in 1...$data_weapons.size rx_things[$data_weapons[i].name] = $data_weapons[i].id end # 増減処理 for i in 1...rx_nam.size $game_party.gain_weapon(rx_things[rx_nam[i]], rx_possession[i]) end # 継続(競合対策) return true when 2 # 防具 # ハッシュを生成 for i in 1...$data_armors.size rx_things[$data_armors[i].name] = $data_armors[i].id end # 増減処理 for i in 1...rx_nam.size $game_party.gain_armor(rx_things[rx_nam[i]], rx_possession[i]) end # 継続(競合対策) return true end end rx_pos_batch_pla_min_command_108 end end