# ▽△▽ XRXSv40. MeLT_Map. マップ・セッティング+場所移動フェード設定 ▽△▽ # # publish 2010/ 4/ 9 # update - /27 # # (セクション指定 : 「パーティメンバー・プラス」より上) # #============================================================================== # カスタマイズポイント #============================================================================== module XRXSV40 # # フェードなし場所移動 を有効にするスイッチID ( ONでフェードなし ) # NoFadeSwitchID = 0 # # 場所移動フェードアウト時間 (VX標準 : 30, # フェードイン時間    30) # TransferFadeOutDuration = 12 TransferFadeInDuration = 16 # # フィールドマップセーブ自動許可/他自動禁止一括設定機能 # ( true にすると下記のマップで自動的にセーブ許可し、 #  それ以外のマップへ移動した際に自動的に禁止します。) # UnFieldSaveBanEnable = false FieldMaps = [1] # # 特殊空間での自動メニュー禁止機能 # ( true にすると下記のマップで自動的にメニュー禁止にし、 #  そこから出た時に常にメニュー可能に変更します。) # MenuBan = false MenuBanMaps = [2,5] # # バトル開始時にBGMをとめる? # BattleStartBGMStop = false end #============================================================================== # マップ +場所移動フェード設定 #============================================================================== class Scene_Map < Scene_Base #-------------------------------------------------------------------------- # マップリフレッシュ #-------------------------------------------------------------------------- def refresh_data if XRXSV40::UnFieldSaveBanEnable $game_system.save_disabled = !XRXSV40::FieldMaps.include?($game_map.map_id) end if XRXSV40::MenuBan $game_system.menu_disabled = XRXSV40::MenuBanMaps.include?($game_map.map_id) end end #-------------------------------------------------------------------------- # ● 開始処理 #-------------------------------------------------------------------------- alias xrxsv40_start start def start xrxsv40_start @mapframe_set = Spriteset_MapFrame.new @mapname_set = Spriteset_MapName.new refresh_data end #-------------------------------------------------------------------------- # ● 場所移動の処理 * #-------------------------------------------------------------------------- def update_transfer_player return unless $game_player.transfer? fade = ((Graphics.brightness > 0) and !$game_switches[XRXSV40::NoFadeSwitchID]) fadeout(XRXSV40::TransferFadeOutDuration) if fade @spriteset.dispose # スプライトセットを解放 $game_player.perform_transfer # 場所移動の実行 $game_map.autoplay # BGM と BGS の自動切り替え $game_map.update refresh_data @mapframe_set.refresh # 命令を割り込ませる @mapname_set.refresh @spriteset = Spriteset_Map.new # スプライトセットを再作成 fadein(XRXSV40::TransferFadeInDuration) if fade Input.update end #-------------------------------------------------------------------------- # ● バトル画面への切り替え * #-------------------------------------------------------------------------- def call_battle @spriteset.update Graphics.update $game_player.make_encounter_count $game_player.straighten $game_temp.map_bgm = RPG::BGM.last $game_temp.map_bgs = RPG::BGS.last RPG::BGM.stop if XRXSV40::BattleStartBGMStop RPG::BGS.stop Sound.play_battle_start $game_system.battle_bgm.play $game_temp.next_scene = nil $scene = Scene_Battle.new end #-------------------------------------------------------------------------- # ● 終了処理 #-------------------------------------------------------------------------- alias xrxsv40_terminate terminate def terminate xrxsv40_terminate @mapframe_set.dispose @mapname_set.dispose end end #============================================================================== # マップネームスプライトセット #============================================================================== class Spriteset_MapName def initialize end def refresh end def dispose end end #============================================================================== # マップフレームスプライトセット #============================================================================== class Spriteset_MapFrame def initialize end def refresh end def dispose end end