WOLF RPGエディター(ウディタ)[3.337]/基本システム【サイトトップへ戻る】
■コモンイベント[119:X[移]技能使用効果処理]の解説
(更新:2024/05/18)


コモンイベント[119:X[移]技能使用効果処理]について解説します。


ショートカット
■コモンイベント[119:X[移]技能使用効果処理]って何?
■こうゆう時にこのコモンイベントを改造する
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説

基本システムに関する説明は別ページに記載しています。
【基本システムに関する説明ページを見る】

コモンイベントの一覧と補足説明のページも用意しています。
【コモンイベントの一覧と補足説明のページを開く】


  
■コモンイベント[119:X[移]技能使用効果処理]って何?

コモンイベント[119:X[移]技能使用効果処理]は、移動時にメニュー画面から特殊技能を使う際、
「誰に使うのか」を選択する画面で、決定キーを押したあとの回復処理などを行います。

▼この画面で決定キーを押したあとの処理を実行します。


「誰に使うのか」を選択する処理は、このコモンイベント[119:X[移]技能使用効果処理]から呼び出した
コモンイベント[108:X[移]キャラクター欄_選択実行]の中で行い、
選択した主人公の情報をコモンイベント[119:X[移]技能使用効果処理]が受け取って、回復処理を行います。



またこのコモンイベント[119:X[移]技能使用効果処理]では、
イベントを起動する技能の実行やアイテム使用による技能発動の処理も行います。



なお、HP回復の技能発動が発動するアイテム(アイテム[22:ヒールの巻物]など)をメニュー画面のアイテムから使用すると、
戦闘不能になっていない主人公の中で、回復量が最も多くなる主人公がアイテムを使用します。


▲トップへ戻る▲


  
■こうゆう時にこのコモンイベントを改造する

以下のような改造を行いたい時にこのコモンイベントを改造します。

◆「味方一人」や「自分自身」などの効果対象の設定を増やしたい。

◆HPの回復量などの計算処理を変えたい。

◆全回復している主人公には回復の技能が使えないようにしたい。
【全回復の主人公には無駄に回復を使用しないのページを開く】


▲トップへ戻る▲


  
■[入力の数/結果を返す]について

コモンイベント[119:X[移]技能使用効果処理][入力の数/結果を返す]の設定は、
基本システムが必要に応じて自動的に行いますので、基本システムの利用者は何も設定する必要はありません。

▼数値1/コモンセルフ0「技能コード」

技能ID(ユーザーDB[0:技能]データID)を設定。
▼数値2/コモンセルフ1「発動者ID」

技能を使用する主人公ID(可変DB[0:主人公ステータス]データID)を設定。
アイテム使用による技能発動の場合は「-1」を設定。
▼数値3/コモンセルフ2「アイテム経由?」

アイテム使用による技能発動の場合は、使用したアイテムコードを設定。
設定値 処理内容
-1 特殊技能から技能を使用。
10000〜19999 ユーザーDB[2:アイテム]データID+10000
20000〜29999 ユーザーDB[3:武器]データID+20000
30000〜39999 ユーザーDB[4:防具]データID+30000
▼結果を返す「使用した?」(セルフ変数[99:使用した?])

技能を使用した場合は呼び出し元のコモンイベントに「1」を返します。


▲トップへ戻る▲


  
■コモンイベント呼び出しの一覧

コモンイベント[119:X[移]技能使用効果処理]を呼び出しているコモンイベント、
またはコモンイベント[119:X[移]技能使用効果処理]から呼び出しているコモンイベントの一覧です。

コモンイベント[119:X[移]技能使用効果処理]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
118:X[移]アイテム使用効果処理 アイテム使用で技能を発動した場合、呼び出されます。
129:X┣[移]技能欄実行 メニュー画面の特殊技能を選択する画面で技能を選択したあとに呼び出されます。

