しいたけサイクロン・アーカイブス

  1. トップ
  2. RGSS
  3. ゲームオーバーリトライ スクリプト

ゲームオーバーリトライ スクリプト

概要

メモリ上にセーブデータを一時的に保管するスクリプトです。シンボルエンカウント型の戦闘敗北時にリトライなどができます。
ロードすると戦闘敗北時に実行していたイベント(イベントページ)が中断されて再開します。

仕様

メモリ上にセーブを行うことができます。ゲームオーバー時にそのデータから始めることができます。

テストゲーム

ダウンロード (1.34MB)

(注)テストゲームを行うにはRPGツクールVXAceのRTPが必要です。

スクリプト

・DataManager
DataManager

・クラス
Game_Temp
Scene_Gameover
Scene_GameOverSelect
Window_GameOverCommand

・上のクラスのスクリプトをまとめたもの(DataManagerは含まない)
composed_scripts

使用方法の説明

導入法

上のスクリプトたちを導入した後、本体のDataManager内のself.initのcreate_game_objectsの下にload_normal_databasetako4save_game_on_memoryを挿入してください。

使い方

DataManagerの$data_save_game_on_memory_vocabでゲームオーバー時の選択肢の文を設定します。
$data_save_game_on_memory_vocab[0]にメモリセーブのデータをロードをする選択
$data_save_game_on_memory_vocab[2]にコンティニュー画面(ロード画面)を表示する選択
$data_save_game_on_memory_vocab[1]にタイトルへ戻る選択の表示を設定
です。

メモリセーブをしたい時にイベントコマンド-スクリプトを選択し DataManager.save_game_on_memory(0) を実行するとメモリにセーブできます。 ゲームオーバーの選択肢でメモリセーブのデータをロードをする選択を選ぶとこのデータをロードしてゲームが始まります。

広告

使用例

まず通常戦闘のコモンイベントを作ります。

次に敵シンボルをセットします。
1ページ目
2ページ目

最後に敵のエンカウントを無効にします。
無効にする方法はマップ上イベントコマンドのシステム設定でエンカウント無効にするか、 スクリプトでGame_Partyのencounter_none?をいじってtrueにすれば無効になります。

これでシンボルエンカウント方式のゲームにリトライシステムを導入できたのですがここからちょっとこのスクリプトの仕様をチェックしてみます。

まず下の図のようにDataManager.save_game_on_memory(0)を実行する前に変数1に1加算するようにします。

すると最初は
となりますがリトライ後は

となり、DataManager.save_game_on_memory(0)が実行されるまでのイベントが実行されいることが分かります。このことはイベント内に戦闘イベントを作るときにはちょっと注意しておいてください。
イベントページが中断されるので、自動実行されるイベントの途中でメモリセーブを行った場合はロード時にそのページの最初から自動実行されます。

質問やバグなどの報告は製作ブログのコメント欄でお願いします。

広告