=begin ----------------------------------------------------------------------------- ☆★☆ タイマーをメニューとかでも表示させる ☆★☆ by かおばん ・右上のタイマーがメニューやらで表示されず実質考える時間ありまくりなのはヤダ ・0秒でマップに移せるようになった(0秒でイベント起こすのがメニューからでも可能) ・これと競合するスクリプトがあったらその都度、競合する方に記述を追加 ・競合するスクリプトに記述を追加したら、こちらのその部分は念の為コメントアウト ・KAMESOFT(KGCSOFT)様の多人数パーティと併用の場合、入れ替えの画面で表示されない ----------------------------------------------------------------------------- =end class Game_System attr_accessor :m_timer # タイマーを参照するため追加 def m_timer if @timer_working return @timer else return -1 end end end class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化(再定義) # menu_index : コマンドのカーソル初期位置 #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index create_timer # 追加 end # 新定義 def create_viewports @viewport2 = Viewport.new(0, 0, 544, 416) @viewport2.z = 900 end #-------------------------------------------------------------------------- # ● 終了処理(再定義) #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose @gold_window.dispose @status_window.dispose dispose_timer # 追加 end # 新定義 def create_timer @timer_sprite = Sprite_Timer.new(@viewport2) end # 新定義 def dispose_timer @timer_sprite.dispose end # 新定義 def dispose_viewports @viewport2.dispose end #-------------------------------------------------------------------------- # ● フレーム更新(再定義) #-------------------------------------------------------------------------- def update super update_menu_background $game_system.update # 追加 update_timer # 追加 if $game_system.m_timer == 0 # 追加 $game_temp.next_scene = nil # 追加 $scene = Scene_Map.new # 追加 end # 追加 @command_window.update @gold_window.update @status_window.update if @command_window.active update_command_selection elsif @status_window.active update_actor_selection end end # 新定義 def update_timer @timer_sprite.update end # 新定義 def update_viewports @viewport2.color = $game_troop.screen.flash_color @viewport2.update end end class Scene_Item < Scene_Base #-------------------------------------------------------------------------- # ● 開始処理(再定義) #-------------------------------------------------------------------------- def start super create_menu_background @viewport = Viewport.new(0, 0, 544, 416) @help_window = Window_Help.new @help_window.viewport = @viewport @item_window = Window_Item.new(0, 56, 544, 360) @item_window.viewport = @viewport @item_window.help_window = @help_window @item_window.active = false @target_window = Window_MenuStatus.new(0, 0) hide_target_window create_timer # 追加 end # 新定義 def create_viewports @viewport2 = Viewport.new(0, 0, 544, 416) @viewport2.z = 900 end #-------------------------------------------------------------------------- # ● 終了処理(再定義) #-------------------------------------------------------------------------- def terminate super dispose_menu_background @viewport.dispose @help_window.dispose @item_window.dispose @target_window.dispose dispose_timer # 追加 end # 新定義 def create_timer @timer_sprite = Sprite_Timer.new(@viewport2) end # 新定義 def dispose_timer @timer_sprite.dispose end # 新定義 def dispose_viewports @viewport2.dispose end #-------------------------------------------------------------------------- # ● フレーム更新(再定義) #-------------------------------------------------------------------------- def update super update_menu_background $game_system.update # 追加 update_timer # 追加 if $game_system.m_timer == 0 # 追加 $game_temp.next_scene = nil # 追加 $scene = Scene_Map.new # 追加 end # 追加 @help_window.update @item_window.update @target_window.update if @item_window.active update_item_selection elsif @target_window.active update_target_selection end end # 新定義 def update_timer @timer_sprite.update end # 新定義 def update_viewports @viewport2.color = $game_troop.screen.flash_color @viewport2.update end end class Scene_Skill < Scene_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化(再定義) # actor_index : アクターインデックス #-------------------------------------------------------------------------- def initialize(actor_index = 0, equip_index = 0) @actor_index = actor_index create_timer # 追加 end # 新定義 def create_viewports @viewport2 = Viewport.new(0, 0, 544, 416) @viewport2.z = 900 end #-------------------------------------------------------------------------- # ● 終了処理(再定義) #-------------------------------------------------------------------------- def terminate super dispose_menu_background @help_window.dispose @status_window.dispose @skill_window.dispose @target_window.dispose dispose_timer # 追加 end # 新定義 def create_timer @timer_sprite = Sprite_Timer.new(@viewport2) end # 新定義 def dispose_timer @timer_sprite.dispose end # 新定義 def dispose_viewports @viewport2.dispose end #-------------------------------------------------------------------------- # ● フレーム更新(再定義) #-------------------------------------------------------------------------- def update super update_menu_background $game_system.update # 追加 update_timer # 追加 if $game_system.m_timer == 0 # 追加 $game_temp.next_scene = nil # 追加 $scene = Scene_Map.new # 追加 end # 追加 @help_window.update @status_window.update @skill_window.update @target_window.update if @skill_window.active update_skill_selection elsif @target_window.active update_target_selection end end # 新定義 def update_timer @timer_sprite.update end # 新定義 def update_viewports @viewport2.color = $game_troop.screen.flash_color @viewport2.update end end class Scene_Equip < Scene_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化(再定義) # actor_index : アクターインデックス # equip_index : 装備インデックス #-------------------------------------------------------------------------- def initialize(actor_index = 0, equip_index = 0) @actor_index = actor_index @equip_index = equip_index create_timer # 追加 end # 新定義 def create_viewports @viewport2 = Viewport.new(0, 0, 544, 416) @viewport2.z = 900 end #-------------------------------------------------------------------------- # ● 終了処理(再定義) #-------------------------------------------------------------------------- def terminate super dispose_menu_background @help_window.dispose @equip_window.dispose @status_window.dispose dispose_item_windows dispose_timer # 追加 end # 新定義 def create_timer @timer_sprite = Sprite_Timer.new(@viewport2) end # 新定義 def dispose_timer @timer_sprite.dispose end # 新定義 def dispose_viewports @viewport2.dispose end #-------------------------------------------------------------------------- # ● フレーム更新(再定義) #-------------------------------------------------------------------------- def update super update_menu_background $game_system.update # 追加 update_timer # 追加 if $game_system.m_timer == 0 # 追加 $game_temp.next_scene = nil # 追加 $scene = Scene_Map.new # 追加 end # 追加 @help_window.update update_equip_window update_status_window update_item_windows if @equip_window.active update_equip_selection elsif @item_window.active update_item_selection end end # 新定義 def update_timer @timer_sprite.update end # 新定義 def update_viewports @viewport2.color = $game_troop.screen.flash_color @viewport2.update end end class Scene_Status < Scene_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化(再定義) # actor_index : アクターインデックス #-------------------------------------------------------------------------- def initialize(actor_index = 0) @actor_index = actor_index create_timer # 追加 end # 新定義 def create_viewports @viewport2 = Viewport.new(0, 0, 544, 416) @viewport2.z = 900 end #-------------------------------------------------------------------------- # ● 終了処理(再定義) #-------------------------------------------------------------------------- def terminate super dispose_menu_background @status_window.dispose dispose_timer # 追加 end # 新定義 def create_timer @timer_sprite = Sprite_Timer.new(@viewport2) end # 新定義 def dispose_timer @timer_sprite.dispose end # 新定義 def dispose_viewports @viewport2.dispose end #-------------------------------------------------------------------------- # ● フレーム更新(再定義) #-------------------------------------------------------------------------- def update update_menu_background $game_system.update # 追加 update_timer # 追加 if $game_system.m_timer == 0 # 追加 $game_temp.next_scene = nil # 追加 $scene = Scene_Map.new # 追加 end # 追加 @status_window.update if Input.trigger?(Input::B) Sound.play_cancel return_scene elsif Input.trigger?(Input::R) Sound.play_cursor next_actor elsif Input.trigger?(Input::L) Sound.play_cursor prev_actor end super end # 新定義 def update_timer @timer_sprite.update end # 新定義 def update_viewports @viewport2.color = $game_troop.screen.flash_color @viewport2.update end end class Scene_File < Scene_Base #-------------------------------------------------------------------------- # ● オブジェクト初期化(再定義) # saving : セーブフラグ (false ならロード画面) # from_title : タイトルの「コンティニュー」で呼び出されたフラグ # from_event : イベントの「セーブ画面の呼び出し」で呼び出されたフラグ #-------------------------------------------------------------------------- def initialize(saving, from_title, from_event) @saving = saving @from_title = from_title @from_event = from_event create_timer # 追加 end # 新定義 def create_viewports @viewport2 = Viewport.new(0, 0, 544, 416) @viewport2.z = 900 end #-------------------------------------------------------------------------- # ● 終了処理(再定義) #-------------------------------------------------------------------------- def terminate super dispose_menu_background @help_window.dispose dispose_item_windows dispose_timer # 追加 end # 新定義 def create_timer @timer_sprite = Sprite_Timer.new(@viewport2) end # 新定義 def dispose_timer @timer_sprite.dispose end # 新定義 def dispose_viewports @viewport2.dispose end #-------------------------------------------------------------------------- # ● フレーム更新(再定義) #-------------------------------------------------------------------------- def update super update_menu_background $game_system.update # 追加 update_timer # 追加 if $game_map.map_id != 0 # 追加:ゲーム開始時でマップIDが0の時は分岐を無視 if $game_system.m_timer == 0 # 追加 $game_temp.next_scene = nil # 追加 $scene = Scene_Map.new # 追加 end # 追加 end # 追加 @help_window.update update_savefile_windows update_savefile_selection end # 新定義 def update_timer @timer_sprite.update end # 新定義 def update_viewports @viewport2.color = $game_troop.screen.flash_color @viewport2.update end end class Scene_End < Scene_Base #-------------------------------------------------------------------------- # ● 開始処理(再定義) #-------------------------------------------------------------------------- def start super create_menu_background create_command_window create_timer # 追加 end # 新定義 def create_viewports @viewport2 = Viewport.new(0, 0, 544, 416) @viewport2.z = 900 end #-------------------------------------------------------------------------- # ● 終了処理(再定義) #-------------------------------------------------------------------------- def terminate super dispose_command_window dispose_menu_background dispose_timer # 追加 end # 新定義 def create_timer @timer_sprite = Sprite_Timer.new(@viewport2) end # 新定義 def dispose_timer @timer_sprite.dispose end # 新定義 def dispose_viewports @viewport2.dispose end #-------------------------------------------------------------------------- # ● フレーム更新(再定義) #-------------------------------------------------------------------------- def update super $game_system.update # 追加 update_timer # 追加 if $game_system.m_timer == 0 # 追加 $game_temp.next_scene = nil # 追加 $scene = Scene_Map.new # 追加 end # 追加 update_menu_background @command_window.update if Input.trigger?(Input::B) Sound.play_cancel return_scene elsif Input.trigger?(Input::C) case @command_window.index when 0 # タイトルへ command_to_title when 1 # シャットダウン command_shutdown when 2 # やめる command_cancel end end end # 新定義 def update_timer @timer_sprite.update end # 新定義 def update_viewports @viewport2.color = $game_troop.screen.flash_color @viewport2.update end end class Scene_Shop < Scene_Base #-------------------------------------------------------------------------- # ● 開始処理(再定義) #-------------------------------------------------------------------------- def start super create_menu_background create_command_window @help_window = Window_Help.new @gold_window = Window_Gold.new(384, 56) @dummy_window = Window_Base.new(0, 112, 544, 304) @buy_window = Window_ShopBuy.new(0, 112) @buy_window.active = false @buy_window.visible = false @buy_window.help_window = @help_window @sell_window = Window_ShopSell.new(0, 112, 544, 304) @sell_window.active = false @sell_window.visible = false @sell_window.help_window = @help_window @number_window = Window_ShopNumber.new(0, 112) @number_window.active = false @number_window.visible = false @status_window = Window_ShopStatus.new(304, 112) @status_window.visible = false create_timer # 追加 end # 新定義 def create_viewports @viewport2 = Viewport.new(0, 0, 544, 416) @viewport2.z = 900 end #-------------------------------------------------------------------------- # ● 終了処理 #-------------------------------------------------------------------------- def terminate super dispose_menu_background dispose_command_window @help_window.dispose @gold_window.dispose @dummy_window.dispose @buy_window.dispose @sell_window.dispose @number_window.dispose @status_window.dispose dispose_timer # 追加 end # 新定義 def create_timer @timer_sprite = Sprite_Timer.new(@viewport2) end # 新定義 def dispose_timer @timer_sprite.dispose end # 新定義 def dispose_viewports @viewport2.dispose end #-------------------------------------------------------------------------- # ● フレーム更新(再定義) #-------------------------------------------------------------------------- def update super update_menu_background $game_system.update # 追加 update_timer # 追加 @help_window.update @command_window.update @gold_window.update @dummy_window.update @buy_window.update @sell_window.update @number_window.update @status_window.update if @command_window.active update_command_selection elsif @buy_window.active update_buy_selection elsif @sell_window.active update_sell_selection elsif @number_window.active update_number_input end end # 新定義 def update_timer @timer_sprite.update end # 新定義 def update_viewports @viewport2.color = $game_troop.screen.flash_color @viewport2.update end end