#============================================================================== # ■ RGSS3 変数依存タイトルグラフィック&BGM Ver1.00 by 星潟 #------------------------------------------------------------------------------ # セーブ時、特定変数IDの値を別の専用データに分けてセーブします。 # その変数の値に応じて、タイトル画像及びタイトルBGMを変化させます。 #============================================================================== module VariablesTitle #セーブ時に専用データに保存する変数IDを指定します。 VID = 8 #前より変数の値が低くても専用データを更新するかを設定します。 #(trueで更新する。falseで更新しない) FUP = false #空のハッシュを用意します。(変更不要) Hash = {} #変数の値に応じたタイトルデータを設定します。 #初期状態はHash[0]が参照されます。 #設定していない変数値の場合、エディタ上で設定した物になります。 #例.Hash[0] = ["Book","Dragons",["Battle1",80,100]] #この場合、変数の値が0の場合の設定となります。 #内容としては、タイトル画像の奥側がBook、手前側がDragonsとなり #タイトルBGMはBattle1の音量80、ピッチ100となります。 Hash[0] = ["Book","Dragons",["Battle1",80,100]] Hash[1] = ["Castle","Fire",["Battle2",80,100]] Hash[2] = ["WorldMap","Mountains",["Battle3",80,100]] Hash[3] = ["World","Mist",["Battle4",80,100]] Name = "TitleData.rvdata2" end class Scene_Title < Scene_Base #-------------------------------------------------------------------------- # 背景の作成 #-------------------------------------------------------------------------- alias create_background_change_by_v create_background def create_background get_title_variables_data create_background_change_by_v end #-------------------------------------------------------------------------- # タイトル用変数値設定 #-------------------------------------------------------------------------- def get_title_variables_data n = VariablesTitle::Name begin g = load_data(n) rescue g = Game_Variables_Title.new g.title_va = 0 save_data(g, n) end $data_system.title_va = g.title_va end #-------------------------------------------------------------------------- # 背景の解放 #-------------------------------------------------------------------------- alias dispose_background_change_by_v dispose_background def dispose_background $data_system.title_va = nil dispose_background_change_by_v end end class Game_Variables_Title attr_accessor :title_va end class RPG::System attr_accessor :title_va #-------------------------------------------------------------------------- # タイトル1 #-------------------------------------------------------------------------- alias title1_name_change_by_v title1_name unless $! def title1_name a = title_data_get(0) a ? a : title1_name_change_by_v end #-------------------------------------------------------------------------- # タイトル2 #-------------------------------------------------------------------------- alias title2_name_change_by_v title2_name unless $! def title2_name a = title_data_get(1) a ? a : title2_name_change_by_v end #-------------------------------------------------------------------------- # タイトルBGM #-------------------------------------------------------------------------- alias title_bgm_change_by_v title_bgm unless $! def title_bgm a = title_data_get(2) return title_bgm_change_by_v unless a a = RPG::BGM.new(a[0],a[1],a[2]) end #-------------------------------------------------------------------------- # タイトル関連データ取得 #-------------------------------------------------------------------------- def title_data_get(num) return false unless num a = VariablesTitle::Hash[title_va] a = a[num] if a a end end class << DataManager #-------------------------------------------------------------------------- # セーブの実行(例外処理なし) #-------------------------------------------------------------------------- alias save_game_without_rescue_change_by_v save_game_without_rescue def save_game_without_rescue(index) f = save_game_without_rescue_change_by_v(index) return false unless f n = VariablesTitle::Name begin g = load_data(n) rescue g = Game_Variables_Title.new end begin g.title_va ||= 0 rescue g = Game_Variables_Title.new g.title_va ||= 0 end g.title_va = $game_variables[VariablesTitle::VID] if VariablesTitle::FUP or g.title_va < $game_variables[VariablesTitle::VID] save_data(g, n) f end end