WOLF RPGエディター(ウディタ)[3.277]/基本システム【サイトトップへ戻る】
■コモンイベント[197:X┃┗◆1行動ループ]の解説
(更新:2024/02/04)


コモンイベント[197:X┃┗◆1行動ループ]について解説します。


ショートカット
■コモンイベント[197:X┃┗◆1行動ループ]って何?
■スロットに関して
■こうゆう時にこのコモンイベントを改造する
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説

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

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


  
■コモンイベント[197:X┃┗◆1行動ループ]って何?

主人公と敵キャラが行動する度に、このコモンイベント[197:X┃┗◆1行動ループ]が呼び出されます。

このコモンイベント[197:X┃┗◆1行動ループ]では主に、敵キャラの逃走処理や連続攻撃時のループ処理、
「イベント起動」の場合のイベントの呼び出しなどを処理します。

また攻撃対象者が「カウンター(反撃)」の状態であり、攻撃実行者が連続的に攻撃する場合、
最後に一撃を与えた時にカウンターによる反撃が実行する時の、
攻撃実行者の攻撃回数をカウントする処理もこのコモンイベント[197:X┃┗◆1行動ループ]にあります。


▲トップへ戻る▲


  
■スロットに関して

このページにある「スロット」とは、可変DB[10:×┏ 戦闘一時ステータス[基]]データIDの事を言っています。

スロットの番号は、主人公の場合はパーティの並び順で一人目から「0、1、2…」と付けられ、
敵キャラの場合はユーザーDB[13:敵グループ]項目[0〜6]項目ID+10で「10、11、12…」と付けられます。

ユーザーDB[13:敵グループ]項目[0〜6](項目[3]に設定した敵キャラの場合はスロット[13]になる)


▼スロット(可変DB[10:×┏ 戦闘一時ステータス[基]]のデータID)


なお、
可変DB[11:×┣ 属性耐性計算結果]
可変DB[12:×┣ 状態耐性計算結果]
可変DB[13:×┣ 状態リスト]

の3つも可変DB[10:×┏ 戦闘一時ステータス[基]]と同じくスロットで処理しています。


▲トップへ戻る▲


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

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

◆「イベント起動」で処理した後に何らかのイベントを実行したい。

◆ターン進行中にデバッグウィンドウに表示される「●行動 発動者0 技能0 対象10」の表示を削除したい。


▲トップへ戻る▲


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

コモンイベント[197:X┃┗◆1行動ループ][入力の数/結果を返す]の設定は、
基本システムが必要に応じて自動的に行いますので、基本システムの利用者は何も設定する必要はありません。

▼数値1/コモンセルフ0「行動リスト番号」

可変DB[14:×┣ コマンド処理リスト]データIDを設定。
▼数値2/コモンセルフ1「カウンター処理?」

カウンターによる攻撃かどうかを設定。
セルフ[99]の値 内容
[0]通常 カウンターによる反撃処理では無い
[1]カウンター処理 カウンターによる反撃処理である
▼結果を返す「勝敗決定?」(セルフ変数[99:)

戦闘が終わったかどうかを呼び出し元のコモンイベントに伝えます。
セルフ[99]の値 内容
0 戦闘継続中
1 戦闘終了


▲トップへ戻る▲


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

コモンイベント[197:X┃┗◆1行動ループ]を呼び出しているコモンイベント、
またはコモンイベント[197:X┃┗◆1行動ループ]から呼び出しているコモンイベントの一覧です。

コモンイベント[197:X┃┗◆1行動ループ]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
165:X[戦]┗単体処理 カウンター攻撃(反撃)の際に呼び出されます。
192:X┃┣◆味方コマンド選択 即実行の技能を使用した際に呼び出されます。
195:X┣◆1ターンの処理を実行] 主人公と敵キャラが行動する度に呼び出されます。

