#============================================================================== # ○全アイテム入手 Ver1.00 # for RGSS2 # 西瓜 / Space not far # http://muspell.raindrop.jp/ # すべてのアイテム・武器・防具を99個入手させます。デバッグ用を想定しています。 #============================================================================== # イベントコマンドの「スクリプト」にsnf_getallitemと記述してください。 # 全てのアイテムを入手します。ただし空白名のアイテムは無視されます。 module SNF ALLITEM_NONAMESKIP = true # 空白名のアイテムの処理を飛ばすか否か?(true/false) ALLITEM_TESTPLAYONLY = true # 効果が反映されるのはテストプレイ時だけか否か?(true/false) end class Game_Interpreter def snf_getallitem if SNF::ALLITEM_TESTPLAYONLY return unless $TEST # テストプレイでなければ終了 end items = [] items += $data_items items += $data_weapons items += $data_armors for item in items.compact next if item.name == "" and SNF::ALLITEM_NONAMESKIP # 空白アイテムはスキップ $game_party.gain_item(item, 99) end end end class Game_Interpreter SNF_RANDOMITEM_EXCEPTION = "<ランダムアイテム例外>" def snf_randomget(kind = rand(3), array= 1..999, sze = 1) items = [] randomlist = [] # 配列初期化 for i in array case kind when 0 # アイテム items.push($data_items[i]) when 1 # 武器 items.push($data_weapons[i]) when 2 # 防具 items.push($data_armors[i]) end end for item in items.compact next if item.name == "" and SNF::RANDOMITEM_NONAMESKIP # 空白アイテムはスキップ if SNF::RANDOMITEM_EXCEPETITE # 例外アイテムの処理 next if item.note.include?(SNF_RANDOMITEM_EXCEPTION) else next unless item.note.include?(SNF_RANDOMITEM_EXCEPTION) end randomlist.push(item) end return if randomlist.size == 0 # 候補が一つもない場合終了 getitem = randomlist[rand(randomlist.size)] # ランダム選出 $game_variables[SNF::RANDOMITEM_NAME_ID] = getitem.name if SNF::RANDOMITEM_SUBSTITUTENAME $game_party.gain_item(getitem, sze) end end