=begin RGSS3 ★ パッケージアイテム ★ パッケージアイテムの設定がされたアイテムを入手すると、 そのアイテムの代わりに複数の別アイテムを入手できます。 ● 使い方 ●======================================================== アイテム、武器、防具のメモ欄に下記の形式で設定をしてください。 PACKAGE[<アイテム種別><アイテムID>:<個数>, ....] アイテム種別には I, W, A のいずれかを指定します。 I => アイテム, W => 武器, A => 防具 を意味します。 -------------------------------------------------------------------- 例: PACKAGE[I1:3, W19:1, A2:1, A50:1] 上記の設定をしたアイテムを入手すると代わりに下記が手に入ります。   ID1 のアイテムを 3つ   ID19 の武器を 1つ   ID2 の防具を 1つ  ID50 の防具を 1つ ==================================================================== ver1.00 Last Update : 2014/08/20 08/20 : 新規 ろかん   http://kaisou-ryouiki.sakura.ne.jp/ =end $rsi ||= {} $rsi["パッケージアイテム"] = true module PackageItem def get_package_conf if @package.nil? if self.note =~ /PACKAGE\[(.*)\]/ @package = {item:{}, weapon:{}, armor:{}} $1.split(",").each{|split_data| split_data.strip =~ /[IWA](\d+):(\d+)/i if $1 && $2 if split_data.include?("I") @package[:item][$1.to_i] = $2.to_i elsif split_data.include?("W") @package[:weapon][$1.to_i] = $2.to_i elsif split_data.include?("A") @package[:armor][$1.to_i] = $2.to_i end end } else @package = false end end @package end end class RPG::Item < RPG::UsableItem include PackageItem end class RPG::EquipItem < RPG::BaseItem include PackageItem end class Game_Party < Game_Unit #-------------------------------------------------------------------------- # ● アイテムの増加(減少) #-------------------------------------------------------------------------- alias gain_package_item gain_item def gain_item(item, amount, include_equip = false) if amount > 0 && item && item.get_package_conf item.get_package_conf.each{|key1, value1| case key1 when :item value1.each{|key2, value2| gain_package_item($data_items[key2], value2 * amount) } when :weapon value1.each{|key2, value2| gain_package_item($data_weapons[key2], value2 * amount) } when :armor value1.each{|key2, value2| gain_package_item($data_armors[key2], value2 * amount) } end } else gain_package_item(item, amount, include_equip) end end end