コモンイベント[197:X┃┗◆1行動ループ]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
変数[CSelf12[一時変数C]]のEvページ1 技能実行やアイテム使用でイベントを起動する設定の場合、
セルフ[12]に保存されたイベントを実行。
0〜499999 マップイベントを起動
例:セルフ変数[12]=8 → マップイベント[8]の1ページ目を起動
500000〜 コモンイベントを起動
例:セルフ変数[12]=500215 → コモンイベント[215]を起動
147:X[戦]一時ステ計算<装備補正> 指定した装備部位に武器が装備されているかどうかを調べる時に使用。
164:X[戦]行動実行結果算出 技能の発動やアイテムの使用などの処理を実行。
またアニメーションの表示なども実行。
167:X[戦]カウンター実行結果算出 カウンター攻撃用として、技能の発動の処理を実行。
またアニメーションの表示なども実行。
171:X[戦]敵撃破処理 逃走した敵キャラを消す処理を実行。
172:X[戦]敵/味方・勝敗判定 勝敗の判定し、セルフ[25]にその結果を設定。
182:X[戦]戦闘メッセージ表示 「こうもりは逃げ出した!」などの表示を実行。

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


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[197:X┃┗◆1行動ループ]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 行動リスト番号 可変DB[14:×┣ コマンド処理リスト]のデータIDを設定。
1 カウンター禁止? 今回の処理がカウンターによる処理なのかどうかを設定。
[0]通常 カウンターによる反撃処理では無い
[1]カウンター処理 カウンターによる反撃処理である
8 キャラ名 行動実行者の名前を設定。
9 一時項目名 ユーザーDBから文字列を出力する時に使用したり、
こうもりは逃げ出した!」などの文字列を設定。
10 一時変数A アイテム、武器、防具のデータIDや、ユーザーDBからの出力などで使用。
11 一時変数B ユーザーDBからの出力で使用。
12 一時変数C 呼び出して実行する時のイベントIDを設定。
0〜499999 マップイベントを起動
例:セルフ変数[12]=8 → マップイベント[8]の1ページ目を起動
500000〜 コモンイベントを起動
例:セルフ変数[12]=500215 → コモンイベント[215]を起動
16 発動スロット 発動者ID(可変DB[10〜13]データID)を設定。
0〜5 発動者が主人公(可変DB[6:パーティー情報]項目[1〜6]の並び順)
10〜16 発動者が敵キャラ(ユーザーDB[13:敵グループ]項目[0〜6]の並び順)
17 技能コード 行動内容を設定。
-2 逃走(敵キャラ用)
-1 何もしない
0〜9999 技能を実行
数値はユーザーDB[0:技能]データID
10000〜19999 アイテム使用を実行
下4桁はユーザーDB[2:アイテム]データID
20000〜29999 武器をアイテムで使用を実行
下4桁はユーザーDB[3:武器]データID
30000〜39999 防具をアイテムで使用を実行
下4桁はユーザーDB[4:防具]データID
18 対象者 行動対象者の番号を設定。
-21 敵キャラ1体が対象(ランダムで決定)
-20 敵キャラ全体が対象
-11 主人公1体が対象(ランダムで決定)
-10 主人公全体が対象
0以上 可変DB[10:×┏ 戦闘一時ステータス[基]]データIDと同じキャラが対象
19 武器の有無 指定した装備部位に武器が装備しているかどうかを調べる時に使用。
1 指定した装備部位に武器の装備有り
0 指定した装備部位に武器の装備無し
20 発動回数 ユーザーDB[0:技能]項目[18:発動回数/武器の影響]を設定し、
2回攻撃などの情報を取得。
21 武器回数依存フラグ DB[0:技能]項目[18:発動回数/武器の影響]がマイナスである場合は、
セルフ[21]が「1」になります。
0 通常の攻撃処理として実行されます。
1 武器で攻撃した時の効果(毒を与える・炎属性など)を加えた状態で、
攻撃処理
22 武器位置 コモンイベント[147:X[戦]一時ステ計算<装備補正>]にて、
武器を装備しているかどうかを調べる時に、その調べる部位番号を指定する時に使用。
23 処理済み対象 値の設定のみであり、使用用途不明。
25 勝敗判定 コモンイベント[172:X[戦]敵/味方・勝敗判定]の判定結果を取得し、
戦闘が終了したかどうかを調べる時に使用。
-1 敵側が勝利
0 まだ戦闘は終わっていない
1 主人公側が勝利
27 効果対象 ユーザーDB[0:技能]項目[2:┏ 効果対象]の値を取得し、
イベント起動を実行するかどうかを調べる時に使用。
29 最後の武器位置 複数の装備部位に武器を装備している場合で、
最後に武器が装備されていた部位番号を設定。
31 発動済み回数 攻撃した回数をカウントし、
最後の一撃を与える時にはカウンター有りの攻撃に切り替える時に使用。
34 一時コード アイテム使用時に、セルフ[17]の値を設定。
10000〜19999 アイテム使用を実行
下4桁はユーザーDB[2:アイテム]データID
20000〜29999 武器をアイテムで使用を実行
下4桁はユーザーDB[3:武器]データID
30000〜39999 防具をアイテムで使用を実行
下4桁はユーザーDB[4:防具]データID
99 *名前なし* [結果を返す]で使用。
呼び出し元のコモンイベントに戦闘が終了したかどうかを伝える時に使用。
0 戦闘継続中
1 戦闘終了

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