コモンイベント[119:X[移]技能使用効果処理]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
049:X[共]システムSE再生 SEの演奏で使用。
070:X[移]パラメータ増減 HPやSPを回復させる時に使用。
075:X[移]状態付与/消去 状態変化を変える時に使用。
090:X[移]キャラクター欄描画 主人公のステータス画面の表示に関する処理を実行。
092:X[移]キャラ欄_全員描画 主人公全員のステータス画面の表示を更新する時に使用。
097:X[移]指定キャラHP/SP回復表示 回復量の数字を表示する時に使用。
098:X[移]指定キャラ状態付与表示 ステータス画面に表示される状態変化の表示を更新する時に使用。
100:X[移]ミニウィンドウ表示 画面左下に表示される補足説明用のウィンドウを表示。
101:X[移]メニュー時文章表示 「自分以外の味方一人」の技能を自分自身に使用しようとした時に表示される
「自分自身には使用できません。」の文章を表示する時に使用。
105:X[移]選択位置主人公ID取得 パーティの並び順(可変DB[6:パーティー情報]項目[1〜6])から
主人公ID(可変DB[0:主人公ステータス]データID)を取得。
108:X[移]キャラクター欄_選択実行 技能を使用する主人公を選択する処理を実行。
121:X[移]技能使用_消費処理 技能使用時に消費するものを減らす処理を実行。
122:X[移]一時ステ計算<初期化> 可変DB[17:×主人公一時DB]可変DB[0:主人公ステータス]の値をコピー。
123:X[移]一時ステ計算<装備補正> 装備による能力値の増減を可変DB[17:×主人公一時DB]に設定。
124:X[移]一時ステ計算<状態補正> 状態異常による能力値の増減を可変DB[17:×主人公一時DB]に設定。

