カーソルを動かしてプレイしたいダンジョンを選ぶという
よくあるセレクト画面ですが
これはかなりややこしいというか手間がかかるので
根気のある中級者以上向けになります。
ScreenShot_2018_0703_16_43_47.png

<下準備/用意するもの>
・ダンジョンの縮小画面をまとめた上記のような画像
・カーソルを合わせた時に表示されるタイトルや説明文画像
(上の説明・注意と下の※の文章)
・カーソル画像×縮小画像分(上記だと9箇所分)
・クリア後に縮小画像を暗くするための影画像×縮小画像分
上記では8ダンジョンクリア後に隠しステージ3個が出現するようになっているので
そのような仕掛けを作りたい場合は、上記の各画像×3個分と
縮小画面をまとめた画像も出現前と出現後のフルバージョンを用意してください。

<作り方>
自動実行イベントの中に、まず8個のダンジョンを全クリアしてるかどうかを判定後、
していればフルバージョン、してなければ隠しダンジョン非表示の縮小画像を表示

その後に、1個ずつのダンジョンをクリア判定し(変数を使って判定できるようにしておく)、
クリアしていれば、その位置の縮小画像の上に影画像を表示して暗くします
(ダンジョン数分全てに同じ処理)

セレクト画面のカーソル位置を、左上から1234、5678…と割り振っておき、
キー入力判定で、今どの位置にカーソルがあるかを分かるようにしておきます。
2にカーソルがある時は、←→の2方向にカーソルが動かされる可能性があるので
2つの条件分岐を作って置きます。
6にある時は、←↑↓→の4方向の可能性があるので、4つの条件分岐を作ります。
そんな感じで8個全て(フルの時は12個)にそれぞれの条件分岐を作り
カーソル位置を完全把握できるようにしておきます(ここが一番の鬼作業です)

そしてカーソルのある位置に、カーソルを光らせ、説明文字を表示するコマンドを入れます。
(クリア判定をして未クリアの場合のみ)
カーソルが2の位置にある場合に、条件分岐の中に入れるコマンドはこんな感じ

