WOLF RPGエディター(ウディタ)/演出・システム【サイトトップへ戻る】
■セーブ禁止のマップにセーブポイントを設置
(更新:2026/09/28)


セーブ禁止になっているマップの中で、セーブができるマスを設置する方法を紹介します。


ショートカット
■設定内容の確認
■マップイベント「セーブポイント」を設置
■チップ番号やタグ番号でセーブポイントの範囲を指定


  
■設定内容の確認

マップイベント「セーブポイント」を設置すると、
マップイベントと主人公が重なっている時のみ「セーブ許可」になるように設定します。




マップイベントには「接触範囲拡張」を設定します。

接触範囲拡張の範囲は、セーブポイントの範囲よりも0.5マスだけ大きくなるように設定します。

例えば下図のように緑の床がセーブポイントである場合は、
緑の床の範囲よりもひと回り大きく接触範囲拡張を設定してください。



イベントの処理では、接触範囲拡張の範囲内に主人公がいる場合は「セーブ許可」にしますが、
外側の0.5マス(下図の黄色の部分)を踏んでいる場合は「セーブ禁止」にします。



このように設定する事で、セーブポイントから出ようとすると、必ず「セーブ禁止」になります。



マップのセーブ禁止に関しては、別のマップへ場所移動する際に設定してください。

▼セーブ禁止のマップへ移動する時
■イベントの挿入[名]: ["○セーブ許可・禁止設定"] <コモンEv 15> / 0:セーブを禁止する

▼セーブ許可のマップへ移動する時
■イベントの挿入[名]: ["○セーブ許可・禁止設定"] <コモンEv 15> / 1:セーブを許可する


▲トップへ戻る▲


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

セーブポイントを設置したいマスに、以下のマップイベントを設定してください。

【イベント(TXT)出力ファイル】

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

▼1ページ目
グラフィック:自由に設定
オプション[すり抜け]:チェックを付ける
起動条件:プレイヤーから接触
起動条件変数:なし
接触範囲拡張:セーブポイントの範囲よりもひと回り大きく設定

■変数操作+: このEvのSelf0 = 主人公 の X座標(精密) *キャラ左側位置
■変数操作+: このEvのSelf1 = 主人公 の Y座標(精密) *キャラ足下-1位置
■変数操作+: このEvのSelf0 -= 呼出マップイベント の X座標(精密) *キャラ左側位置
■変数操作+: このEvのSelf1 -= 呼出マップイベント の Y座標(精密) *キャラ足下-1位置
■変数操作+: このEvのSelf0 /= 呼出マップイベント の 接触範囲拡張X
■変数操作+: このEvのSelf1 /= 呼出マップイベント の 接触範囲拡張Y
■条件分岐(数値): 【1】 このEvのSelf0 が 0 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■条件分岐(数値): 【1】 このEvのSelf1 が 0 と同じ
|-◇分岐: 【1】 [ このEvのSelf1 が 0 と同じ ]の場合↓
||■イベントの挿入[名]: ["○セーブ許可・禁止設定"] <コモンEv 15> / 1:セーブを許可する
||■デバッグ文:セーブ許可
||■イベント処理中断
||■
|◇分岐終了◇
|■
◇分岐終了◇
■イベントの挿入[名]: ["○セーブ許可・禁止設定"] <コモンEv 15> / 0:セーブを禁止する
■デバッグ文:セーブ禁止
■

※デバッグ文は動作確認用なので、動作が確認できたら削除しても問題ありません。





設定すると、以下のようになります。

マップ設定画面 ゲーム画面
 

上図のセーブポイントのグラフィックは、マップチップを設置して表示していますが、
マップイベントにグラフィックを設定して表示する事もできます。

マップイベントのグラフィックで表示する方法では、キャラチップを設定して、セーブポイントをアニメーションさせる事もできます。

なお、接触範囲拡張のYが「2以上」の場合は、
セーブポイントとは別にグラフィック表示用のマップイベントを設定すると良いでしょう。

▼設定例(「すり抜け」と「影グラフィック番号=1:影なし」を設定)


マップ設定画面 ゲーム画面
 



「セーブ許可」になった時にSEを鳴らす事もできます。