【コモンイベント呼び出しの一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[119:X[移]技能使用効果処理]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 技能コード 技能IDを設定。
1 発動者ID 技能を使用する主人公IDを設定。
アイテム使用による技能発動の場合は「-1」を設定。
2 アイテム経由?
(アイテムコード)
アイテム使用による技能発動の場合は、使用したアイテムコードを設定。
設定値 処理内容
-1 特殊技能から技能を使用。
10000〜19999 ユーザーDB[2:アイテム]データID+10000
20000〜29999 ユーザーDB[3:武器]データID+20000
30000〜39999 ユーザーDB[4:防具]データID+30000
5 *名前なし* 【イベントの挿入】に設定されていますが、特に意味が無い設定のため、
「使用されていない」と言って良いでしょう。
6 技能名 ユーザーDB[0:技能]項目[0:技能の名前]に設定されている技能名を設定。
9 表示文字列 「自分自身には使用できません。」の文字列を
コモンイベント[101:X[移]メニュー時文章表示]に渡す時に使用。
ユーザーDB[1:┗ アニメーション]項目[9:再生効果音]に設定されている
SEのファイルアドレスを取得する時に使用。
10 一時変数 【キー入力】で押されたキーコード(決定[10]、キャンセル[11])を取得したり、
データベースの値を取得する時に使用。
11 ターゲット 技能を使用する主人公のパーティの並び順(0〜5)を設定。
12 一時変数2 データベースの値や【イベントの挿入】を取得する時に使用。
13 次回使用可能フラグ 状態変化を付与、または回復させる時に、
その状態のID(ユーザーDB[8:状態設定]データID)を取得。
コモンイベント[121:X[移]技能使用_消費処理]にてHPやSPを消費したあとに、
まだ1回以上技能を使う事ができる場合は「1」を取得。
14 対象ID パーティの並び順(0〜5)から主人公IDを取得する時に使用。
15 発動者ID セルフ[1:発動者ID]の値をコピーし、回復量の計算で使用。
16 単体(1)or全体(2) 技能の効果範囲が単体の場合は「1」、全体の場合は「2」
17 移動中OK? ユーザーDB[8:状態設定]項目[7:種別(戦or移動中)])の値を取得し、
移動中に使用できるかどうかを調べる時に使用。
18 繰り返し回数 可変DB[18:基本システム用変数]データ[51:システム上最大パーティー人数]を取得し、
【回数付きループ】に設定し、
技能を使用した主人公IDからパーティの並び位置(0〜5)を調べる時に使用。
20 対象キャラ位置[Ver2.28] 回復系の技能が発動するアイテムを使用する際、
誰がそのアイテムを使用するのかを決定する処理の中で、
コモンイベント[105:X[移]選択位置主人公ID取得]
パーティの並び位置(0〜5)を指定する時に使用。
21 最大効果量[Ver2.28] 回復系の技能が発動するアイテムを使用する際、
誰がそのアイテムを使用するのかを決定する処理の中で、
現在最も回復量が多くなる主人公の回復量を設定。
27 対象ID 「自分以外の味方一人」で主人公を選択した際、選択した主人公の主人公IDを設定し、
自分自身に技能を使おうとしているのかどうかを調べる時に使用。
29 ターゲットタイプ ユーザーDB[0:技能]項目[2:┏ 効果対象]を取得。
-1 メッセージのみ
0 味方一人[回復]
1 自分自身のみ[回復]
2 味方全員[回復]
3 味方一人ランダム
4 自分以外の味方一人
10-12 効果対象が敵キャラ
100 イベント呼出[マップのみ]
101 イベント呼出[バトルのみ]
30 技能番号 セルフ[0]の値をコピーし、ユーザーDB[0:技能]データIDとして使用。
32 技能TMP1 ユーザーDB[0:技能]項目[8:┏ 何に影響する?]を取得。
33 技能TMP2 ユーザーDB[0:技能]項目[10:┣ 攻撃力影響度[%]]を取得し、回復量の計算で使用。
34 技能TMP3 ユーザーDB[0:技能]項目[11:┣ 精神力影響度[%]]を取得し、回復量の計算で使用。
35 結果値 回復量を設定。
37 最大パーティ人数 可変DB[18:基本システム用変数]データ[51:システム上最大パーティー人数]を取得。
38 ランダム上限% ユーザーDB[0:技能]項目[12:┗ ダメージ分散率± [%]]のパーセントの最大値を設定。
例えば項目[12:┗ ダメージ分散率± [%]]の値が「20」だった場合は、
このセルフ[38]には「120」を設定。
39 ランダム下限% ユーザーDB[0:技能]項目[12:┗ ダメージ分散率± [%]]のパーセントの最小値を設定。
例えば項目[12:┗ ダメージ分散率± [%]]の値が「20」だった場合は、
このセルフ[39]には「80」を設定。
99 使用した? [結果を返す]で使用。
技能を使用したら「1」を設定。

【変数の一覧を別ウィンドウで表示】


▲トップへ戻る▲


  
■イベントコマンドの解説

イベントコマンドの解説を行います。

なお、見た目で設定内容が分かるような簡単なイベントコマンドの解説は省略しています。

処理内容
11 可変DB[18:基本システム用変数]データ[51:システム上最大パーティー人数]セルフ[37]に取得し、
242行目【回数付きループ】で使用。
13 ●ラベル地点「使用処理2」 <<<<<<<<<<<<<<<<<<<<<<<<★
技能を使用し、もう一度技能が使える場合は、390行目からここへジャンプしてくる。
14-17 変数の値を初期化し、ユーザーDB[0:技能]項目[6:使用可能シーン]セルフ[12]に取得。
18-24 「特殊技能→技能選択」で実行している場合は分岐し、画面左下の補足説明を表示する。
25-175 ユーザーDB[0:技能]項目[6:使用可能シーン]が「マップ」の場合は分岐し、
さらに効果対象ごとに分岐します。
「使用不能」や「戦闘中のみ」の場合は何も処理されず、コモンイベントの処理が終了します。
  31-34 ■条件分岐(変数): 【1】 CSelf29[ターゲットタイプ] が 100 と同じ
