WOLF RPGエディター(ウディタ)/演出・システム【サイトトップへ戻る】
■扉イベントを作る
(更新:2024/05/08)


扉イベントの作り方を紹介します。

▼ウディタのサンプルゲームにある扉


ショートカット
■扉の画像設定
■イベントコマンドの設定
■補足


  
■扉の画像設定

扉が開いた時に扉の画像が消える消えないかによって、設定方法が異なります。

扉の画像が消えるタイプ 扉の画像はマップイベントに設定して表示します。
扉があるマスの地形(マップチップ)は、
扉が消えた時の地形(移動可能な地形)を設定します。
扉の画像が消えないタイプ 扉の画像はマップ上にマップチップを配置して表示します。
サンプルゲームのダンジョンに入る扉と同じ仕様で、
扉を調べると場所移動が実行されます。

▼扉の画像が消えないタイプの画像設定が書かれている所までジャンプ



▼扉が消えるタイプの画像設定

壁の画像はレイヤー1に設定してください。

鉄格子のような壁の場合は、レイヤー1には床の画像を設定し、鉄格子や扉の枠などはレイヤー2か3に設定してください。





マップイベントを縦に2個並べて設定してください。




マップイベントの設定内容は以下のとおりです。
※イベントコマンドの設定はあとで行います。






変数の値はゲーム開始時に「0」になっているので、上図の設定では「0=扉が表示されている」となります。

もしもゲーム開始時に扉が開いている状態にする場合は、起動条件の「0と同じ」を「1と同じ」などと設定してください。



起動条件「Self0:セルフ変数0」は、マップイベント「扉(上)」とマップイベント「扉(下)」は別々のセルフ変数であり、
上図の場合は「イベントID[0]のセルフ変数0」「イベントID[1]のセルフ変数0」となります。

そのため、扉を開ける時の設定は…
■変数操作: Ev0のSelf0 = 1 + 0
■変数操作: Ev1のSelf0 = 1 + 0
と言ったように、それぞれのセルフ変数0を操作する設定を行います。



扉のマップイベントと扉を開けるマップイベントが別々のマップにある場合は、
セルフ変数ではなく通常変数予備変数を設定してください。

▼通常変数[1]を設定した場合


扉を開ける時には以下のイベントコマンドを実行します。
■変数操作: V1[鉄格子の扉] = 1 + 0

通常変数の名前はシステムDB[14:通常変数名]で設定できます。

使用する変数の番号は未使用の番号なら何でも良いです。

「扉(上)」と「扉(下)」に設定する変数は同じ変数番号で設定してください。



扉(上)のマップイベントは「すり抜け」を設定しています。

「すり抜け」を設定する事で、扉の裏側へ行った時に、扉(上)と重なる事ができるようになります。

すり抜け無し すり抜け有り

▼イベントコマンドの設定が書かれている所までジャンプ


  
▼扉が消えないタイプの画像設定

レイヤー1に壁の画像を設定します。




レイヤー2に変えて、扉の画像を設定してください。




マップイベントは扉の下側のマスに設定してください。


イベントコマンドの設定はこのあと紹介するので、まずはイベント名だけを設定したマップイベントを設置してください。


▲トップへ戻る▲


  
■イベントコマンドの設定

扉のマップイベントにイベントコマンドを設定します。

「扉(上)」と「扉(下)」の2つのマップイベントがある場合で、
「扉(上)」にすり抜けの設定がある場合は「扉(下)」の方のみにイベントコマンドを設定し、
「扉(上)」にすり抜けの設定が無い場合は上下両方にイベントコマンドを設定してください。



扉の画像が消えるタイプのマップイベントのイベントIDは、
イベントID[0]=扉(上)
イベントID[1]=扉(下)
で設定しています。
違うイベントIDで設定している場合は、イベントコードの設定後に設定した扉イベントのセルフ変数に修正する必要があります。

扉の画像が消えないタイプ【場所移動】の設定はイベントコードの設定後に修正が必要です。


  
イベントコマンドの設定方法は扉が開く条件によって、設定方法がいくつかあります。

ショートカット
▼カギが掛かっていない普通の扉
▼アイテムを持っていると扉が開く
▼パーティが3人以上で扉が開く
▼扉の裏側から扉が開けられる


  
▼カギが掛かっていない普通の扉

カギが掛かっていない普通の扉の設定例です。

扉の画像が消えるタイプの場合は、調べると無条件で扉が開きます。

扉の画像が消えないタイプの場合は、調べると場所移動が実行されます。



▼扉の画像が消えるタイプ
【イベントコード表示】

■変数操作: Ev0のSelf0 = 1 + 0
■変数操作: Ev1のSelf0 = 1 + 0

▼扉の画像が消えないタイプ
【イベントコード表示】

