コモンイベント[070:X[移]パラメータ増減]の解説
セルフ変数の一覧


セルフ変数
番号 名前 使用内容
0 主人公ID 処理対象の主人公ID(可変DB[0:主人公ステータス]データID)を設定。
1 対象パラメータ 操作するパラメータを設定。
10 レベル
11 経験値
20 最大HP
21 最大SP
22 HP
23 SP
30 攻撃力
31 防御力
32 精神攻撃
33 精神防御
34 敏捷性
35 命中率
36 回避率
37 クリティカル率
100 一時値再計算
100:一時値再計算」は可変DB[17:×主人公一時DB]の更新を行います。
2 増減値 セルフ[1:対象パラメータ]で設定したパラメータの増減値を設定。
3 メッセージ有り? パラメータの変更内容をメッセージウィンドウで表示するかどうかを設定。
0 表示しない
1 表示する
7 一時文字列 レベルアップ時の「攻撃力 +3」の「+」の文字を設定する時に使用。
「攻撃力 -3」などの「−」の表記に関しては、
数値がマイナス値の場合は自動的に「−」が付くので、
マイナスの場合はこのセルフ[7]には何も文字を設定しません。
レベルアップ時に習得した特殊技能の名前の一覧を保存する時に使用。
ユーザーDB[15:用語設定]項目[17:[ステータス]経験値の名前]から
経験値の名称を取得する時に使用。
他のパラメータの名称はセルフ[8]で取得。
最大HPや攻撃力などのパラメータの増減処理にて、
処理対象の主人公の名前を可変DB[0:主人公ステータス]から取得。
8 パラメータ名 ユーザーDB[15:用語設定]からパラメータの名称を取得する時に使用。
レベルや経験値の増減処理にて、
処理対象の主人公の名前を可変DB[0:主人公ステータス]から取得。
レベルアップ時に習得した特殊技能の名前の一覧を保存するセルフ[7]から
特殊技能の名前を1行ずつ切り出す時に使用。
9 表示メッセージ文 セルフ[7]セルフ[8]の文字列を読み込み、
実際にゲーム画面上に表示する文字列を作成する時に使用。
10 一時変数A ユーザーDB可変DBの値を取得&設定する時に使用。
全滅判定の処理では、
パーティの何番目の主人公IDを呼び出すのかを指定する時に使用したり、
ゲームオーバー用のコモンイベントIDを取得する時にも使用。
経験値の増減処理では、現在の経験値を保存し、セルフ[11]に保存された
レベルアップとなる経験値を超えているかどうかを確認する時に使用。
このセルフ[10]コモンイベント[070:X[移]パラメータ増減]の中では
特殊な使い方をしているため、イベントを追加する際は注意してください。
※詳しくは下記の「★セルフ変数[10]に関する注意点」をご覧ください。
11 一時変数B 現在のHPやSPの取得、レベルの増減表示にて絶対値にする時、
習得した特殊技能の数の取得などで使用。
全滅判定の処理では、
指定したパーティの並び順にいた主人公IDを取得する時に使用。
経験値の増減処理では、レベルアップに必要な残り経験値の保存に使用し、
セルフ[10]と比較してレベルアップしたかどうかを判断する時に使用。
12 一時変数C 全滅判定の処理にて、戦闘不能のチェックに使用。
レベルアップ時に習得した特殊技能の名前を画面上に表示する際、
【文章の表示】で表示すると4行までしか表示する事ができないため、
特殊技能の名前を表示した数をセルフ[12]でカウントし、
4個表示したら一度【文章の表示】で表示するように処理します。
経験値の増減処理では、レベルの上限に達していて、
これ以上レベルが上がらない状態、またはレベルが「1」で、
これ以上レベルが下がらない状態であるかどうかを調べる時に使います。
13 一時変数D 経験値の増減処理にて、
レベルの変動が合計100回になるごとにウェイトを実行。
これは「◆1フレームあたりの処理が500万回を越えました!」のエラーが
発生しないようにするための処置です。
なお、セルフ[13]の値は初期化されないので、値が「99」になっていて、
次の処理でレベルアップが1回だけ実行されても、ウェイトは実行されます。
19 PT人数 可変DB[18:基本システム用変数]データ[4:現在パーティー人数]を取得。
20 変化したレベル レベルアップの処理にて、レベルの増減を行った際、
レベルに変動があったかどうかを調べる時に使用。
レベルの変動が無い場合は、レベルアップの処理を終了させる。
1 レベルアップあり
-1 レベルダウンあり
0 レベルの変動なし(処理終了)
30 入力一時退避1 レベルや経験値の増減処理の前にセルフ[0]の値をコピー。
レベルを操作する時には、
コモンイベント[074:X[移]レベルアップ処理]を呼び出しますが、
このコモン[074]からコモン[070]を呼び出す処理があり、
コモン[074]からコモン[070]を呼び出す時にセルフ[0〜3]の値が変更します。
そのため「コモン[070]コモン[074]コモン[070]」と呼び出し、
コモン[070]コモン[074]コモン[070]」と処理が戻って来た時に、
最初にあったセルフ[0〜3]の値に戻す時にセルフ[30〜33]を使用します。
31 入力一時退避2 レベルや経験値の増減処理の前にセルフ[1]の値をコピー。
32 入力一時退避3 レベルや経験値の増減処理の前にセルフ[2]の値をコピー。
33 入力一時退避4 レベルや経験値の増減処理の前にセルフ[3]の値をコピー。
40 能力限界値 ユーザーDB[17:システム設定]項目[2:能力限界値]を取得。
初期値は「999」であり、これが攻撃力や防御力の最大増加値となる。
41 最大HP・SP限界値 ユーザーDB[17:システム設定]項目[1:最大HP・SP限界値]を取得。
初期値は「999」であり、これが最大HPや最大SPの最大増加値となる。
43 戦闘不能の扱い ユーザーDB[17:システム設定]項目[21:移動時の戦闘不能の扱い]を取得。
これはHPが「0」となった時に、戦闘不能状態にするのか、
HPを「1」にして戦闘不能にしないのかを処理する時に使用。
0 「HP0=戦闘不能」にする
1 HPの下限を「1」にする



