#============================================================================== # 「アイテム選択拡張」(ACE) Ver.1.1 # 製作者:奈々(なな) # へぷたなすくろーる http://heptanas.mamagoto.com/ # # ◇利用規約 # この素材はフリーゲームにのみご利用頂けます。 # シェアウェア、販売作品への利用は原則として禁止します。(詳細はブログ参照) # 利用される場合はスクリプト作成者として「奈々」とURLを明記し # 配布時にブログで利用規約の確認と、利用報告を行って下さい。 # #------------------------------------------------------------------------------ # # イベントコマンドの「アイテム選択の処理」は「大事なもの」限定ですが # これを通常アイテムや武器・防具を選択できるようにします。 # また、メモ欄を使って特定のアイテムのみを表示させることもできます。 # # 使い方は、初期設定で変数番号を指定します。 # 指定した変数に入っている数値によって、アイテム選択のカテゴリーが変化します。 # 1:通常アイテム # 2:武器 # 3:防具 # それ以外:大事なもの # # アイテム選択の直前に、イベントコマンドの「スクリプト」で # # n7_item_keyword("キーワード") # # と記入するとキーワードがメモ欄に書いてあるアイテムのみを表示します。 # #============================================================================== module Nana module Item_List_Adv VARIABLE = 1 #カテゴリーを指定する変数のID end end #============================================================================== # ■ Window_KeyItem #------------------------------------------------------------------------------ #  イベントコマンド[アイテム選択の処理]に使用するウィンドウです。 #============================================================================== class Window_KeyItem < Window_ItemList #-------------------------------------------------------------------------- # ● 入力処理の開始 #-------------------------------------------------------------------------- def start case $game_variables[Nana::Item_List_Adv::VARIABLE] when 1 self.category = :item when 2 self.category = :weapon when 3 self.category = :armor else self.category = :key_item end update_placement refresh select(0) open activate end #-------------------------------------------------------------------------- # ● アイテムをリストに含めるかどうか #-------------------------------------------------------------------------- alias n7ila_include? include? def include?(item) if $game_temp.n7_item_keyword.empty? || (item && item.note.include?($game_temp.n7_item_keyword)) n7ila_include?(item) else false end end #-------------------------------------------------------------------------- # ● アイテムを許可状態で表示するかどうか #-------------------------------------------------------------------------- def enable?(item) true end #-------------------------------------------------------------------------- # ● ウィンドウを閉じる #-------------------------------------------------------------------------- alias n7ila_close close def close $game_temp.n7_item_keyword = "" n7ila_close end end #============================================================================== # ■ Game_Temp #------------------------------------------------------------------------------ #  セーブデータに含まれない、一時的なデータを扱うクラスです。このクラスのイン # スタンスは $game_temp で参照されます。 #============================================================================== class Game_Temp #-------------------------------------------------------------------------- # ● 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :n7_item_keyword # アイテムキーワード #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- alias n7ila_initialize initialize def initialize n7ila_initialize @n7_item_keyword = "" end end #============================================================================== # ■ Game_Interpreter #------------------------------------------------------------------------------ #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、 # Game_Troop クラス、Game_Event クラスの内部で使用されます。 #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● アイテムキーワードの指定 #-------------------------------------------------------------------------- def n7_item_keyword(s) $game_temp.n7_item_keyword = s.to_s end end