WOLF RPGエディター(ウディタ)/演出・システム【サイトトップへ戻る】 ■周回プレイ:【場所移動】でタイトル画面に戻って2周目を開始 (更新:2024/05/13) 周回プレイで2周目を始める時の処理方法(場所移動を使った方法)を紹介します。
周回プレイやクリア特典に関する基礎情報は別ページに記載しています。 ■2周目を始める2つの方法 1周目をクリアして2周目を始める方法には、 【場所移動】で2周目を始める方法と【タイトル画面へ戻る】で2周目を始める方法があります。
当ページは「【場所移動】を使う」の設定方法を紹介します。 「【タイトル画面へ戻る】を使う」の設定方法は別のページで紹介しています。
▲トップへ戻る▲ ■処理の流れなどを確認 1周目が終わったら【場所移動】でタイトル画面へ移動し、2周目を開始します。 処理の流れは以下の通りです。
制作者によっては、1周目のクリア時にセーブができるようにしたり、 2周目はタイトル画面に戻らず、すぐにオープニングが始まるようにする場合もあります。 当ページの設定例では、クリア回数をカウントする変数に通常変数[1:周回数]を使っていますが、 他の通常変数の番号や予備変数を使っても問題ありません。 タイトル画面へ戻る処理は、以下のように設定します。
2周目を開始する前には必ず初期化処理を行う必要があります。 まず初期化する必要があるのが、ゲームの進行に重要な通常変数や予備変数、可変DBなどの初期化です。 例えば「ボスを倒した → 通常変数[5]=1」などを設定している場合は、 通常変数[5]の値を「0」に戻さないとボスを倒したままになってしまい、 ボスを倒さないと先へ進めない場合は、進行不能のバグが発生します。 可変DBの初期化では、まずパーティメンバーを初期のメンバーにしておく必要があります。 またゲームの進行に重要なアイテムの所持数も「0」にしておく必要があります。
あとは2周目をどのような状態で始めたいのかによって、初期化を行います。 例えば「主人公を初期状態に戻したい」と言った場合は、可変DB[0〜5]を初期化する必要があります。 主人公を初期化する場合でも、例えばレベルなどは初期化せず、初期装備のみを初期化したり、 逆にレベルなどは初期化して、装備のみは1周目のクリア時のままにしたり、 主人公のステータスは全て初期化するが、習得した技能はそのままにするなど、 初期化したい内容に合わせて初期化方法を変えて処理します。 他に1周目で獲得した全てのアイテムや装備品を無くしたい場合は可変DB[7〜9]を初期化します。 所持金を初期状態に戻す場合は、可変DB[6:パーティー情報]の項目[0:所持金]の値を変えます。 システム変数なども必要に応じて初期化します。 コモン素材を導入している場合は、そのコモン素材で使っている変数の初期化が必要になるかもしれません。 マップイベントのセルフ変数は、主人公がいるマップのセルフ変数しか操作する事ができません。 そのため、各マップにセルフ変数を初期化するマップイベントを設定するか、 起動条件の変数をセルフ変数ではなく通常変数か予備変数で設定する必要があります。 2周目の開始時の主人公の向きは、1周目のクリア時の向きになっています。 もしも下向きで2周目を開始する場合は…
2周目を開始する前には、全ての主人公を全回復した方が良いでしょう。 パーティにいない主人公を含め、全ての主人公を全回復する場合は、以下のように設定してください。
YADOT-WOLFにある「サンプルゲームを周回プレイ化してみる」では、 1周目が終了して初期化処理を行ったあとに【場所移動】でタイトル画面へ戻って2周目を始める設定方法を紹介しています。 【サンプルゲームを周回プレイ化してみるのページを開く】 ▲トップへ戻る▲ ■マップイベントのセルフ変数の初期化 マップイベントのセルフ変数は、初期化したいマップへ主人公が移動しないと初期化する事ができません。 そのため、以下のような対策が必要になります。
▼通常変数や予備変数を使う マップイベントの起動条件など、初期化する必要がある変数は、通常変数や予備変数を使う方法です。 セルフ変数は、計算処理などの一時的に使用するもの(初期化不要)のみに使用し、 マップイベントの起動条件に設定する変数は、通常変数や予備変数を設定する方法です。 ▼各マップに初期化イベントを設定 まずはコモンイベントに以下のイベントを設定してください。
セルフ変数を初期化したいマップに、以下のマップイベントを設定してください。
上記のマップイベントをコピーして、他のマップに貼り付けてください。 ▼2周目で初めて移動するマップへ移動したら自動的に初期化 コモンイベントに以下のイベントを設定してください。
ウディタの仕様上の問題があり、同じコモンを呼び出して初期化を行っています。 ▲トップへ戻る▲ ■コモンイベントのセルフ変数の初期化 コモンイベントのセルフ変数の初期化は、変数呼び出し値「15000000」を使って行います。
▼コモンイベント[216〜225]を初期化する設定例
▲トップへ戻る▲ ■通常変数や予備変数を初期化 通常変数や予備変数の初期化の場合は…
しかし制作中に通常変数や予備変数のデータ数が変わると、その都度一括の初期化設定も変える必要があります。 もしも一括の初期化設定の修正が面倒な場合は、以下のように設定すると、自動的に全ての通常変数と予備変数が初期化されます。 なお、通常変数[1:周回数]のような初期化したくない変数は、初期化前にセルフ変数などに一時保存する必要があります。
▲トップへ戻る▲ ■データベースの初期化:「全データ初期化」を実行 イベントコマンド【DB操作】にある「全データ初期化」や「全項目初期化」を使う事でデータベースを初期化する事ができます。 しかしこの初期化は初期の設定になる訳ではなく、新規作成時の初期化になるので、 例えば可変DB[0:主人公ステータス]で「全データ初期化」を実行した場合は、 全ての主人公が以下のような何も設定していない状態になります。 アイテムや装備品を何も持っていない状態にする時には、このデータベースの初期化が使えます。 もしも最初から持っているアイテムがある場合は、全て初期化したあとに追加する形で持たせると良いでしょう。 ▲トップへ戻る▲ ■データベースの初期化:出力した初期状態のファイルを読み込む 初期状態のCSV形式のファイルを読み込んで初期化します。 ▼可変DBのファイル出力 初期状態のCSV形式のファイルは、 テストプレイでゲームを開始した時に自動的にCSV形式のファイルが出力されるようにした方が良いでしょう。 コモンイベント[048:X[共]基本システム自動初期化]の最後の行(224行目)に以下のイベントを追加すると、 フォルダー[Data]の中にフォルダー[db]が作られ、その中に出力した可変DBのファイルが保存されます。
初期化しない可変DBは、ファイル出力不要です。 上記の処理は、テストプレイではなく、通常プレイでゲームを開始した場合は、ファイル出力は実行されません。 可変DBを更新した場合は「ゲームデータの作成」を行う前に、1回はテストプレイを実行して、出力ファイルを更新してください。 ▼可変DBのファイル読み込み 1周目が終わって2周目が始まる時に出力したファイルを読み込めば、可変DBを初期状態に戻す事ができます。
初期化しない可変DB(出力ファイルが無いもの)は、読み込み設定を削除してください。 ▼主人公のステータスは初期化、但し装備品のみ2周目に引き継ぐ 主人公のレベルや攻撃力などは初期状態に戻すが、1周目クリア時に装備していた装備品のみは2周目に引き継ぐ場合は、 「▼ 可変DB[0:主人公ステータス]を読み込む」の設定を以下のように設定してください。 なお、マップイベントのセルフ変数には文字列変数が無いので、 可変DB[18:基本システム用変数]のデータ[0〜1]にある文字列設定を一時使用しています。
主人公のステータスは初期化せずに、装備状態のみを初期化する場合は、以下のように一旦全ての装備品を外した上で、 初期装備を1つずつ設定してください。
▲トップへ戻る▲ ■初期レベルに戻す 初期レベルに戻す設定です。 初期レベルに戻す事で、最大HPや攻撃力などは初期値に戻りますが、 能力値を増減するイベントを実行して最大HPや攻撃力が増えた分はそのままになります。 また装備状態や戦闘コマンドなどもそのままになります。 レベルを初期レベルにする場合、単にレベルを減らすだけでは「次Lvまで」の誤差の問題が生じます。 レベルを下げたあとに可変DB[0:主人公ステータス]の項目[54:現Lvの取得経験値][55:現Lvの必要経験値]の初期化が必要です。 ▼ウルファールの場合は「項目[54]=0」「項目[55]=40」に初期化 ウルファールのレベルを「5」に戻す設定は以下のとおりです。
初期の[レベル]や[現Lvの必要経験値]が主人公ごとに異なるため、ループ処理で一括に初期化するのは難しいと言えます。 例えば、可変DB[0:主人公ステータス]に項目[59〜60]を新設し、 初期の[レベル]や[現Lvの必要経験値]をその項目[59〜60]に設定しておけば、ループ処理で一括に処理する事ができます。
項目[55:現Lvの必要経験値]と項目[59:初期必要経験値]、項目[4:レベル]と項目[60:初期レベル]は同じ値にしてください。 一括で全ての主人公を初期レベルに戻す場合は、以下のイベントを設定してください。
▲トップへ戻る▲ ■クリア時にセーブする 1周目のクリア時にセーブ画面が表示されて、セーブする事ができるようにします。 この処理を設定する場合は、セーブするための専用のマップを用意した方が良いでしょう。 作成したマップへ移動してくる時には、【ピクチャ表示】で画面を真っ暗にしてください。
作成したマップには、以下のマップイベントを設定してください。
セーブ後、一度タイトル画面に戻る場合は、以下のように設定。
▲トップへ戻る▲ ■セーブ画面にクリア回数を表示 セーブ画面にクリア回数が表示されるようにコモンイベント[094:X[移]セーブ・ロード画面描画]を改造します。 改造する場合はコモンイベント[094:X[移]セーブ・ロード画面描画]をコピーして、 コモンイベント[215]以降に貼り付けて複製品を作り、貼り付けた複製品を改造する事で、 改造前のコモンイベント[094:X[移]セーブ・ロード画面描画]を残す事ができます。 コモンイベント[X[移]セーブ・ロード画面描画]の268行目にある…
276行目に以下のイベントを追加してください。
クリア回数の表示色を変えたい時には、284行目の【ピクチャ表示】のカラー設定を変えてください。 ▼黄色のカラー設定にした時 以上で改造完了です。 ▼改造後の設定画面 ▲トップへ戻る▲ ◎関連ページ ◆周回プレイやクリア特典の基礎 ┣◆周回プレイ:【場所移動】でタイトル画面に戻って2周目を開始 ┣◆周回プレイ:【タイトル画面へ戻る】でタイトル画面に戻って2周目を開始 ┣◆サンプルゲームを周回プレイ化してみる ┗◆クリアしたらタイトル画面で「おまけ」が選択できるようにする |