#=========================================================================== # ◆ A1 Scripts ◆ # 拡張アイテム選択(RGSS3) # # バージョン : 1.00 (2012/01/12) # 作者 : A1 # URL     : http://a1tktk.web.fc2.com/ #--------------------------------------------------------------------------- # 機能: # ・アイテム選択ウィンドウで、指定した種別の「大事なもの」を表示するようにします #--------------------------------------------------------------------------- # 更新履歴   :2012/01/12 Ver1.00 リリース #--------------------------------------------------------------------------- # 設置場所 #  A1共通スクリプトより下 # # 必要スクリプト # A1共通スクリプト #--------------------------------------------------------------------------- # 使い方 # データベース「アイテム」のメモに記述 # #  <キーアイテム種別 kind> #  例:<キーアイテム種別 合言葉> # # イベントコマンド「注釈」に記述 # #  キーアイテム種別指定 kind #  例:キーアイテム種別指定 合言葉 # # 次の1回の「アイテム選択の処理」で、キーアイテム種別指定が有効になります #============================================================================== $imported ||= {} $imported["A1_ExKeyItem"] = true if $imported["A1_Common_Script"] #============================================================================== # ■ RPG::BaseItem #============================================================================== class RPG::BaseItem #-------------------------------------------------------------------------- # ○ アイテムのキーアイテム種別 #-------------------------------------------------------------------------- def keyitem_kind @keyitem_kind ||= $a1_common.note_data_one(self.note, "キーアイテム種別","") return @keyitem_kind end end #============================================================================== # ■ Window_KeyItem #------------------------------------------------------------------------------ #  イベントコマンド[アイテム選択の処理]に使用するウィンドウです。 #============================================================================== class Window_KeyItem < Window_ItemList #-------------------------------------------------------------------------- # ○ アイテムをリストに含めるかどうか #-------------------------------------------------------------------------- def include?(item) ret = super return ret unless ret return item.keyitem_kind == $game_temp.keyitem_kind unless $game_temp.keyitem_kind.empty? return ret end end #============================================================================== # ■ Game_Temp #------------------------------------------------------------------------------ #  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン # スタンスは $game_temp で参照されます。 #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # ○ 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :keyitem_kind #-------------------------------------------------------------------------- # ☆ オブジェクト初期化 #-------------------------------------------------------------------------- alias a1_ex_key_item_gt_initialize initialize def initialize a1_ex_key_item_gt_initialize @keyitem_kind = "" end end #============================================================================== # ■ A1_System::CommonModule #============================================================================== class A1_System::CommonModule #-------------------------------------------------------------------------- # ☆ 注釈コマンド定義 #-------------------------------------------------------------------------- alias a1_ex_key_item_define_command define_command def define_command a1_ex_key_item_define_command @cmd_108["キーアイテム種別指定"] = :set_keyitem_kind end end #============================================================================== # ■ Game_Interpreter #------------------------------------------------------------------------------ #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、 # Game_Troop クラス、Game_Event クラスの内部で使用されます。 #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ☆ アイテム選択の処理 #-------------------------------------------------------------------------- alias a1_ex_key_item_command_104 command_104 def command_104 a1_ex_key_item_command_104 $game_temp.keyitem_kind = "" end #-------------------------------------------------------------------------- # ○ キーアイテム種別指定 #-------------------------------------------------------------------------- def set_keyitem_kind(params) $game_temp.keyitem_kind = params[0] ? params[0] : "" end end end