SAO風ゲームオーバー in VXA



ソードアートオンラインを参考にゲームオーバー = 死(セーブデータ削除)を実装してみます。

変更点
2024:09:08
・外部フラグ追加
・固定文字列対応

#==============================================================================
# ■ SAO風ゲームオーバー in VX Ace By 貪藻矢射妥←
# 
#  ソードアートオンラインを参考にゲームオーバー = 死(セーブデータ削除)
#  を実装してみます。
# 
#==============================================================================
# 更新っぽいもの
# 2024:09:08
# ・外部フラグ追加
# ・固定文字列対応

$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["SAO_GameOver"] = true

module SAO_GameOver
  # 削除対象ファイルリスト
  # SaveDD.rvdata2以外のデータ
  DELETE_LISTs = [
    "savec" + FIX_PATH::EX_CHILD_RVDATA2
  ]
end

#==============================================================================
# ■ Scene_Gameover
#------------------------------------------------------------------------------
#  ゲームオーバー画面の処理を行うクラスです。
#==============================================================================

class Scene_Gameover < Scene_Base
  #--------------------------------------------------------------------------
  # ● タイトル画面へ遷移
  #--------------------------------------------------------------------------
  def goto_title
    fadeout_all
    
    # ファイル削除(SaveDD.rxdata2)
      for index in 0..DataManager.savefile_max
        filename = DataManager.make_filename(index)
        # ファイルが存在する場合削除する
        if FileTest.exist?(filename)
          File.unlink(filename)
        end
      end
      
      # ファイル削除(SaveDD.rvdata2以外)
      for filename in SAO_GameOver::DELETE_LISTs
        # ファイルが存在する場合削除する
        if FileTest.exist?(filename)
          File.unlink(filename)
        end
      end
    
    SceneManager.goto(Scene_Title)
  end
end

戻る