クリア回数を記録したり、達成ENDを記録したりする際、
別のセーブデータに書き込んで管理する方法がありますが、
例えばセーブデータ21番を記録用として書き込んだ時、
次にロードすると、カーソル位置が
最後にプレイヤーがセーブしたデータではなく
セーブデータ21になってしまっている場合があります。
そんな時の問題解決法。

<例>
END1~5を達成次第、セーブデータ21に記録する。
各END達成後はロード画面が表示される(タイトル画面には戻らない)

<作り方>
ENDイベントの直後に、下記の手続きを入れます。
・現在の最新セーブデータ(カーソル位置)が何番かを調べ、Self9に入力
・次にセーブデータ21の通常変数に書き込みたいデータを書き込み、
・最後に最新セーブデータの通常変数にも同じ書き込みをする

■変数操作: このEvのセルフ変数9 = Sys25:現在セーブデータ番号(0~) + 0
えんd1

■セーブデータに書き込み:セーブデータ[21]の V2-3[END1] = 1
えんd2

■セーブデータに書き込み:セーブデータ[このEvのセルフ変数9]の V2-3[END1] = 1

えんd4

セーブデータ21に書き込んだ後、最新セーブデータに書き込んでいるので
カーソル位置は、プレイヤーが最後にセーブした箇所のままになります。
(正式セーブではなく、変数データ単独の書き込みなので、
プレイヤーの位置が変わったり、他データの変化はありません)

END達成後、ロード画面が表示されるタイプでは、
上記のコマンドが入ってないとエラーが出ますが、
END達成後、タイトル画面に戻ってやり直すタイプでは
セーブデータ21への書き込みコマンドのみでも
問題なく動作できる場合もあります。

ウディタデフォルトのマップでの毒ダメージは
1歩ごとに1ダメージ以上でしか設定できないため
少し歩くとすぐにHPが減ってあっという間に死んでしまいます。
なので5歩ごとや10歩ごとにダメージを食らう設定にする方法。
今回は10歩ごとにUDB状態異常で設定した毒ダメージを
1回分食らう設定で作ってみます。

通常変数「hpカウンタ」を作り、コモン076X[移]状態更新の36行目に
■変数操作: CSelf1[hpカウンタ] += 1 + 0
■条件分岐(変数): 【1】CSelf1[hpカウンタ] が 20以上
-◇分岐: 【1】 [ CSelf1[hpカウンタ] が 20以上 ]の場合↓
■可変DB書込:DB[主人公ステータス:CSelf20[処理中キャラID]:HP] += CSelf24[一歩のHP自然変動値]
■可変DB書込:DB[主人公ステータス:CSelf20[処理中キャラID]:HP] 上限 CSelf32[最大HP]
■可変DB書込:DB[主人公ステータス:CSelf20[処理中キャラID]:HP] 下限 0
■変数操作: CSelf13 = -2 - CSelf21[処理中順番]
■変数操作: CSelf1[hpカウンタ] = 0 + 0

◇分岐終了◇


と入れます(デフォルトの半歩移動で計算して20歩ごとのダメージにしています)
これで毒状態の時に、マップで歩くと10歩ごとに毒ダメージを食らうようになりました。
ただこの設定だけだと画面演出がないため、毒ダメージ感がありません。
毒ダメージ演出はお好みで■変数操作: CSelf1[hpカウンタ] = 0 + 0
の下に加えてもらえばOKですが、ここでは2通りの演出を挙げてみます。

<その1/画面が赤くフラッシュ+ダメージ音>
変数「動作指定対象」を作り、
■変数操作:CSelf13[動作指定対象] = -2 - CSelf21[処理中順番]
■イベントの挿入:コモン49:[X[共]システムSE再生] / 51:ダメージ音
■キャラエフェクト:キャラ[CSelf13[動作指定対象]][フラッシュ] R0/G-250/B0 (20)フレーム


<その2/ダメージ数をポップアップさせる>
変数「動作指定対象」を作り、
■変数操作:CSelf13[動作指定対象] = -2 - CSelf21[処理中順番]
■変数操作+: CSelf2 = キャラ[CSelf13] の 画面X座標
■変数操作+: CSelf3 = キャラ[CSelf13] の 画面Y座標
■変数操作: CSelf24[一歩のHP自然変動値] 絶対値= CSelf24[一歩のHP自然変動値] + 0
■イベントの挿入: コモン96:[ X[移]ダメージ・回復ポップアップ ] / CSelf2 / CSelf3 / CSelf24[一歩のHP自然変動値] / 0:HPダメージ


<注意>
パーティ人数が多く、複数人毒にかかってたりすると
上記毒演出がメンバー毎に発動されるので、移動中やかましくなったり
ポップアップで画面が見えにくくなったりするので
パーティ人数が多い場合は派手な毒演出はあまりおすすめしません。


◆毒ダメージ軽減案&ポップアップ法/情報提供byユウさん

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

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

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

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

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

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

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

戦闘画面の敵グラの位置をもう少し下にズラしたいな~
という場合の調整方法について、少し前に解説しましたが
ダメージ数字やメッセージが同じ場所にかぶって表示され
すごく見にくくなるという不具合を発見したので、
かぶらずに敵グラのみを少し下に表示するやり方を再掲します。

それと前回言い忘れてましたが、あまなつは
敵グラを原寸表示するコモンイベント(木犀様作)を常用していますので
原寸表示用のやり方の解説になります(デフォルトでは動作不確定です)

デフォルト表示の位置。
ScreenShot_2017_0803_02_27_19.png

調整後
ScreenShot_2017_0803_02_28_18.png
前回はHPバーも一緒に下にズレてきたため
見にくいことになってましたが、今回はHPバーの位置はそのままです。

<やり方>
変数「敵表示Y座標」を作り
コモン179のX[戦]敵キャラ_単体描画の138行目あたりに
条件分岐で敵表示Y座標=1の時、20ほど下にズラす設定を入れます
zrs.png
ピンク字のようにコピペして、+=20に変更。
(数字はお好みで変えてください。大きいほど下にいきます)

ボス戦の直前に変数操作で敵表示Y座標=1を入れ、
バトル終了直後に0に戻せば、
普段のザコ戦では通常通りの位置に表示、
ボスなどの大きい画像のみ、少し下に表示できます。

前回のやり方で、コモンをいじってしまった人は
申し訳ないですが、付け足した部分を消去してください。
コモン175のX[戦]敵キャラ_座標算出の一番下の
■条件分岐(変数): 【1】V27[敵表示Y座標] が 10と同じ
-◇分岐: 【1】 [ V27[敵表示Y座標] が 10と同じ ]の場合↓
|■可変DB書込:DB[基本システム用変数:38:0](ステータス欄表示先 座標Y:数値) = 150
|■
◇分岐終了◇

の部分を削除すればOKです。