|■条件分岐(変数): 【1】V2-1[セレクト画面] が 2と同じ
|-◇分岐: 【1】 [ V2-1[セレクト画面] が 2と同じ ]の場合↓
| |■ピクチャ表示:-4 [左上]ファイル「Fog_BackGround/カーソル2.png」 X:0 Y:0 / 5(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 50% / カラー R[100] G[100] B[100]
| |■ピクチャ表示:-3 [左上]ファイル「Fog_BackGround/タイトル2.png」 X:0 Y:0 / 5(0)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 50% / カラー R[100] G[100] B[100]
| |■ピクチャ表示:-2 [左下]文字列[\f[10]水中ダンジョン] X:28 Y:220 / 5(0)フレーム / パターン 1 / 透 220 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
| |■ピクチャエフェクト:-4 [点滅A(明滅)] R70/G70/B70 明滅間隔(20)フレーム
| |■キー入力:このEvのセルフ変数1 / [入力待ち] 4方向 決定(10)
| |■条件分岐(変数): 【1】このEvのセルフ変数1 が 4と同じ 【2】このEvのセルフ変数1 が 2と同じ 【3】このEvのセルフ変数1 が 6と同じ
| |-◇分岐: 【1】 [ このEvのセルフ変数1 が 4と同じ ]の場合↓
| | |■サウンド:SE1「[システム]選択」再生 / 遅延:0フレーム
| | |■変数操作: V2-1[セレクト画面] = 1 + 0
| | |■
| |-◇分岐: 【2】 [ このEvのセルフ変数1 が 2と同じ ]の場合↓
| | |■サウンド:SE1「[システム]選択」再生 / 遅延:0フレーム
| | |■変数操作: V2-1[セレクト画面] = 6 + 0
| | |■
| |-◇分岐: 【3】 [ このEvのセルフ変数1 が 6と同じ ]の場合↓
| | |■サウンド:SE1「[システム]選択」再生 / 遅延:0フレーム
| | |■変数操作: V2-1[セレクト画面] = 3 + 0
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】このEvのセルフ変数1 が 10と同じ
| |-◇分岐: 【1】 [ このEvのセルフ変数1 が 10と同じ ]の場合↓
| | |■条件分岐(変数): 【1】V1[クリア条件] が 100以外
| | |-◇分岐: 【1】 [ V1[クリア条件] が 100以外 ]の場合↓
| | | |■イベントの挿入: コモン5:[ ○メンバーの増減 ] / 1:仲間から外す / 14:セレクト画面
| | | |■サウンド:SE26「決定」再生 / 遅延:0フレーム
| | | |■ピクチャエフェクト:-4 [点滅A(明滅)] R0/G0/B0 明滅間隔(0)フレーム
| | | |■ピクチャ消去:-10 ~ 15 / 90(0)フレーム
| | | |■サウンド:BGM 停止 / 処理時間:100フレーム
| | | |■ウェイト:120 フレーム
| | | |■イベントの挿入: コモン227:[ トランジション ] / 1:描画 / 6:画像6 / 1:待つ / 6:ブラインド(縦)
| | | |■色調変更: R100 G100 B100 / 1フレーム
| | | |■ウェイト:150 フレーム
| | | |■場所移動:主人公 ▲マップID126[海2] X:5 Y:10 [トランジションなし]
| | | |■ループ中断
| | | |■イベントの一時消去:このEv (0フレーム)
| | | |■
| | |◇分岐終了◇
| | |■
| |◇分岐終了◇
| |■
|◇分岐終了◇


これを条件分岐でダンジョン数分作成すると一応完成です。

説明文だけじゃイマイチわからない場合は現物をどうぞ
マップデータ→select.txt
右クリ→名前をつけて保存後、拡張子txtをmpsに変えてからウディタで読み込んでください。
ただ画像や音声ファイルが揃ってないと正常動作しないと思いますので
(著作権の関係上画像などを一緒に付けることはできません)
このまま使うことはできませんので、ウディタで開いて
中身を参考に見るという程度にお使いください。
コマンド文コピペ使用はOKです。

マップ移動中にある人物に話しかけると回想イベントが始まったり、
ワープポイントとして座標を記憶しておきたかったりという場合の
主人公が現在いる座標を取得&記憶する方法。

(例)村の中のある人物に話しかけると
洞窟の中で竜を見たという再現VTRが始まる。
ある人物はランダム移動している。

<やり方>
通常変数「X座標」「Y座標」の2つを作成。
ある人物のイベントの中に決定キー実行で
■変数操作+: V3-0[X座標] = 主人公 の X座標(精密)
■変数操作+: V3-1[Y座標] = 主人公 の Y座標(精密)
■変数操作: このEvのセルフ変数0 = 1 + 0
|■色調変更: R200 G200 B200 / 80フレーム
|■ウェイト:120 フレーム
|■パーティ画像:パーティ全員を透明にする
|■場所移動:主人公 ▲マップID106[洞窟] X:9 Y:4 [トランジションなし]


そして移動先の洞窟の中に自動実行イベントを作り、
その中に回想シーンのイベントを入れる。
■文章:@1\n洞窟で俺は鉱山採掘をしていた。\nそこで見てしまったんだ。\n巨大な竜の影を…
■文章:@1\n大きさは5メートルほど、\n燃えるような赤い色をした\n羽のある竜だった。
■変数操作: このEvのセルフ変数0 = 1 + 0
■色調変更: R0 G0 B0 / 70フレーム
■ウェイト:100 フレーム
■場所移動:主人公 ▲マップID67[村] X:V3-0[X座標] Y:V3-1[Y座標] [精密] [トランジションなし]

■パーティ画像:パーティ全員の透明を解除する
■色調変更: R100 G100 B100 / 100フレーム


下から3行目の場所移動の移動先には
変数V3-0[X座標]、V3-1[Y座標] を入れておきます。
座標

これで洞窟での回想シーン後に元の位置に戻ってくることができます。
もし回想を複数にしたい場合は、コモンイベント「回想」(呼び出し)を作り
コモンの中で通常変数「回想」と条件分岐を使って分けると可能です。


<コモンを使って複数にする場合>
村人イベントの中に
■変数操作+: V3-0[X座標] = 主人公 の X座標(精密)
■変数操作+: V3-1[Y座標] = 主人公 の Y座標(精密)
■変数操作: このEvのセルフ変数0 = 1 + 0
■イベントの挿入: コモン211:[ 回想 ]


コモン「回想」の中に
■条件分岐(変数): 【1】V35[回想] が 0と同じ 【2】V35[回想] が 1と同じ
-◇分岐: 【1】 [ V35[回想] が 0と同じ ]の場合↓
|■色調変更: R200 G200 B200 / 80フレーム
|■ウェイト:120 フレーム
|■パーティ画像:パーティ全員を透明にする
|■場所移動:主人公 ▲マップID106[洞窟] X:9 Y:4 [トランジションなし]
|■イベント処理中断
|■
-◇分岐: 【2】 [ V35[回想] が 1と同じ ]の場合↓
|■色調変更: R200 G200 B200 / 80フレーム
|■ウェイト:120 フレーム
|■パーティ画像:パーティ全員を透明にする
|■場所移動:主人公 ▲マップID106[洞窟2] X:9 Y:4 [トランジションなし]
|■イベント処理中断
|■
◇分岐終了◇


移動先の洞窟の中の自動イベントの中に
変数「回想」+=1を入れておくのを忘れずに。

ウディタの設定ではマップチップの種類によって
戦闘背景を変えられる方法があるみたいですが、
マップチップ別ではなく、ダンジョン別やボス敵別に変えたい場合のやり方

通常変数「戦闘背景」を作り、
コモンイベント188X◆戦闘処理の上の方のBGM停止の次くらいに
条件分岐を使い、
haikeis2.png
戦闘背景=1の時は森、2の時は洞窟など
表示したい背景画像をピクチャ表示で入れておきます。

後はマップイベントのバトル直前に
変数操作で戦闘背景=1など、表示したい背景の番号を入れておけばOK。
コピペすればいくつでも背景を設定できます。
haikei3.png

背景画像を消す処理は、コモン180X[戦]バックグラウンド描画の
下の方「背景の消去」と「背景の表示」の間くらいに
|■ピクチャ消去:1001 / 3(0)フレーム
と入れておけば戦闘終了と同時に消えてくれます。

ウディタデフォルトでは、戦闘後のHP・SPの扱いは
全回復か何もしないの2通りしかありませんが、
例えば30%ずつ回復させたい時のやり方。
方法は2つあります。


<その1/コモンの戦闘後処理に組み込む方法>
コモン201X┗◆戦闘終了処理の57行目の
戦闘後HP・SP補正の箇所を

| | |■変数操作: CSelf11 = CSelf19[戦闘後HP・SPの扱い] / 10
| | |■変数操作: CSelf11 *= 10 + 0
| | |■変数操作: CSelf19[戦闘後HP・SPの扱い] %= 10 + 0
| | |■条件分岐(変数): 【1】CSelf19[戦闘後HP・SPの扱い] が 1のビットを満たす
| | |-◇分岐: 【1】 [ CSelf19[戦闘後HP・SPの扱い] が 1のビットを満たす ]の場合↓
| | | |■DB読込(可変): CSelf40[一時HP] = 可変DB[×主人公一時DB:CSelf20[対象ID]:[一時]計算済みMaxHP]
| | | |■変数操作: CSelf40[一時HP] /= 100 / CSelf11
| | | |■可変DB書込:DB[主人公ステータス:CSelf20[対象ID]:HP] 下限 CSelf40[一時HP]
| | | |■
| | |◇分岐終了◇
| | |■条件分岐(変数): 【1】CSelf19[戦闘後HP・SPの扱い] が 2のビットを満たす
| | |-◇分岐: 【1】 [ CSelf19[戦闘後HP・SPの扱い] が 2のビットを満たす ]の場合↓
| | | |■DB読込(可変): CSelf41[一時SP] = 可変DB[×主人公一時DB:CSelf20[対象ID]:[一時]計算済みMaxSP]
| | | |■変数操作: CSelf41[一時SP] /= 100 / CSelf11
| | | |■可変DB書込:DB[主人公ステータス:CSelf20[対象ID]:SP] 下限 CSelf41[一時SP]
| | | |■
| | |◇分岐終了◇


に書き換えます。元のやつは消して下さい。
次にユーザデータベース17の20「戦闘後のHP・SPの扱い」の
プルダウンメニューを変更します。
タイプの内容設定ボタンを押し→項目名20の「▼特」ボタンを押す
するとデータ内容の編集画面が出てきますので、
hpsp.png
オレンジの部分を下記のように編集します。

[0]:<何もしない>
[31]:HP30%回復・SPそのまま
[32]:HPそのまま・SP30%回復
[33]:HP・SP共に30%回復
[101]:HP全快・SPそのまま
[102]:HPそのまま・SP全快
[103]:HP・SP共に全快


これで戦闘後に自動でHP・SPが30%回復するようにできます。
この方法では逃走の場合も回復しますが、
勝利時のみ回復させたい場合は、次の方法をどうぞ。


<敵シンボルに割合回復を組み込む方法>
そのままですが、敵シンボルイベントの中に、
条件分岐で勝利時のみ現HP・SPを取得し1/3にして
その数値をダメージ処理で回復させる処理を入れます。

■DB読込(可変): このEvのセルフ変数1 = 可変DB[主人公ステータス:1:7](キャラ1:最大HP)
■変数操作: このEvのセルフ変数2 = このEvのセルフ変数1 / 3
■イベントの挿入: コモン4:[ ○回復・ダメージ処理 ] / 1:HPの回復・減少 / 1:キャラ1 / このEvのセルフ変数2
■DB読込(可変): このEvのセルフ変数1 = 可変DB[主人公ステータス:1:9](キャラ1:最大SP)
■変数操作: このEvのセルフ変数2 = このEvのセルフ変数1 / 3
■イベントの挿入: コモン4:[ ○回復・ダメージ処理 ] / 2:SPの回復・減少 / 1:キャラ1 / このEvのセルフ変数2


1行目の設定
hpsp3.jpg

2行目
hpsp2.jpg

ダメージ処理の何ポイント?には1100002と入れます。
キャラ一人につきこの6行セットが必要なので
コピペでパーティ人数分作り、中身の対象キャラを変更します。

(方法その1の情報提供/byユウさん)

こういう感じに入ります
ScreenShot_2018_0325_08_19_31.jpg

<やり方>
可変データベース6パーティ情報を選択し
「タイプ内容設定」ボタンを押します。
項目名7で「文字列」を選択し、「現在地」と入力→OK

コモン094X[移]セーブ・ロード画面描画262行目の紫文字を
コピーして294行目に貼り付け、中身をこのように変更します。
■セーブデータの内容読込:CSelf6[付与文字列] = セーブデータ[CSelf50[注目セーブ番号]]の可変DB(6,0,7)[メイン設定 現在地]
まp2

次に282~295行目をコピーして、さっきコピペした紫文字の下(295行目)に貼り付けます。
貼り付けたら一番上の一行目を
■変数操作:CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 69
に変更。3行下のオレンジ文字のシフトYを18に変更。
(このオレンジ文字でマップ名表示位置が変えられるので調節してください)

次に256行目に下記コマンドを入れる。
■変数操作: CSelf21[一時ピクチャ番号] = CSelf20[基本ピクチャ番号] + 69
■変数操作: CSelf21[一時ピクチャ番号] += CSelf55[セーブ1セットあたり使用枚数] * CSelf43[処理中個数]
■ピクチャ[ディレイ内容リセット]:CSelf21[一時ピクチャ番号]
■ピクチャ消去:CSelf21[一時ピクチャ番号] / 0(0)フレーム


さっきコピペした中に似た感じのコマンド文があるので、
それをコピペ再利用してもOKです。中身をピクチャ表示→消去に変更して下さい。

あとはマップ名が切り替わる移動イベントの中に
DB操作でマップ名を入れます
まp

するとセーブデータ欄にマップ名が表示されるようになります

(やり方考案/byユウさん)