■場所移動:主人公 ▲マップID0[タイトル] X:0 Y:0 [トランジションなし]


▲ショートカットへ戻る▲  ▲トップへ戻る▲


  
▼アイテムを持っていると扉が開く

ウディタのサンプルゲームにあるアイテム「ダンジョンのカギ」を持っていると扉に入れる処理と同じ処理を設定します。



イベントを設定する前に扉を開けるアイテムをユーザーDB[2:アイテム]に準備してください。

▼設定例ではデータID[30:カギ]を使用


お店の処理でカギが売却できないようにする場合は、販売価格を「0」にしてください。



扉イベントの近くにアイテム「カギ」が入手できるマップイベントを設定してください。





可変DB[7:┣所持アイテム個数][30:カギ]の所持数を増やせば、
ゲーム開始時からカギを持っている状態にする事ができますが、
このようにマップイベントを調べてカギを入手するマップイベントを置く事で、
カギを持っている時と持っていない時の動作テストが簡単にできるようになります。

また動作テストのために一時的に可変DB[7:┣所持アイテム個数]の所持数を変えると、
あとで所持数を元に戻し忘れるなどのミスが発生する可能性があるため、
少々面倒でもアイテムが入手できるマップイベントを一時的に置いて動作テストをした方が良いでしょう。



アイテムの所持数を調べる時にはコモンイベント[017:▲アイテム所持数取得]を呼び出して調べます。



コモンイベント[017〜026]には他も、所持金を調べたり、装備数を調べたりする事ができ、
例えば「一定金額が無いと扉が開かない(有料で扉を開ける)」と言った設定もできます。



▼扉の画像が消えるタイプ
【イベントコード表示】

■イベントの挿入: このEvのSelf1 = コモン17:[ ▲アイテム所持数取得 ] / 30:カギ
■条件分岐(変数): 【1】 このEvのSelf1 が 0 以下
-◇分岐: 【1】 [ このEvのSelf1 が 0 以下 ]の場合↓
|■文章:カギがかかっていて扉が開かない。
|■イベント処理中断
|■
◇分岐終了◇
■変数操作: Ev0のSelf0 = 1 + 0
■変数操作: Ev1のSelf0 = 1 + 0
■文章:扉が開いた。

▼扉の画像が消えないタイプ
【イベントコード表示】

■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■イベントの挿入: このEvのSelf1 = コモン17:[ ▲アイテム所持数取得 ] / 30:カギ
|■条件分岐(変数): 【1】 このEvのSelf1 が 0 以下
|-◇分岐: 【1】 [ このEvのSelf1 が 0 以下 ]の場合↓
||■文章:カギがかかっていて扉が開かない。
||■イベント処理中断
||■
|◇分岐終了◇
|■変数操作: このEvのSelf0 = 1 + 0
|■文章:扉が開いた。
|■
◇分岐終了◇
■場所移動:主人公 ▲マップID0[タイトル] X:0 Y:0 [トランジションなし]



扉を開ける際、アイテム「カギ」を消費する場合は以下のように設定。

▼扉の画像が消えるタイプ(アイテム消費)
【イベントコード表示】

■イベントの挿入: このEvのSelf1 = コモン17:[ ▲アイテム所持数取得 ] / 30:カギ
■条件分岐(変数): 【1】 このEvのSelf1 が 0 以下
-◇分岐: 【1】 [ このEvのSelf1 が 0 以下 ]の場合↓
|■文章:カギがかかっていて扉が開かない。
|■イベント処理中断
|■
◇分岐終了◇
■イベントの挿入: コモン0:[ ○アイテム増減 ] / 30:カギ / -1 / 0:なし
■変数操作: Ev0のSelf0 = 1 + 0
■変数操作: Ev1のSelf0 = 1 + 0
■文章:扉が開いた。

▼扉の画像が消えないタイプ(アイテム消費)
【イベントコード表示】

■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■イベントの挿入: このEvのSelf1 = コモン17:[ ▲アイテム所持数取得 ] / 30:カギ
|■条件分岐(変数): 【1】 このEvのSelf1 が 0 以下
|-◇分岐: 【1】 [ このEvのSelf1 が 0 以下 ]の場合↓
||■文章:カギがかかっていて扉が開かない。
||■イベント処理中断
||■
|◇分岐終了◇
|■イベントの挿入: コモン0:[ ○アイテム増減 ] / 30:カギ / -1 / 0:なし
|■変数操作: このEvのSelf0 = 1 + 0
|■文章:扉が開いた。
|■
◇分岐終了◇
■場所移動:主人公 ▲マップID0[タイトル] X:0 Y:0 [トランジションなし]



アイテム「カギ」を消費して扉を開けるかどうか確認する選択肢を表示する場合は、以下のように設定。

▼動作イメージ


▼扉の画像が消えるタイプ(アイテム消費+選択肢で確認)
【イベントコード表示】