イベント発動の場合は、411行目ラベル「イベント起動処理」へジャンプ。
  39-75 ■条件分岐(変数): 【1】 CSelf29[ターゲットタイプ] が 1 と同じ
効果対象(セルフ[29])が「自分自身」の場合は分岐。
    42-45 ■条件分岐(変数): 【1】 CSelf1[発動者ID] が -1 と同じ
アイテム使用の場合は分岐し、効果対象(セルフ[29])を「味方一人」に変更。
    47-73 ◇分岐: 【2】 [ CSelf1[発動者ID] が 0 以上 ]の場合↓
「自分自身」の主人公IDが設定されている場合は分岐。
      48-49 ▼ 発動者がいる場合は固定
セルフ[16]に「0」を設定し、指定した一人だけが回復するようにします。
      50-62 ▼ 使用者の位置を算出
主人公IDからパーティの並び順(0〜5)を調べ、その並び順をセルフ[11]に設定。
      63-71 ■イベントの挿入[名]:["X[移]キャラクター欄描画"] <コモンEv 90> /
           1:カーソルON(対象位置 位置-1なら全部) / CSelf11[ターゲット] / -1
技能発動者のステータス画面を点滅させ、
決定キーが押されたら178行目ラベル「使用処理実行」へジャンプ。
キャンセルキーが押されたら425行目ラベル「終了処理」へジャンプ。
  76-88 ■条件分岐(変数): 【1】 CSelf29[ターゲットタイプ] が 0 と同じ
効果対象(セルフ[29])が「味方一人」の場合は分岐。
    78-88 ▼ 0=味方一人
▼ キャラ一覧を表示して選択させる
コモンイベント[108:X[移]キャラクター欄_選択実行]で主人公を選択した場合は、
178行目ラベル「使用処理実行」へジャンプ。
キャンセルキーが押されたら425行目ラベル「終了処理」へジャンプ。
  76-88 ◇分岐: 【2】 [ CSelf29[ターゲットタイプ] が 2 と同じ ]の場合↓
効果対象(セルフ[29])が「味方全員」の場合は分岐。
    91-92 ▼ 2=味方全体
セルフ[16]に「1」を設定し、パーティ全員が回復するようにします。
    93-107 ■イベントの挿入[名]:["X[移]キャラクター欄描画"] <コモンEv 90> /
           1:カーソルON(対象位置 位置-1なら全部) / CSelf11[ターゲット] / -1
全員のステータス画面を点滅させ、
決定キーが押されたら178行目ラベル「使用処理実行」へジャンプ。
キャンセルキーが押されたら425行目ラベル「終了処理」へジャンプ。
  110-137 ■条件分岐(変数): 【1】 CSelf29[ターゲットタイプ] が 3 と同じ
効果対象(セルフ[29])が「味方一人」の場合は分岐。
    112-113 ▼ 味方ランダム一人
セルフ[16]に「0」を設定し、指定した一人だけが回復するようにします。
    114-118 メニュー画面の特殊技能から技能を使用した場合は分岐し、画面左下の補足説明を表示。

アイテム使用による技能発動の場合はこの補足説明は表示しません。
    119-137 ■イベントの挿入[名]:["X[移]キャラクター欄描画"]<コモンEv 90>/4:カーソルランダムON/ -1 /0
全員のステータス画面をランダムに点滅させ、
決定キーが押されたらパーティの中から1人をターゲットとし、
178行目ラベル「使用処理実行」へジャンプ。
キャンセルキーが押されたら425行目ラベル「終了処理」へジャンプ。
  139-165 ◇分岐: 【2】 [ CSelf29[ターゲットタイプ] が 4 と同じ ]の場合↓
効果対象(セルフ[29])が「自分以外の味方一人」の場合は分岐。
    141 ●ラベル地点「自分以外の味方一人」 <<<<<<<<<<<<<<<<<<<<<<<<★
