#__END__ #============================================================================== # ★ メモリンク ver1.0 by USK #------------------------------------------------------------------------------ # ・データベースのメモ欄をリンクし、一つのメモ欄を共有化したり、分割して見やすく # します。 #============================================================================== =begin メモ欄にのようにと記述すると、ゲーム内でリンク先IDの メモ欄がそのオブジェクトのメモ欄のように認識されます。 リンク先IDは、オブジェクトがアイテムならアイテム、のように同種のものとなります。 =end #============================================================================== # ■ RPG::BaseItem #============================================================================== class RPG::BaseItem #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def note_link(data) loop do break unless @note.gsub!(//){data[$1.to_i].note} end rescue p $! end end #============================================================================== # ■ RPG::Tileset #============================================================================== class RPG::Tileset #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def note_link(data) loop do break unless @note.gsub!(//){data[$1.to_i].note} end rescue p $! end end #============================================================================== # ■ DataManager #============================================================================== module DataManager class << self; alias :usk_ml_load_database :load_database; end #-------------------------------------------------------------------------- # ● データベースのロード #-------------------------------------------------------------------------- def self.load_database usk_ml_load_database $data_actors.each {|obj| obj.note_link($data_actors ) if obj} $data_classes.each {|obj| obj.note_link($data_classes ) if obj} $data_skills.each {|obj| obj.note_link($data_skills ) if obj} $data_items.each {|obj| obj.note_link($data_items ) if obj} $data_weapons.each {|obj| obj.note_link($data_weapons ) if obj} $data_armors.each {|obj| obj.note_link($data_armors ) if obj} $data_enemies.each {|obj| obj.note_link($data_enemies ) if obj} $data_states.each {|obj| obj.note_link($data_states ) if obj} $data_tilesets.each{|obj| obj.note_link($data_tilesets) if obj} end end #============================================================================== # ■ Game_Map #============================================================================== class Game_Map #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def note_link loop do break unless @map.note.gsub!(//) do load_data(sprintf("Data/Map%03d.rvdata2", $1.to_i)).note end end rescue p $! end #-------------------------------------------------------------------------- # ● セットアップ #-------------------------------------------------------------------------- alias :usk_ml_setup :setup def setup(map_id) usk_ml_setup(map_id) note_link end end