▲トップへ戻る▲


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

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

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

処理内容
5 セルフ[99]に「0(戦闘継続)」を設定。
6 ▼ 発動者・発動技能を格納
7 可変DB[14:×┣ コマンド処理リスト]項目[0:発動者番号]セルフ[16]に取得。
8 可変DB[14:×┣ コマンド処理リスト]項目[3:発動技能]セルフ[17]に取得。
-2 逃走(敵キャラ用)
-1 何もしない
0〜9999 技能を実行
数値はユーザーDB[0:技能]データID
10000〜19999 アイテム使用を実行
下4桁はユーザーDB[2:アイテム]データID
20000〜29999 武器をアイテムで使用を実行
下4桁はユーザーDB[3:武器]データID
30000〜39999 防具をアイテムで使用を実行
下4桁はユーザーDB[4:防具]データID
9 可変DB[14:×┣ コマンド処理リスト]項目[2:受け側番号]セルフ[18]に取得。
-21 敵キャラ1体が対象でランダムで決定
-20 敵キャラ全体
-11 主人公1体が対象でランダムで決定
-10 主人公全体
0〜5 発動者が主人公(可変DB[6:パーティー情報]項目[1〜6]の並び順)
10〜16 発動者が敵キャラ(ユーザーDB[13:敵グループ]項目[0〜6]の並び順)
10 ▼ 発動回数を得る
11-51 ■条件分岐(変数): 【1】 CSelf17[技能コード] が 0 以上
技能やアイテムを使用うる場合は分岐。
  13 ▼ アイテムや武器・防具の使用による技能発動の場合 は「技能」コードに変換
  14-50 ■条件分岐(変数): 【1】 CSelf17[技能コード] が 10000 以上
アイテム・武器・防具の使用の場合は分岐。
    17-26 ■条件分岐(変数): 【1】 CSelf34[一時コード] が 19999 以下
アイテムを使用する場合は分岐。
      19 ▼ アイテムの場合
      22-26 ■条件分岐(変数): 【1】 CSelf11[一時変数B] が 2 と同じ
ユーザーDB[2:アイテム]項目[3:■効果のタイプ]が「特殊技能」の場合は分岐。
        24 ユーザーDB[2:アイテム]項目[4:┣[2]特殊技能指定時]セルフ[10]に取得。
    28-36 ◇分岐: 【2】 [ CSelf34[一時コード] が 29999 以下 ]の場合↓
武器をアイテムとして使用する場合は分岐。
      29 ▼ 武器の場合
      32-36 ■条件分岐(変数): 【1】 CSelf11[一時変数B] が 2 と同じ
ユーザーDB[3:武器]項目[22:アイテム使用で特殊技能?]が「特殊技能発動」の場合は分岐。
        34 ユーザーDB[3:武器]項目[23:┣ 発動する特殊技能]セルフ[10]に取得。
    38-46 ◇分岐: 【3】 [ CSelf34[一時コード] が 39999 以下 ]の場合↓
防具をアイテムとして使用する場合は分岐。
      39 ▼ 防具の場合
      42-46 ■条件分岐(変数): 【1】 CSelf11[一時変数B] が 2 と同じ
ユーザーDB[4:防具]項目[20:アイテム使用で特殊技能?]が「特殊技能発動」の場合は分岐。
        44 ユーザーDB[4:防具]項目[21:┣ 発動する特殊技能]セルフ[10]に取得。
  51 ユーザーDB[0:技能]項目[18:発動回数/武器の影響]セルフ[10]に取得。
