RPGツクール2000/演出【サイトトップへ戻る】
■セーブの後とロードの後の処理を変える
(更新:2022/05/27)


セーブした後のイベント処理とロードした後のイベント処理を変えたい時には、
このページのイベント設定を活用すると良いでしょう。


ショートカット
■活用例
■セーブかロードかを判断する方法
■データベースの準備
■2周目のイベント
■ロード時にイベントを実行(セーブポイントでセーブ)
■ロード時にイベントを実行(メニュー画面でセーブ)
■複数のセーブ用地形IDを使用する
■補足


  
■活用例



■周回プレー

ゲームをクリアーして、2周目のプレーができる場合…
1:ゲームクリア時にセーブ。
2:タイトル画面へ戻る。
3:コンティニューからセーブデータをロード。
4:2周目がスタートする。
と言った感じに、セーブして一旦タイトル画面へ戻ってロードすると、
2周目がスタートするような演出を行いたい時には、
このページの処理を活用すると良いでしょう。



■ロード時のみイベント

セーブデータをロードした時に…
「さあ旅を再開しましょう!」
みたいな文章を表示したい時に…
◆セーブ画面の呼び出し
◆文章:さあ旅を再開しましょう!
と設定すると、セーブした時にも文章が表示されてしまいます。

あくまでロードした時のみ文章を表示したい時には、
このページの処理を活用すると良いでしょう。


▲トップへ戻る▲


  
■セーブかロードかを判断する方法

ツクールの仕様の中には…
「セーブデータには変更したチップセットの情報は含まれない」
と言った仕様があります。

この仕様を利用し、
セーブ前にイベントコマンド:チップセットの変更を使ってチップセットを変更して、
チップセットが変わったまま=セーブ
チップセットが元に戻った =ロード

と判断します。



チップセットが変わったかどうかの判断は、地形IDを調べて判断します。

今回の場合は、地形ID「11:セーブ地形」と言った地形を用意し、
セーブ判断用のチップセットに地形ID「11」を設定します。

そしてイベントコマンド:指定位置の地形ID取得で地形IDを調べて…
地形IDが「11」   → セーブした後
地形IDが「11」以外ロードした後
と判断します。


▲トップへ戻る▲


  
■データベースの準備

セーブ用のチップセットを準備します。



データベース「地形」の画面を開き、「セーブ地形」を準備してください。

※このページの説明では、地形ID「11」を使用します。





データベース「チップセット」の画面を開き、チップセットの最大数を増やし、
チップセットをコピー&貼り付けで、セーブ用のチップセットを用意してください。





画面右からセーブ用の地形を選択し、「地形の一括設定」をクリックして、
表示された画面の「OK」をクリックしてください。




以上でデータベースの準備ができました。


▲トップへ戻る▲


  
■2周目のイベント

ゲームをクリアーして、2周目を行う時に…
ゲームクリア → セーブ → タイトル画面へ戻る → ロード → 2周目が始まる
と言った処理を行いたい時には、以下のイベントを設定してください。



まずセーブ用のマップを用意してください。

マップの設定にて設定するチップセットは、通常のチップセットを設定してください。





セーブ用のマップのどこかに以下のマップイベントを設定してください。

■マップイベント「セーブ用」

▼1ページ目

イベント開始条件:自動的に始まる

◆チップセットの変更:セーブ用
◆スイッチの操作:[0001:セーブ後に実行]をONにする
◆セーブ画面の呼び出し




▼2ページ目

イベント出現条件:スイッチ[0001:セーブ後に実行]がON
イベント開始条件:自動的に始まる

◆指定位置の地形ID取得:(000,000),[0001:地形ID]<マップの左上を調べる
◆条件分岐:変数[0001:地形ID]が11<セーブした後(セーブ用地形IDの時)
 ◆タイトル画面へ戻る
 ◆
:分岐終了
◆スイッチの操作:[0001:セーブ後に実行]をOFFにする
〜スイッチ・変数・パーティーメンバー・重要アイテムなどの初期化〜
◆画面の消去:瞬間消去
◆主人公の透明状態変更:透明状態を解除する
◆場所移動<2周目が始まるマップへ移動
◆画面の消去:フェードイン


