#============================================================================== # ■ RGSS2 ドロップアイテムまとめて入手 Ver1.00 by 星潟 #============================================================================== # 同じ種類でも個別に表示されるドロップアイテムをまとめて表示します。 # また、表示される際の単位名も個別に指定できます。 # # なお、完全に処理を上書きする為、競合の可能性があります。 #============================================================================== # アイテムの単位名を指定する為には、各アイテムのメモ欄に下記のように記入します。 #------------------------------------------------------------------------------ # <単位名指定:瓶> # # このアイテムの単位名は「瓶」になります。 #============================================================================== module DropCollect #単位設定用キーワードを指定。 W = "単位名指定" #デフォルト単位を指定。 D = "個" #フォーマットを指定。 F = "%sを%s%s手に入れた!" end class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # 獲得したドロップアイテムの表示 #-------------------------------------------------------------------------- def display_drop_items a1 = $game_troop.make_drop_items a2 = a1.uniq a3 = [] a2.each {|i1| a3.push([i1,a1.inject(0) {|r,i2| r += i1 == i2 ? 1 : 0}])} a3.each {|a| $game_party.gain_item(a[0], a[1]) if a[1] > 1 $game_message.texts.push(sprintf(DropCollect::F, a[0].name, a[1], a[0].item_unit_name)) else $game_message.texts.push(sprintf(Vocab::ObtainItem, a[0].name)) end } wait_for_message end end class RPG::BaseItem #-------------------------------------------------------------------------- # アイテムの単位名を指定 #-------------------------------------------------------------------------- def item_unit_name @item_unit_name ||= /<#{DropCollect::W}[::](\S+)>/ =~ note ? $1.to_s : DropCollect::D end end