53-81 ◇上記以外
「何もしない」や「逃走(敵キャラ用)」の場合は分岐。
  54-78 ■条件分岐(変数): 【1】 CSelf17[技能コード] が -2 と同じ
敵キャラが逃走する場合は分岐。
    56 ▼ 逃走
    58-65 ■条件分岐(文字): 【1】 CSelf9[一時項目名]が "" 以外
ユーザーDB[17:システム設定]項目[14:使用時文章[戦闘](人名~]
使用時のメッセージの設定がある場合は分岐。
      60-63 ▼ あれば逃走メッセージを表示
セルフ[9]に「敵キャラ名+メッセージ」を設定し、
コモンイベント[182:X[戦]戦闘メッセージ表示]を呼び出してセルフ[9]を表示。
    66-67 ▼ 逃走の場合は消滅する
コモンイベント[171:X[戦]敵撃破処理]を呼び出し、
逃走した敵キャラを消す。
    68 ▼ 戦闘終了判定
    70-75 ■条件分岐(変数): 【1】 CSelf25[勝敗判定] が 0 以外
勝敗が付いた場合は分岐。
      72-73 ▼ もし戦闘が終わっていたら1を返す
セルフ[99]に「1(戦闘終了)」を設定。
    76 【イベント処理中断】を実行。
  79-80 ▼ 逃走でもなければ終了
セルフ[20]に「1(「何もしない」を1回発動)」を設定。
  81 【イベント処理中断】を実行。
84-85 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ イベント発動なら実行して終了
87-95 ■条件分岐(変数): 【1】 CSelf27[効果対象] が 101 と同じ
ユーザーDB[4:防具]項目[2:┏ 効果対象]が「イベント呼出[バトル]」の場合は分岐。
  89-92 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 「イベント起動」処理の場合
ユーザーDB[0:技能]項目[3:(あれば)┗イベント番号指定]にあるイベントIDを
【イベントの挿入】で実行。
  93 【イベント処理中断】を実行。
96-98 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 武器依存チェック
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
100-107 ■条件分岐(変数): 【1】 CSelf20[発動回数] が -1 以下
  102-104 ▼ 武器依存の場合
セルフ[20]に「乗算-1」を設定してプラス値に変え、
セルフ[21]に「1」を設定。
107-109 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 発動回数分だけ繰り返す
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
111-219 ■回数付きループ [ CSelf20[発動回数] ]回
攻撃が終わるまでループ。
  112 ▼ 発動済み回数は、カウンター用に「最後の一回分の行動」をチェックするために使う
  116-147 ■条件分岐(変数): 【1】 CSelf21[武器回数依存フラグ] が 0 と同じ
武器依存ではない、通常の攻撃で処理する場合は分岐。
    118-119 ▼ 武器依存でない場合は単純に一回発動
▼ 処理対象が残っている限り繰り返し
    121-131 ■条件分岐(変数): 【1】 CSelf1[カウンター禁止?] が 0 と同じ
カウンター攻撃ではない場合は分岐。
      122-125 ■条件分岐(変数): 【1】 CSelf20[発動回数] が CSelf31[発動済み回数] と同じ
1回だけ攻撃、または連続攻撃の最後の一撃の場合は分岐。
        124-125 ▼ 最後ならカウンター有り
コモンイベント[164:X[戦]行動実行結果算出]をカウンターを受ける状態で呼び出す。
        127 ●ラベル「カウンター後_終了判定」に飛ぶ >>>>>>>>>>>>>>>>>>>>>
212行目へジャンプし、戦闘が終了したかどうかをチェックする。
      129-131 ◇上記以外
連続攻撃の途中の場合は分岐。
        130-131 ▼ 最後でなければカウンターを抑制
コモンイベント[164:X[戦]行動実行結果算出]をカウンターを受けない状態で呼び出す。
    135-137 ◇分岐: 【2】 [ CSelf1[カウンター禁止?] が 1 と同じ ]の場合↓
カウンター攻撃の場合は分岐。
      136-137 ▼ こちらはカウンター処理中なので特別処理
コモンイベント[167:X[戦]カウンター実行結果算出]を呼び出す。
    140-141 ■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
▼ 戦闘終了判定
    143-149 ■条件分岐(変数): 【1】 CSelf25[勝敗判定] が 0 以外
勝敗が付いた場合は分岐。
      145-147 ▼ 何らかの形で戦闘が終わっていたら処理を中断する
セルフ[99]に「1(戦闘終了)」を設定し、【ループ中断】を実行して処理を強制終了させる。
  151-215 ◇分岐: 【2】 [ CSelf21[武器回数依存フラグ] が 1 と同じ ]の場合↓
武器依存で処理する場合は分岐。
    152-153 ▼ 武器の場合
■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
    155 ▼ 最後に使う武器番号をここで算出する
    158-168 ■回数付きループ [ 8 ]回
8つの装備欄を1つずつ調べて、武器の装備が無いかをチェック。
      159 コモンイベント[147:X[戦]一時ステ計算<装備補正>]を呼び出し、
武器の装備状態をセルフ[19]に取得。
      160-165 ■条件分岐(変数): 【1】 CSelf19[武器の有無] が 1 以上
調べた装備欄で武器を装備していた場合は分岐。
        162-163 ▼ もし該当の装備があればそれを最後とする
セルフ[19]に武器の装備があった最後の装備欄の番号(0〜7)を設定。
    171-172 ■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
▼ 武器全部を1つずつ処理していく
    174-215 ■回数付きループ [ 8 ]回
8つの装備欄を1つずつ処理。
      176-196 ■条件分岐(変数): 【1】 CSelf1[カウンター禁止?] が 0 と同じ
カウンター処理?が「通常」の場合は分岐。
        178-192 ■条件分岐(変数): 【1】 CSelf20[発動回数] が CSelf31[発動済み回数] と同じ
1回だけ攻撃、または連続攻撃の最後の一撃の場合は分岐。
          180 ▼ 発動回数の最後ならカウンター有り
          181-186 ■条件分岐(変数): 【1】 CSelf29[最後の武器位置] が CSelf22[武器位置] と同じ
最後の武器での攻撃である場合は分岐。
            183-184 ▼ 武器の最後の一個ならカウンターチェック
コモンイベント[164:X[戦]行動実行結果算出]をカウンターが発生する状態で呼び出す。
            186 ●ラベル「カウンター後_終了判定」に飛ぶ >>>>>>>>>>>>>>>>>>>>>
212行目へジャンプし、戦闘が終了したかどうかをチェックする。
          188-190 ◇上記以外
他の武器での攻撃が残っている場合は分岐。
            189-190 ▼ 武器の最後の一個でないなら全部カウンター抑制する
コモンイベント[164:X[戦]行動実行結果算出]をカウンターが発生しない状態で呼び出す。
        194-196 ◇上記以外
連続攻撃の途中である場合は分岐。
          195-196 ▼ 最後でなければカウンターを抑制
コモンイベント[164:X[戦]行動実行結果算出]をカウンターが発生しない状態で呼び出す。
      200-201 ◇分岐: 【2】 [ CSelf1[カウンター禁止?] が 1 と同じ ]の場合↓
カウンター処理?が「カウンター処理」の場合は分岐。
        201 コモンイベント[167:X[戦]カウンター実行結果算出]を呼び出し、
カウンターによる反撃の攻撃処理を実行。
      204 ▼ 一回ごとに戦闘終了判定
      206-212 ■条件分岐(変数): 【1】 CSelf25[勝敗判定] が 0 以外
勝敗が付いた場合は分岐。
        208-210 ▼ 何らかの形で戦闘が終わっていたら処理を中断する
セルフ[99]に「1(戦闘終了)」を設定し、【ループ中断】を実行して処理を強制終了させる。
221-233 ■回数付きループ [ 1 ]回
戦闘が終了したかどうかをチェックする。
  222 ●ラベル地点「カウンター後_終了判定」 <<<<<<<<<<<<<<<<<<<<<★
  223-231 ▼ 戦闘終了判定
戦闘終了の場合はセルフ[99]に「1(戦闘終了)」を設定。
234 ■デバッグ文:●行動 発動者\cself[16] 技能\cself[17] 対象\cself[18]


▲トップへ戻る▲



◎関連ページ

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

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