以上で設定完了です。



あとはこのマップへ移動する際には…
◆画面の消去:フェードアウト
◆主人公の透明状態変更:透明状態にする
◆場所移動
などと設定してください。



コモンイベントで定期的に並列処理するが動いている場合は、
一応全ての定期的に並列処理するを止めておいた方が良いでしょう。


  
■ロード時にイベントを実行(セーブポイントでセーブ)

セーブデータをロードした時に…
「さあ旅を再開しましょう!」
と表示するイベントを作りたい時には、以下のイベントを設定してください。

■マップイベント「セーブポイント」

イベント開始条件:決定キーが押されたとき

◆チップセットの変更:セーブ用チップセット<セーブ用のチップセットにする
◆セーブ画面の呼び出し
◆指定位置の地形ID取得:(000,000),[0001:地形ID]
◆条件分岐:変数[0001:地形ID]が11以外<ロードした後
 ◆顔グラフィックの設定<下のセリフをしゃべるキャラの顔グラフィック
 ◆文章:さあ旅を再開しましょう!
 ◆
:分岐終了
◆チップセットの変更:基本セット<元のチップセットに戻す


▲トップへ戻る▲


  
■ロード時にイベントを実行(メニュー画面でセーブ)

メニュー画面からセーブして、そのセーブデータをロードした時に…
「さあ旅を再開しましょう!」
と表示するイベントを作りたい時には、以下のイベントを設定してください。



なお、コモンイベントは3つに分けて設定します。

コモンイベント 処理内容
メニュー用キー処理 取り消しキーを押したかどうかを判断します。
取り消しキーを押した時に次のマスへ移動途中である場合は、移動が終わるまで待機。
【主人公が次のマスへ移動中かどうかを調べる処理の説明を見る】
移動が完了したら、スイッチ[0001]をONにして「メニュー画面表示」を起動。
なお、「メニュー用キー処理」と「メニュー画面表示」を分けている理由は、
このように設定すると、何らかのイベントが実行している時には、
メニュー画面表示」が実行されなくなります。
メニュー画面の処理中はスイッチ[0002]がONになるため、
キー処理は実行できなくなります。
メニュー画面表示 場所移動が実行されたかどうかをチェックし、
場所移動が実行されている場合は処理を終了させます。
チップセットを変更し、メニュー画面を開きます。
メニュー画面を閉じたら、スイッチ[0003]をONにして「ロード後の文章」を起動。
なお、「メニュー画面表示」と「ロード後の文章」の2つに分けている理由は、
もしも「ロード時処理」の内容をこの「メニュー画面表示」に設定した場合、
セーブ → ロード後の文章を修正 → ロード」としても、
セーブデータに「メニュー画面表示」のイベント設定が保存されている関係で、
更新したロード後の文章ではなく、セーブ時のロード後の文章が表示されます。
そのため、古いセーブデータでも最新のロード後の文章が表示されるようにするため、
2つのコモンイベントに分けて処理しています。
ロード後の文章 メニュー画面を閉じた後やロードした時に、このイベントが起動します。
ロードした時のみ、文章を表示する。

■コモンイベント「メニュー用キー処理」

イベント開始条件:定期的に並列処理する
出現条件スイッチ:なし

◆条件分岐:スイッチ[0002:メニュー処理中]がON
 ◆イベント処理の中断
 ◆
:分岐終了
◆メニュー画面禁止の変更:禁止する
◆キー入力の処理:[0001:キー入力](取消/オプション:ON)
◆現在の場所を記憶:[0002],[0003],[0004]<現在地を保存(場所移動チェック用)
◆繰り返し処理<移動中の場合は移動が終わるまでこの中でループし続ける
 ◆変数の操作:[0005:起動時:画面X]代入,主人公の画面X
 ◆変数の操作:[0006:起動時:画面Y]代入,主人公の画面Y
 ◆条件分岐:小型船に乗っている(オプション:ON)
  ◆変数の操作:[0005:起動時:画面X]減算,大型船の画面X
  ◆変数の操作:[0006:起動時:画面Y]減算,大型船の画面Y
  ◆
 :それ以外の場合
  ◆変数の操作:[0005:起動時:画面X]減算,小型船の画面X
  ◆変数の操作:[0006:起動時:画面Y]減算,小型船の画面Y
  ◆
 :分岐終了
 ◆変数の操作:[0005〜0006]剰余,16
 ◆条件分岐:変数[0005:起動時:画面X]が0
  ◆条件分岐:変数[0006:起動時:画面Y]が0
   ◆繰り返し処理の中断
   ◆
  :分岐終了
  ◆
 :分岐終了
 ◆ウェイト:0.0秒
 ◆
