#==============================================================================
# ■ SAO風ゲームオーバー By 貪藻矢射妥←
#
# ソードアートオンラインを参考にゲームオーバー = 死(セーブデータ削除)
# を実装してみます。
#
# ※Scene_Title、Scene_File、Scene_Loadのファイル数最大数も
# SAO_GameOver::FILE_MAX に変更するとよいです
#
#==============================================================================
# 更新っぽいもの
# 2019:03:02
# ・Savedd.rxdata以外のデータも削除対象に
#
# 2024:07:01
# ・外部フラグ追加
# ・固定文字列追加対応
$OuterFlgs = {} if $OuterFlgs == nil
$OuterFlgs["SAO_GameOver"] = true
module SAO_GameOver
# セーブファイル最大数 - 1
FILE_MAX = 3
# 削除対象ファイルリスト
# Savedd.rxdata以外のデータ
DELETE_LISTs = [
"Qsave" + FIX_PATH::EX_CHILD_RXDATA,
"RX_Bsave" + FIX_PATH::EX_CHILD_RXDATA,
"S_data" + FIX_PATH::EX_CHILD_RXDATA,
"aop" + FIX_PATH::EX_CHILD_RXDATA,
"extra" + FIX_PATH::EX_CHILD_RXDATA
]
end
#==============================================================================
# ■ Scene_Gameover
#------------------------------------------------------------------------------
# ゲームオーバー画面の処理を行うクラスです。
#==============================================================================
class Scene_Gameover
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
def update
# C ボタンが押された場合
if Input.trigger?(Input::C)
# ファイル削除(Savedd.rxdata)
for index in 0..SAO_GameOver::FILE_MAX
filename = sprintf(FIX_PATH::SAVE_FILE_NAME, "#{index+1}")
# ファイルが存在する場合削除する
if FileTest.exist?(filename)
File.unlink(filename)
end
end
# ファイル削除(Savedd.rxdata以外)
for filename in SAO_GameOver::DELETE_LISTs
# ファイルが存在する場合削除する
if FileTest.exist?(filename)
File.unlink(filename)
end
end
# タイトル画面に切り替え
$scene = Scene_Title.new
end
end
end
|