【ウディタ解説】いろんな戦績を記録してみる③【改造】

3回目の戦績記録よ。未読の方は前回、前々回から読んでね。

こんにちは、レビニアよ。今回は基本システムを改造して戦績を記録してみるわ。 とりあえず記録する戦績は↓よ(項目はまた後で増やすかもしれないわ)。 総戦闘回数 戦闘勝利...
前回に続いて、基本システムを改造した戦績の記録を解説するわ。前回投稿で説明した知識も必要になるから、未読の方はまずは前回から読んで頂戴。 そして今回追加する戦績だけど...

そして今回追加する戦歴項目は↓。

  • 最大与ダメージ
  • 最大被ダメージ
  • 敵撃破数

今までの戦闘で最も大きい与えたダメージ&受けたダメージと、撃破してきた敵の累計数を記録するということね。

戦績格納用の可変DBに項目を追加


今回も戦歴用の可変DBに項目を追加するわ。


→項目7:項目名「最大与ダメージ」、設定方法「変数」、初期値「0」
→項目8:項目名「最大被ダメージ」、設定方法「変数」、初期値「0」
→項目9:項目名「敵撃破数」、設定方法「変数」、初期値「0」

可変DBの設定はこれでOKよ。

コモンイベントを改造して戦績を記録する

コモンの改造に入るけど、まず最大ダメージの記録はこれ↓。


135-X[戦]パラメータ増減」を改造するのよ。戦闘中の敵味方のパラメータを増減させているコモンね。例によって改造はコピーしたコモンで行うわ。

ダメージの値はセルフ変数2番「増減値」に格納されているのだけど、ダメージの場合はマイナスの数値、逆に回復の場合は整数になるの。


記録を取るのはダメージ(マイナスの場合)だけだから、まずは値が負か判別する条件分岐を作る必要があるわね。以下のように入力して頂戴。
→条件分岐:セルフ変数2番が0未満


次はマイナスのダメージ値を整数に変換しましょう。変換用のセルフ変数を新たに追加して……。
→セルフ変数20番に「戦歴記録用」と名前を付ける


このセルフ変数20番に負の値を整数へ変換して格納するわ。「絶対値」という演算子を使うのよ。
→変数操作:セルフ変数20番にセルフ変数2番の絶対値を入力

次にするのは「このダメージ値が与ダメと被ダメのどちらか」の判別よ。セルフ変数0番「対象戦闘スロット」の値で判るわ。


戦闘スロットというのは戦闘処理で使われている可変DBのデータのことで、0~5が味方スタータスで10~16が敵ステータス用のスロットになるの。

※「味方1~4ステータス」までしか名前がついていないけど、基本システムの味方最大数は6人だから0~5で合っているわ。

つまり「対象スロットが5以下=味方へのダメージ」で「対象スロットが10以上=敵へのダメージ」だから、


セルフ変数0番(対象スロット)が5以下が被ダメージで10~16だと与ダメージということね。条件分岐を入力しましょう。
→条件分岐:「セルフ変数0番が5以下、セルフ変数が10以上」を入力

後はこの2つの分岐にそれぞれ可変DB書込を追加すればいいのだけど、記録するのは「今まで最大の値」だから、またまた条件分岐が必要になるわ。条件分岐の入れ子で混乱しそうだけど集中してね。


まずは最大被ダメージ。「セルフ変数0番が5以下」の分岐に、発生したダメージ値が可変DBの値より大きい場合のみ記録するよう、条件分岐とDB書込を追加するわ。
→条件分岐:「セルフ変数20番が可変DB「戦歴」の最大被ダメージより大きい」を入力
→可変DB書込:戦績の最大被ダメージにセルフ変数20番を格納する

※条件分岐の右辺に可変DBを指定するには「数値」を選択して変数呼び出し値を入力して頂戴。今回なら「1121000008」になるわ。


「セルフ変数0番が10以上」の分岐は与ダメージだったわね。同じように条件分岐とDB書込を入力しましょう。
→条件分岐:「セルフ変数20番が可変DB「戦歴」の最大与ダメージより大きい」を入力
→可変DB書込:戦績の最大与ダメージにセルフ変数20番を格納する

最大与ダメージと被ダメージの記録はこれでOKよ。後は敵撃破数の記録ね。


改造対象コモンは「171-X[戦]敵撃破処理」。このコモンで撃破数がカウントできるわ。

入力設定を見ればわかるけど、このコモンはセルフ変数1番「処理モード」で処理が分岐しているの。セルフ変数1番が0が敵撃破、1だと逃走になっているわ。


ということは撃破数をカウントするのは「セルフ変数1番が0と同じ」の分岐になるわね(23行目あたり)。ここにDB書込を追加するだけでOKよ。
→可変DB書込:戦績の敵撃破数+1を入力

コモンの改造は以上よ。それじゃ確認してみましょう。

最大ダメージと敵撃破数が記録されているか確認する


確認はいつもどおり文章表示で行うわ。


初期値はもちろん全て0。それじゃ戦闘してみましょう。


与ダメージが30、被ダメージが7ね。とりあえず撃破はせず逃走して確認してみるわ。


ちゃんと記録されているようね。

次は「ダメージと回復が判別されているか」を検証しましょう。


ヒールで味方を回復。ダメージ(増減値がマイナス)しか記録されないよう設定したはずだから、


被ダメージは7のままが正解。大丈夫そうね。

次は「最大ダメージのみ記録されているか」と「撃破数のカウント」を同時に検証するわ。


与ダメージが28、被ダメージが6。いずれも前回の戦闘より小さい値ね。


ついでにそのまま撃破してしまいましょう。結果は……。


成功! 与ダメージ被ダメージともに変化なしね。撃破数もちゃんとカウントされているわ。


そのまま何度か戦闘をしてゲームを進行して……。


大丈夫そうね。与ダメ被ダメはちゃんと更新されているし、敵撃破数も加算されて増えているわ。

これで最大ダメージと敵撃破数を記録する改造の解説は以上よ。お疲れ様でした。

※次回で追加するのは多分「総プレイ時間」や「総歩数」になるかしら(「戦績」ではないかもしれないけど)。