:以上繰り返し
◆スイッチの操作:[0001:メニュー開く]をONにする
◆ウェイト:0.0秒
◆スイッチの操作:[0001:メニュー開く]をOFFにする

■コモンイベント「メニュー画面表示」

イベント開始条件:自動的に始まる
出現条件スイッチ:[0002:メニュー開く]

◆スイッチの操作:[0001:メニュー開く]をOFFにする
◆変数の操作:[0002:マップID]減算,主人公のマップID
◆条件分岐:変数[0002:マップID]が0以外<場所移動が実行されたので処理を中断
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0003:X座標]減算,主人公のX座標
◆条件分岐:変数[0003:X座標]が0以外
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0004:Y座標]減算,主人公のY座標
◆条件分岐:変数[0004:Y座標]が0以外
 ◆イベント処理の中断
 ◆
:分岐終了
◆スイッチの操作:[0002:メニュー処理中]をONにする
◆スイッチの操作:[0003:ロード時処理]をONにする
◆チップセットの変更:セーブ用チップセット<セーブ用のチップセットにする
◆メニュー画面の呼び出し

■コモンイベント「ロード後の文章」

イベント開始条件:自動的に始まる
出現条件スイッチ:[0003:ロード時処理]

◆指定位置の地形ID取得:(000,000),[0007:地形ID]
◆条件分岐:変数[0007:地形ID]が11以外(オプション:ON)<ロードした後
 ◆顔グラフィックの設定<下のセリフをしゃべるキャラの顔グラフィック
 ◆文章:さあ旅を再開しましょう!
 ◆
:分岐終了
◆チップセットの変更:基本セット<元のチップセットに戻す
◆スイッチの操作:[0002:メニュー処理中]をOFFにする
◆スイッチの操作:[0003:ロード時処理]をOFFにする



セーブができるマップが複数あり、
使われているチップセットも複数ある場合は、以下のように設定してください。

■コモンイベント「メニュー用キー処理」
変更なし

■コモンイベント「メニュー画面表示」

イベント開始条件:自動的に始まる
出現条件スイッチ:[0002:メニュー開く]

◆スイッチの操作:[0001:メニュー開く]をOFFにする
◆変数の操作:[0002:マップID]減算,主人公のマップID
◆条件分岐:変数[0002:マップID]が0以外
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0003:X座標]減算,主人公のX座標
◆条件分岐:変数[0003:X座標]が0以外
 ◆イベント処理の中断
 ◆
:分岐終了
◆変数の操作:[0004:Y座標]減算,主人公のY座標
◆条件分岐:変数[0004:Y座標]が0以外
 ◆イベント処理の中断
 ◆
:分岐終了
◆スイッチの操作:[0002:メニュー処理中]をONにする
◆スイッチの操作:[0003:ロード時処理]をONにする
◆条件分岐:変数[0008:チップセット番号]が1<データベース「チップセット」の番号
 ◆チップセットの変更:セーブ用セットA
 ◆
:分岐終了
◆条件分岐:変数[0008:チップセット番号]が2
 ◆チップセットの変更:セーブ用セットB
 ◆
:分岐終了
◆条件分岐:変数[0008:チップセット番号]が3
 ◆チップセットの変更:セーブ用セットC
 ◆
:分岐終了

◆メニュー画面の呼び出し

■コモンイベント「ロード後の文章」

イベント開始条件:自動的に始まる
出現条件スイッチ:[0003:ロード時処理]