▼設定例(セーブを許可する設定にSE演奏を追加)
■サウンド:SE ファイル[SE/System_Enter01_panop.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
■イベントの挿入[名]: ["○セーブ許可・禁止設定"] <コモンEv 15> / 1:セーブを許可する
■デバッグ文:セーブ許可
■イベント処理中断

接触範囲拡張が「2以上」の場合は…
■DB読込(可変): このEvのSelf0 = 可変DB[ 18:33:0 ] (基本システム用変数:[システム]セーブ可能?:数値)
■条件分岐(数値): 【1】 このEvのSelf0 が 0 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■サウンド:SE ファイル[SE/System_Enter01_panop.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■
◇分岐終了◇
■イベントの挿入[名]: ["○セーブ許可・禁止設定"] <コモンEv 15> / 1:セーブを許可する
■デバッグ文:セーブ許可
■イベント処理中断
と設定すると、セーブポイントに入った瞬間だけSEが鳴り、
セーブポイント内を歩き続けても、SEが鳴り続ける事はありません。



複数のセーブポイントを設置したい場合は、
既に作成したマップイベント「セーブポイント」をコピー&貼り付けする事で、簡単に新たなセーブポイントを作る事ができます。

コピーしたマップイベントは、別のマップに貼り付ける事もできます。


▲トップへ戻る▲


  
■チップ番号やタグ番号でセーブポイントの範囲を指定



上図のようにセーブポイントが四角形ではない場合は、接触範囲拡張以外にセーブポイントの有無を調べる処理が必要になります。

今回は、マップイベントがあるマスの最も上にあるチップ番号を調べ、
主人公がいるマスの左上、右上、左下、右下の4箇所の最も上にあるチップ番号と比較して、
4箇所全てが同じチップ番号である時に「セーブ許可」とします。

▼黄色の4マスを調べる




なお、タグ番号で処理する方法もあります。

▼タグ番号の設定例


上図のように、複数のチップ(チップ番号)を組み合わせてセーブポイントを設置する場合は、
タグ番号で処理した方が良いでしょう。



以下の設定例は、チップ番号の設定例になっています。

もしもタグ番号で設定する場合は…
■変数操作+: このEvのSelf2 = [マップ精密座標] X:このEvのSelf0 Y:このEvのSelf1の最も上にあるチップ番号[1-31:オート,32-:etc…]
の設定を…
■変数操作+: このEvのSelf2 = [マップ精密座標] X:このEvのSelf0 Y:このEvのSelf1の最も上にあるタイルのタグ番号
と変えてください。

【イベント(TXT)出力ファイル(チップ番号&タグ番号)】

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

▼1ページ目
グラフィック:自由に設定
オプション[すり抜け]:チェックを付ける
起動条件:プレイヤーから接触
起動条件変数:なし
接触範囲拡張:セーブポイントの範囲よりもひと回り大きく設定

■変数操作+: このEvのSelf0 = 主人公 の X座標(精密) *キャラ左側位置
■変数操作+: このEvのSelf1 = 主人公 の Y座標(精密) *キャラ足下-1位置
■変数操作+: このEvのSelf0 -= 呼出マップイベント の X座標(精密) *キャラ左側位置
■変数操作+: このEvのSelf1 -= 呼出マップイベント の Y座標(精密) *キャラ足下-1位置
■変数操作+: このEvのSelf0 /= 呼出マップイベント の 接触範囲拡張X
■変数操作+: このEvのSelf1 /= 呼出マップイベント の 接触範囲拡張Y
■条件分岐(数値): 【1】 このEvのSelf0 が 0 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■条件分岐(数値): 【1】 このEvのSelf1 が 0 と同じ
|-◇分岐: 【1】 [ このEvのSelf1 が 0 と同じ ]の場合↓
||■変数操作+: このEvのSelf0 = 呼出マップイベント の X座標(精密) *キャラ左側位置
||■変数操作+: このEvのSelf1 = 呼出マップイベント の Y座標(精密) *キャラ足下-1位置
||■変数操作+: このEvのSelf2 = [マップ精密座標] X:このEvのSelf0 Y:このEvのSelf1の最も上にあるチップ番号[1-31:オート,32-:etc…]
||■回数付きループ [ 1 ]回
|||■変数操作+: このEvのSelf0 = 主人公 の X座標(精密) *キャラ左側位置
|||■変数操作+: このEvのSelf1 = 主人公 の Y座標(精密) *キャラ足下-1位置
|||■変数操作+: このEvのSelf3 = [マップ精密座標] X:このEvのSelf0 Y:このEvのSelf1の最も上にあるチップ番号[1-31:オート,32-:etc…]
|||■条件分岐(数値): 【1】 このEvのSelf2 が このEvのSelf3 以外
|||-◇分岐: 【1】 [ このEvのSelf2 が このEvのSelf3 以外 ]の場合↓
||||■ループ中断
||||■
|||◇分岐終了◇
|||■変数操作: このEvのSelf0 += 1 + 0
|||■変数操作+: このEvのSelf3 = [マップ精密座標] X:このEvのSelf0 Y:このEvのSelf1の最も上にあるチップ番号[1-31:オート,32-:etc…]
|||■条件分岐(数値): 【1】 このEvのSelf2 が このEvのSelf3 以外
|||-◇分岐: 【1】 [ このEvのSelf2 が このEvのSelf3 以外 ]の場合↓
||||■ループ中断
||||■
|||◇分岐終了◇
|||■変数操作: このEvのSelf0 -= 1 + 0
|||■変数操作: このEvのSelf1 += 1 + 0
|||■変数操作+: このEvのSelf3 = [マップ精密座標] X:このEvのSelf0 Y:このEvのSelf1の最も上にあるチップ番号[1-31:オート,32-:etc…]
|||■条件分岐(数値): 【1】 このEvのSelf2 が このEvのSelf3 以外
|||-◇分岐: 【1】 [ このEvのSelf2 が このEvのSelf3 以外 ]の場合↓
||||■ループ中断
||||■
|||◇分岐終了◇
|||■変数操作: このEvのSelf0 += 1 + 0
|||■変数操作+: このEvのSelf3 = [マップ精密座標] X:このEvのSelf0 Y:このEvのSelf1の最も上にあるチップ番号[1-31:オート,32-:etc…]
|||■条件分岐(数値): 【1】 このEvのSelf2 が このEvのSelf3 以外
|||-◇分岐: 【1】 [ このEvのSelf2 が このEvのSelf3 以外 ]の場合↓
||||■ループ中断
||||■
|||◇分岐終了◇
|||■イベントの挿入[名]: ["○セーブ許可・禁止設定"] <コモンEv 15> / 1:セーブを許可する
|||■デバッグ文:セーブ許可
|||■イベント処理中断
|||■
||◇ループここまで◇◇
||■
|◇分岐終了◇
|■
◇分岐終了◇
■イベントの挿入[名]: ["○セーブ許可・禁止設定"] <コモンEv 15> / 0:セーブを禁止する
■デバッグ文:セーブ禁止
■




▲トップへ戻る▲



◎関連ページ

◆アイテム「テント」の設定方法

YADOT-WOLFトップ  気紛れな空間へ戻る  メール