技能発動者を選択した場合は、ここへ戻ってくる。
    142 セルフ[16]に「0」を設定し、指定した一人だけが回復するようにします。
    143-165 ■イベントの挿入[名]: CSelf11[ターゲット] = ["X[移]キャラクター欄_選択実行"] <コモンEv 108> /
            CSelf11[ターゲット] / 1:決定効果音を鳴らさない
コモンイベント[108:X[移]キャラクター欄_選択実行]で主人公を選択した場合で、
技能発動者と同じ主人公を選択した場合は「自分自身には使用できません。」を表示し、
141行目ラベル「自分以外の味方一人」へ戻します。
技能発動者以外の主人公を選択した場合は、178行目ラベル「使用処理実行」へジャンプ。
キャンセルキーが押されたら425行目ラベル「終了処理」へジャンプ。
174-175 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ イベント起動処理
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
176-405 ■回数付きループ [ 0 ]回
この中では技能を使用した時のHP・SP、状態変化の操作を行います。
  177-178 ▼ 「技能」使用処理の場合はここへジャンプ
●ラベル地点「使用処理実行」 <<<<<<<<<<<<<<<<<<<<<<<<★
技能を使用する主人公が決定したら、ここへジャンプしてきます。
  179-217 ■回数付きループ [ 1 ]回
アイテム使用による回復系技能を使用する際、アイテムを使用する主人公をここで決定します。
    180 ▼ Ver2.28 移動時にアイテム「ヒールの巻物」を使っても回復しない
  (発動者-1だとうまくいかない)バグを修正
    181-215 ■条件分岐(変数): 【1】 CSelf1[発動者ID] が -1 と同じ
誰がアイテムを使うのかが決まっていない場合は分岐。
      184-213 ■回数付きループ [ CSelf37[最大パーティ人数] ]回
パーティの人数だけループし、主人公1人ずつ処理する。
        185 セルフ[20]に「加算1」を設定し、次の主人公の並び順にする。
        186-191 コモンイベント[105:X[移]選択位置主人公ID取得]を呼び出し、
パーティの並び順(セルフ[20])から主人公IDを取得し、
主人公IDが無い場合は分岐し、【ループ開始へ戻る】を実行して184行目へ戻る。
        192-197 処理中の主人公が戦闘不能であるかどうかを調べ、
戦闘不能である場合は分岐し、【ループ開始へ戻る】を実行して184行目へ戻る。
        198-205 処理中の主人公がアイテムを使用した時に、どれくらいの回復量になるのかを計算。
        206-211 ■条件分岐(変数): 【1】 CSelf35[結果値] が CSelf21[最大効果量[Ver2.28]] 超
処理中の主人公がアイテムを使用すると、最も回復量が多くなる場合は分岐。
          208 回復量をセルフ[21]に設定し、このあと処理する主人公の回復量と比較する時に使用。
          209 アイテムを使用する主人公IDをセルフ[1]に設定。
  218-219 セルフ[99]に「1」を設定し、技能発動前にステータス画面を全て更新(表示し直し)。
  220-240 ▼ ここで技能エフェクトSEを鳴らす
技能使用時のSEを演奏。
  242-370 ■回数付きループ [ CSelf37[最大パーティ人数] ]回
技能の実行を一人ずつ行っていきます。
    243-248 パーティ全員の場合は分岐し、セルフ[11]を「加算1」にして、次のターゲットにします。
一人のみの場合は、既にセルフ[11]には技能を使用する主人公の番号(パーティの並び順[0〜5])が
設定されているので、加算処理は実行しないようにします。
    249-254 ここの設定は効果対象が「味方全員」の時に使用するもので、
指定したパーティの並び順(0〜5)に主人公がいるかどうかを調べ、
居なかった場合は【ループ開始へ戻る】を実行して、次のターゲットを処理します。
    255-285 ▼ ステータス回復エフェクト