◆指定位置の地形ID取得:(000,000),[0007:地形ID]
◆条件分岐:変数[0007:地形ID]が11以外(オプション:ON)
 ◆顔グラフィックの設定
 ◆文章:さあ旅を再開しましょう!
 ◆
:分岐終了
◆条件分岐:変数[0008:チップセット番号]が1
 ◆チップセットの変更:セットA
 ◆
:分岐終了
◆条件分岐:変数[0008:チップセット番号]が2
 ◆チップセットの変更:セットB
 ◆
:分岐終了
◆条件分岐:変数[0008:チップセット番号]が3
 ◆チップセットの変更:セットC
 ◆
:分岐終了

◆スイッチの操作:[0002:メニュー処理中]をOFFにする
◆スイッチの操作:[0003:ロード時処理]をOFFにする



どのマップにどのチップセットが使っているのかを判断するためには、
変数[0008]に現在使っているチップセットの番号を設定する必要があります。

変数[0008]への値の設定は、以下のイベントを作成して行ってください。

■マップイベント「チップセットA」<チップセットAを使っているマップに設定

イベント開始条件:定期的に並列処理する

◆変数の操作:[0008:チップセット番号]代入,1
◆イベントの一時消去

■マップイベント「チップセットB」<チップセットBを使っているマップに設定

イベント開始条件:定期的に並列処理する

◆変数の操作:[0008:チップセット番号]代入,2
◆イベントの一時消去

■マップイベント「チップセットC」<チップセットCを使っているマップに設定

イベント開始条件:定期的に並列処理する

◆変数の操作:[0008:チップセット番号]代入,3
◆イベントの一時消去

上記のマップイベントを作成したら、マップイベントごとコピーして、
同じチップセットを使っているマップに貼り付けてください。

マップイベントの設定位置は、マップ内ならどこでも構いませんが、
なるべくマップの左上などの分かりやすい所が良いでしょう。

基本的に上記のマップイベントは、セーブができる全てのマップに設定する必要があります。

但し洞窟などで同じチップセットを使っているマップが続く場合は、
洞窟の入口となっているマップのみに設定すれば、洞窟内のマップ全てに設定する必要はありません。


▲トップへ戻る▲


  
■複数のセーブ用地形IDを使用する

データベース「地形」では、通常キャラの表示方法を設定する事ができます。



セーブを行う時に下半身1/3を半透明表示するなどを設定している地形の上で、
セーブ用のチップセットに変えると、セーブ用の地形IDが1種類では、
画面が切り替わる瞬間だけ「普通に表示する」の状態になってしまいます。

このような状態が気になる方は、
セーブ用の地形ID下半身1/3を半透明表示する下半身1/2などを用意して、
データベース「チップセット」にてセーブ用のチップセットにセーブ用の地形IDを設定してください。



地形ID「11以上=セーブ地形」の場合は…
◆条件分岐:変数[0007:地形ID]が10以下
 ◆〜ロードした後のイベント〜
 ◆
:分岐終了
と設定します。

地形ID「11〜14=セーブ地形」で、
地形ID「15」以降にセーブ用ではない地形が設定されている場合は…
◆条件分岐:変数[0007:地形ID]が10以下(オプション:ON)
 ◆
:それ以外の場合
 ◆条件分岐:変数[0007:地形ID]が14以下
  ◆〜ロードした後のイベント〜
  ◆
 :分岐終了
 ◆
:分岐終了
と設定してください。


▲トップへ戻る▲


  
■補足

「さあ旅を再開しましょう!」
の部分を進行状況を確認するイベントに変えれば、
ロード時に次にどこへ行くのかを表示する事ができます。
【進行状況を確認するイベントのページを開く】


▲トップへ戻る▲



◎関連ページ

●周回プレイ(2周目プレイ)について
●進行状況を確認するイベント
●イベントコマンド:チップセットの変更
●イベントコマンド:セーブ画面の呼び出し
●イベントコマンド:メニュー画面の呼び出し
●データベース:地形
●データベース:チップセット
●データベース:コモンイベント

YADOTトップ  このサイトは何?  気紛れな空間へ戻る  メール