■イベントの挿入: このEvのSelf1 = コモン17:[ ▲アイテム所持数取得 ] / 30:カギ
■条件分岐(変数): 【1】 このEvのSelf1 が 0 以下
-◇分岐: 【1】 [ このEvのSelf1 が 0 以下 ]の場合↓
|■文章:カギがかかっていて扉が開かない。
|■イベント処理中断
|■
◇分岐終了◇
■文章:カギを1本消費して扉を開けますか?
■文章選択肢:/ 【1】カギを使用する / 【2】キャンセル
-◇選択肢:【1】 カギを使用する の場合↓
|■
-◇選択肢:【2】 キャンセル の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■イベントの挿入: コモン0:[ ○アイテム増減 ] / 30:カギ / -1 / 0:なし
■変数操作: Ev0のSelf0 = 1 + 0
■変数操作: Ev1のSelf0 = 1 + 0
■文章:扉が開いた。

▼扉の画像が消えないタイプ(アイテム消費+選択肢で確認)
【イベントコード表示】

■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■イベントの挿入: このEvのSelf1 = コモン17:[ ▲アイテム所持数取得 ] / 30:カギ
|■条件分岐(変数): 【1】 このEvのSelf1 が 0 以下
|-◇分岐: 【1】 [ このEvのSelf1 が 0 以下 ]の場合↓
||■文章:カギがかかっていて扉が開かない。
||■イベント処理中断
||■
|◇分岐終了◇
|■文章:カギを1本消費して扉を開けますか?
|■文章選択肢:/ 【1】カギを使用する / 【2】キャンセル
|-◇選択肢:【1】 カギを使用する の場合↓
||■
|-◇選択肢:【2】 キャンセル の場合↓
||■イベント処理中断
||■
|◇分岐終了◇
|■イベントの挿入: コモン0:[ ○アイテム増減 ] / 30:カギ / -1 / 0:なし
|■変数操作: このEvのSelf0 = 1 + 0
|■文章:扉が開いた。
|■
◇分岐終了◇
■場所移動:主人公 ▲マップID0[タイトル] X:0 Y:0 [トランジションなし]


▲ショートカットへ戻る▲  ▲トップへ戻る▲


  
▼パーティが3人以上で扉が開く

パーティの人数が3人以上の時に扉が開くように設定します。

パーティ人数の情報は可変DB[18:基本システム用変数]データ[4:現在パーティー人数]から取得します。



▼扉の画像が消えるタイプ
【イベントコード表示】

■DB読込(可変): このEvのSelf1 = 可変DB[ 基本システム用変数 : 4 : 0 ] (18 : 現在パーティー人数 : 数値)
■条件分岐(変数): 【1】 このEvのSelf1 が 2 以下
-◇分岐: 【1】 [ このEvのSelf1 が 2 以下 ]の場合↓
|■文章:扉が重くてこの人数では開けられない。
|■イベント処理中断
|■
◇分岐終了◇
■変数操作: Ev0のSelf0 = 1 + 0
■変数操作: Ev1のSelf0 = 1 + 0
■文章:扉が開いた。

▼扉の画像が消えないタイプ
【イベントコード表示】

■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■DB読込(可変): このEvのSelf1 = 可変DB[ 基本システム用変数 : 4 : 0 ] (18 : 現在パーティー人数 : 数値)
|■条件分岐(変数): 【1】 このEvのSelf1 が 2 以下
|-◇分岐: 【1】 [ このEvのSelf1 が 2 以下 ]の場合↓
||■文章:扉が重くてこの人数では開けられない。
||■イベント処理中断
||■
|◇分岐終了◇
|■変数操作: このEvのSelf0 = 1 + 0
|■文章:扉が開いた。
|■
◇分岐終了◇
■場所移動:主人公 ▲マップID0[タイトル] X:0 Y:0 [トランジションなし]


▲ショートカットへ戻る▲  ▲トップへ戻る▲


  
▼扉の裏側から扉が開けられる

扉の裏側から扉が開けられる設定を行います。

開けられない 開けられる

今回はイベントコマンド【変数操作+】を使って主人公の向き(1〜9)を取得し、
その主人公の向きから扉が開けられるかどうかを判断します。

主人公の向きは以下の値で取得されます。

今回の設定では「上向き=開けられない」「下向き=開けられる」と設定しますが、
8方向移動の場合は斜め方向からもマップイベントを調べる事ができます。

▼向き「9」でもマップイベントが実行できる


下記設定例は、斜め向きでも扉のマップイベントを調べたら開けられる場合は「向き7〜9+1〜3」、
扉に向かって真っすぐ上、または真っ直ぐ下を向かないと開けられない場合は「向き8+2」 で記載しています。



▼扉の画像が消えるタイプ(向き7〜9+1〜3)
【イベントコード表示】

