#============================================================================== # ■ RGSS3 メニュースイッチ Ver1.00 by 星潟 #------------------------------------------------------------------------------ # メニュー展開時に自動的にON/OFFを切り替えられるスイッチIDを指定します。 # 状況に応じて3パターン、パターン別に複数設定できます。 #============================================================================== module MenuSwitch #空のハッシュを3つ用意。(変更不要) SID1 = {} SID2 = {} SID3 = {} #------------------------------------------------------------------------------ # メニュー展開時に共通して自動的に変更されるスイッチIDを指定。 # 不要な場合は設定しない。 # # 例. # SID1[1] = true # この場合、メニューを開くとスイッチID1がONになる。 # SID1[2] = false # この場合、メニューを開くとスイッチID2がOFFになる。 #------------------------------------------------------------------------------ SID1[1] = true #------------------------------------------------------------------------------ # マップからメニューボタンで呼び出された際にのみ # 自動的に変更されるスイッチIDを指定。 # 不要な場合は設定しない。 # # 例. # SID2[3] = true # この場合、マップからメニューボタンでメニューを開くとスイッチID3がONになる。 # SID2[4] = false # この場合、マップからメニューボタンでメニューを開くとスイッチID4がOFFになる。 #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ # メニューボタン以外で呼び出された際にのみ # 自動的に変更されるスイッチIDを指定。 # 不要な場合は設定しない。 # # 例. # SID3[5] = true # この場合、マップからメニューボタン以外でメニューを開くとスイッチID5がONになる。 # SID3[6] = false # この場合、マップからメニューボタン以外でメニューを開くとスイッチID6がOFFになる。 #------------------------------------------------------------------------------ #------------------------------------------------------------------------------ end class Scene_Menu < Scene_MenuBase attr_accessor :called_by_map #-------------------------------------------------------------------------- # 開始処理 #-------------------------------------------------------------------------- alias start_menu_switch start def start MenuSwitch::SID1.each {|k,v| $game_switches[k] = v} (@called_by_map ? MenuSwitch::SID2 : MenuSwitch::SID3).each {|k,v| $game_switches[k] = v} start_menu_switch end end class Scene_Map #-------------------------------------------------------------------------- # メニュー画面の呼び出し #-------------------------------------------------------------------------- alias call_menu_menu_switch call_menu def call_menu call_menu_menu_switch if SceneManager.scene && SceneManager.scene.is_a?(Scene_Menu) SceneManager.scene.called_by_map = true end end end