#============================================================================== # □ アイテム最大所持数個別設定 (for VX Ace) #------------------------------------------------------------------------------ # Version : 1_20111229 # by サリサ・タイクーン # http://www.tycoon812.com/rgss/ #============================================================================== #============================================================================== # □ 素材スイッチ #============================================================================== $rgsslab = {} if $rgsslab == nil $rgsslab["アイテム最大所持数個別設定"] = true if $rgsslab["アイテム最大所持数個別設定"] #============================================================================== # □ カスタマイズポイント #============================================================================== module RGSSLAB end module RGSSLAB::Max_Item_Number_Setting #-------------------------------------------------------------------------- # ○ アイテムの各種上限値の初期設定 # アイテムID => 初期の最大個数, と記述します。 # (リストの最後だけ、最後のカンマを省略できます) # # 全てを記述する必要はありません。 # (存在しないものは、全てITEM_DEFAULTの値となります) # # ・イベントコマンドのスクリプトでの変更方法 # $game_party.set_max_items(アイテムID, 個数) #-------------------------------------------------------------------------- ITEM_LIST = { 1 => 5, 2 => 3, 3 => 1, 4 => 5, 5 => 3, 6 => 1, 7 => 1, 8 => 1, } #-------------------------------------------------------------------------- # ○ ITEM_DEFAULTの設定 # 上記に当てはまらないアイテムの最大個数の設定です。 #-------------------------------------------------------------------------- ITEM_DEFAULT = 99 #-------------------------------------------------------------------------- # ○ 武器の各種上限値の初期設定 # 武器ID => 初期の最大個数, と記述します。 # (リストの最後だけ、最後のカンマを省略できます) # # 全てを記述する必要はありません。 # (存在しないものは、全てWEAPON_DEFAULTの値となります) # # ・イベントコマンドのスクリプトでの変更方法 # $game_party.set_max_weapons(武器ID, 個数) #-------------------------------------------------------------------------- WEAPON_LIST = { 1 => 3, } #-------------------------------------------------------------------------- # ○ WEAPON_DEFAULTの設定 # 上記に当てはまらない武器の最大個数の設定です。 #-------------------------------------------------------------------------- WEAPON_DEFAULT = 99 #-------------------------------------------------------------------------- # ○ 防具の各種上限値の初期設定 # 防具ID => 初期の最大個数, と記述します。 # (リストの最後だけ、最後のカンマを省略できます) # # 全てを記述する必要はありません。 # (存在しないものは、全てARMOR_DEFAULTの値となります) # # ・イベントコマンドのスクリプトでの変更方法 # $game_party.set_max_armors(武器ID, 個数) #-------------------------------------------------------------------------- ARMOR_LIST = { 1 => 3, } #-------------------------------------------------------------------------- # ○ ARMOR_DEFAULTの設定 # 上記に当てはまらないアイテムの最大個数の設定です。 #-------------------------------------------------------------------------- ARMOR_DEFAULT = 99 end # カスタマイズポイントは、ここまで #============================================================================== # □ RGSSLAB::Max_Item_Number_Setting [module] #============================================================================== module RGSSLAB::Max_Item_Number_Setting #-------------------------------------------------------------------------- # ○ 素材設定用の定数定義 #-------------------------------------------------------------------------- MATERIAL_NAME = "アイテム最大所持数個別設定" VERSION = 1 RELEASE = 20111229 #-------------------------------------------------------------------------- # ○ 操作エラー # error_number : エラー番号 #-------------------------------------------------------------------------- def self.operate_error(error_number) text = "【RGSS研究所:#{MATERIAL_NAME}】" case error_number when 1 msgbox_p text, "idが不正です。" when 2 msgbox_p text, "maxが不正です。" end end end #============================================================================== # ■ Game_Party [class] #============================================================================== class Game_Party < Game_Unit #-------------------------------------------------------------------------- # ○ モジュールの設定 #-------------------------------------------------------------------------- RGSSLAB_021 = RGSSLAB::Max_Item_Number_Setting #-------------------------------------------------------------------------- # ● オブジェクト初期化 [エイリアス] #-------------------------------------------------------------------------- alias item_extension_initialize initialize def initialize item_extension_initialize @max_items = [nil] @max_weapons = [nil] @max_armors = [nil] for i in 1...$data_items.size if RGSSLAB_021::ITEM_LIST[i] != nil @max_items.push(RGSSLAB_021::ITEM_LIST[i]) else @max_items.push(RGSSLAB_021::ITEM_DEFAULT) end end for i in 1...$data_weapons.size if RGSSLAB_021::WEAPON_LIST[i] != nil @max_weapons.push(RGSSLAB_021::WEAPON_LIST[i]) else @max_weapons.push(RGSSLAB_021::WEAPON_DEFAULT) end end for i in 1...$data_armors.size if RGSSLAB_021::ARMOR_LIST[i] != nil @max_armors.push(RGSSLAB_021::ARMOR_LIST[i]) else @max_armors.push(RGSSLAB_021::ARMOR_DEFAULT) end end end #-------------------------------------------------------------------------- # ● アイテムの最大所持数取得 [再定義] # item : アイテム #-------------------------------------------------------------------------- def max_item_number(item) case item when RPG::Item ; @max_items[item.id] when RPG::Weapon ; @max_weapons[item.id] when RPG::Armor ; @max_armors[item.id] end end #-------------------------------------------------------------------------- # ○ 現在の最大値アイテムリスト変更 # id : 最大値を変更するアイテムID # max : 最大値 #-------------------------------------------------------------------------- def set_max_items(id, max) if id < 1 RGSSLAB_021.operate_error(1) return end if max < 1 RGSSLAB_021.operate_error(2) return end @max_items[id] = max end #-------------------------------------------------------------------------- # ○ 現在の最大値武器リスト変更 # id : 最大値を変更する武器ID # max : 最大値 #-------------------------------------------------------------------------- def set_max_weapons(id, max) if id < 1 RGSSLAB_021.operate_error(1) return end if max < 1 RGSSLAB_021.operate_error(2) return end @max_weapons[id] = max end #-------------------------------------------------------------------------- # ○ 現在の最大値防具リスト変更 # id : 最大値を変更する防具ID # max : 最大値 #-------------------------------------------------------------------------- def set_max_armors(id, max) if id < 1 RGSSLAB_021.operate_error(1) return end if max < 1 RGSSLAB_021.operate_error(2) return end @max_armors[id] = max end end end