★セルフ変数[10]に関する注意点

コモンイベント[070:X[移]パラメータ増減]にある経験値の増加によるレベルアップの処理は…
【1】セルフ変数[10]に「現Lvの取得経験値」、セルフ変数[11]に「現Lvの必要経験値」を代入。

【2】ループ処理開始。

【3】セルフ変数[10][11]の値を比較し、レベルアップできる場合は分岐し、
   コモンイベント[074:X[移]レベルアップ処理]を呼び出す。(レベルアップできない場合はループ終了)

【4】コモンイベント[074:X[移]レベルアップ処理]からコモンイベント[070:X[移]パラメータ増減]を呼び出し、
   レベルアップによるパラメータの増減を行う。

【5】コモンイベント[070:X[移]パラメータ増減]からコモンイベント[074:X[移]レベルアップ処理]へ戻る。

【6】コモンイベント[074:X[移]レベルアップ処理]からコモンイベント[070:X[移]パラメータ増減]へ戻る。

【7】セルフ変数[11]に新たな「現Lvの必要経験値」を代入し、【2】へ戻る。
と言ったように、コモンイベント[070:X[移]パラメータ増減]二重に呼び出す特殊な構造になっています。

そのため、例えばコモンイベント[070:X[移]パラメータ増減]0行目セルフ変数[10]を「0」にする設定を置くと、
ループ処理に戻った時に正常に処理する事ができなくなります。

もしも何らかの追加設定を行う場合は、出来る限りセルフ変数[10]は使わない方が良いでしょう。


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