決定キー実行イベントでは、
プレイヤーがどの方向から話しかけてくるかわかりませんが、
動作指定の関係で、どうしてもこの位置から話しかけてもらいたい!
という時、自然な感じで決まった方向から話かけてもらう方法

(例)女の子が景色を眺めている所に、後ろから主人公(プレイヤー)がやってきて
声をかけて一緒に並んで帰っていくイベント
42.png
通常だと4方向+半歩ズレた位置の、
全部で7つの位置から話しかけられる可能性があります。
これを今回は←↑からの2つの位置のみに絞ってみます。

●方法1:このマップのみ全歩移動にする
このマップへの移動イベントの中に
イベント制御→キャラ動作指定で主人公を全歩移動に設定
すると半歩の時の位置(オレンジ矢印)の可能性が消えます。
パーティが複数人の場合は仲間全員を全歩にし、
変数操作→Sys37から車間距離を詰める(-2)必要があります。
このマップを出る時に半歩に戻す&車間距離を戻すのを忘れずに

●方法2:主人公の向き取得でななめからのアプローチを無視
変数操作+の主人公向き取得で←↑の2方向からのみ
イベントが起こるように設定します。
並んで帰るための主人公の動作が少し変わりますので
それぞれの条件分岐の中で微妙に変える必要がありますが
2通りのみなのでそこまで大変ではありません。

●どうしても1方向のみに絞りたい場合
ちょっと不自然かもしれませんが、
・上記の主人公向き取得で強制的に1方向に絞る
・障害物を置いて1方向からしか話しかけられないようにする
45.png
・上記のように障害物と接触イベントを手前に置いて
接触イベントの中に会話や動作指定などを入れてしまう
などがあります。

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

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

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

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

文章が連続すると、突然選択肢が出てきた時に
誤ってエンターキー連打で押してしまうことがあります。
そんな時は選択肢の前にウェイトを入れると予防できますが、
ウェイトを入れると、事前のメッセージが消えてしまうため、
たとえばこのように説明文と一緒に表示したい時でも、
ScreenShot_2018_0328_22_18_49.png
ウェイトを入れるとこうなってしまうので↓
ScreenShot_2018_0328_22_19_08.png
あれ?左の道の先はどこだっけ?ってなりますよね。

なので、説明文も一緒に表示しつつ、
キー連打で誤って押さないための予防策としては
説明文メッセージの最後に『\!』を入れます。
\!…次のキー入力まで文章表示を停止させる
ま
これを入れておくと、説明文→キー押す→選択肢が出現(説明文そのまま)
になるので、誤って連打で押してしまうのを防げます。

ウディタデフォルトでは、戦闘後の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ユウさん)