■変数操作+: このEvのSelf1 = 主人公 の 向き(1〜9)
■条件分岐(変数): 【1】 このEvのSelf1 が 7 以上 【2】 このEvのSelf1 が 3 以下
-◇分岐: 【1】 [ このEvのSelf1 が 7 以上 ]の場合↓
|▼ 上向き
|■文章:開かない。
|■
-◇分岐: 【2】 [ このEvのSelf1 が 3 以下 ]の場合↓
|▼ 下向き
|■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
|-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■変数操作: Ev0のSelf0 = 1 + 0
|■変数操作: Ev1のSelf0 = 1 + 0
|■文章:カギを外した。
|■
◇分岐終了◇

▼扉の画像が消えるタイプ(向き8+2)
【イベントコード表示】

■変数操作+: このEvのSelf1 = 主人公 の 向き(1〜9)
■条件分岐(変数): 【1】 このEvのSelf1 が 8 と同じ 【2】 このEvのSelf1 が 2 と同じ
-◇分岐: 【1】 [ このEvのSelf1 が 8 と同じ ]の場合↓
|▼ 上向き
|■文章:開かない。
|■
-◇分岐: 【2】 [ このEvのSelf1 が 2 と同じ ]の場合↓
|▼ 下向き
|■変数操作: Ev0のSelf0 = 1 + 0
|■変数操作: Ev1のSelf0 = 1 + 0
|■文章:カギを外した。
|■
◇分岐終了◇


扉の画像が消えないタイプは「鉄格子で扉を調べると反対側へ場所移動する」と言った状態を想定しています。

▼扉の画像が消えないタイプ(向き7〜9+1〜3)
【イベントコード表示】

■変数操作+: このEvのSelf1 = 主人公 の 向き(1〜9)
■条件分岐(変数): 【1】 このEvのSelf1 が 7 以上 【2】 このEvのSelf1 が 3 以下
-◇分岐: 【1】 [ このEvのSelf1 が 7 以上 ]の場合↓
|▼ 上向き
|■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
|-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
||■文章:開かない。
||■イベント処理中断
||■
|◇分岐終了◇
|■場所移動:主人公 ▲マップID0[タイトル] X:0 Y:0 [トランジションなし]
|■
-◇分岐: 【2】 [ このEvのSelf1 が 3 以下 ]の場合↓
|▼ 下向き
|■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
|-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
||■変数操作: このEvのSelf0 = 1 + 0
||■文章:カギを外した。
||■
|◇分岐終了◇
|■場所移動:主人公 ▲マップID0[タイトル] X:0 Y:0 [トランジションなし]
|■
◇分岐終了◇

▼扉の画像が消えないタイプ(向き8+2)
【イベントコード表示】

■変数操作+: このEvのSelf1 = 主人公 の 向き(1〜9)
■条件分岐(変数): 【1】 このEvのSelf1 が 8 と同じ 【2】 このEvのSelf1 が 2 と同じ
-◇分岐: 【1】 [ このEvのSelf1 が 8 と同じ ]の場合↓
|▼ 上向き
|■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
|-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
||■文章:開かない。
||■イベント処理中断
||■
|◇分岐終了◇
|■場所移動:主人公 ▲マップID0[タイトル] X:0 Y:0 [トランジションなし]
|■
-◇分岐: 【2】 [ このEvのSelf1 が 2 と同じ ]の場合↓
|▼ 下向き
|■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
|-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
||■変数操作: このEvのSelf0 = 1 + 0
||■文章:カギを外した。
||■
|◇分岐終了◇
|■場所移動:主人公 ▲マップID0[タイトル] X:0 Y:0 [トランジションなし]
|■
◇分岐終了◇


▲ショートカットへ戻る▲  ▲トップへ戻る▲


  
■補足

扉の画像が消えるタイプでは、扉のカギを外した時に…
■変数操作: Ev0のSelf0 = 1 + 0
■変数操作: Ev1のSelf0 = 1 + 0
■文章:カギを外した。
と言った順番でイベントを実行した場合は、文章が表示されたと同時に扉の画像が消去されます。

しかし…
■文章:カギを外した。
■変数操作: Ev0のSelf0 = 1 + 0
■変数操作: Ev1のSelf0 = 1 + 0
と言った順番でイベントを実行した場合は、文章の表示を消したあとに扉の画像が消去されます。

このようにちょっとしたイベントコマンドの設定順で処理結果が変わってきます。


▲トップへ戻る▲



◎関連ページ

◆キャラクターイベントを作る
◆複数のマップイベントを実行すると先へ進める
◆正しい順番でスイッチを押すと扉が開く
◆マップイベントを押して移動し、特定の位置に置くと扉が開く
◆アイテム取得(ツボ・宝箱)のイベントを作る

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