発動する技能に状態変化から回復する設定がある場合は、状態変化から回復させます。
    286-301 ▼ 回復値の計算
HP・SPの回復量を計算します。
【A】発動者の攻撃力×ユーザーDB[0:技能]項目[10:┣ 攻撃力影響度[%]]÷100
【B】発動者の精神攻撃力×ユーザーDB[0:技能]項目[11:┣ 精神力影響度[%]]÷100
【C】ユーザーDB[0:技能]項目[9:┣ 基本効果量[固定値]]
【A】【B】【C】の値を足したものが回復量となり、セルフ[35]に保存されます。
    302-310 ▼ 分散を計算
ユーザーDB[0:技能]項目[12:┗ ダメージ分散率± [%]]を取得し、
セルフ[35]の値をランダムにします。
項目[12:┗ ダメージ分散率± [%]]の値が「20」だった場合は、「80〜120%」になります。
仮にセルフ[35]の値が「100」だった場合は「80〜120」の回復量になります。
    311-326 ▼ ここでHPかSPに影響
ユーザーDB[0:技能]項目[8:┏ 何に影響する?]セルフ[32]に取得し、
セルフ[32]=0」の場合はHPを回復し、「セルフ[32]=1」の場合はSPを回復させます。
そして回復量の数字を画面上に表示。
    327-356 ▼ ステータス付与エフェクト
発動する技能に状態変化を付与する設定がある場合は、状態変化を付与します。
    357-361 技能を使用した主人公の可変DB[17:×主人公一時DB]を更新し、ステータス画面を更新。
    363-368 ■条件分岐(変数): 【1】 CSelf16[単体(1)or全体(2)] が 1 と同じ
技能の使用対象が一人だけの場合はここでループを終了させる。
  371-378 ▼ アイテム消費判定
アイテム使用で技能を発動した場合は【イベント処理の中断】を終了し、
コモンイベント[118:X[移]アイテム使用効果処理]へ「セルフ[99:使用した?]=1」で処理を戻します。
  379-385 ▼ アイテム経由で呼ばれていない場合は、発動者の消費処理
技能使用時のHP・SPの消費を処理し、まだ1回以上技能が使えるHP・SPがある場合は、
セルフ[13]に「1」を設定。
  386-401 まだ技能が使える場合は、13行目ラベル「使用処理2」へジャンプ。
もう技能が使えない場合は、画面左下の補足説明に「これ以上使用できません」を表示し、
決定キーかキャンセルキーが押されたら、
呼び出し元のコモンイベント[129:X┣[移]技能欄実行]へ戻ります。
406-408 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ イベント起動処理
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
409-420 ■回数付きループ [ 0 ]回
  410 ▼ 「イベント起動」処理の場合はここへジャンプ
  411 ●ラベル地点「イベント起動処理」 <<<<<<<<<<<<<<<<<<<<<<<<★
技能使用でイベントが起動する場合は、34行目からここへジャンプしてきます。
  412-418 技能使用時のSP消費などを実行し、指定したイベントを起動して、メニュー画面は全て閉じます。
起動するイベントは、ユーザーDB[0:技能]項目[3:(あれば)┗イベント番号指定]の値で決まります。
500000未満はマップイベントのイベントID、
500000以上はコモンイベントのイベントID+500000になります。
(コモンイベント[215]を起動する場合の設定値は「500215」)
421-423 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 終了時処理
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
424-431 ■回数付きループ [ 0 ]回
  425 ●ラベル地点「終了処理」 <<<<<<<<<<<<<<<<<<<<<<<<★
キャンセルキーを押した時に、ここへジャンプしてきます。
  426-429 キャンセル用のSEを演奏し、画面表示を消去して、イベント処理を終了させます。


▲トップへ戻る▲



◎関連ページ

◆「基本システム」って何?
┣◆コモンイベントの一覧と補足説明
┣◆メニュー画面の処理構造
┗◆戦闘処理の処理構造

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