WOLF RPGエディター(ウディタ)[3.175]/基本システム【サイトトップへ戻る】
■コモンイベント[152:X[戦]戦闘コマンド一覧算出]の解説
(更新:2023/04/24)


コモンイベント[152:X[戦]戦闘コマンド一覧算出]について解説します。


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

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

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


  
■コモンイベント[152:X[戦]戦闘コマンド一覧算出]って何?

コモンイベント[152:X[戦]戦闘コマンド一覧算出]は、
「通常攻撃」や「特殊技能」などの戦闘コマンドの選択肢を万能ウィンドウで表示する際、
可変DB[19:万能ウィンドウ一時DB]に戦闘コマンドの情報を登録する時に使います。

▼戦闘コマンドの表示例




コモンイベント[152:X[戦]戦闘コマンド一覧算出]では可変DB[19:万能ウィンドウ一時DB]への登録のみを行っており、
実際に戦闘コマンドの表示処理(コモンイベント[064:X[共]万能ウィンドウ描画処理]の呼び出しなど)は、
コモンイベント[192:X┃┣◆味方コマンド選択]で行っています。


▲トップへ戻る▲


  
■スロットに関して

このページにある「スロット」とは、可変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:×┏ 戦闘一時ステータス[基]]と同じくスロットで処理しています。


▲トップへ戻る▲


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

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

◆コマンドの表示条件などを変えたい。
 例えば「戦闘不能の主人公がいると選択可能」「2つの目の封印設定」など。


▲トップへ戻る▲


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

コモンイベント[152:X[戦]戦闘コマンド一覧算出][入力の数/結果を返す]の設定は、
基本システムが必要に応じて自動的に行いますので、基本システムの利用者は何も設定する必要はありません。

▼数値1/コモンセルフ0「対象戦闘スロット」

コマンドを表示するスロットを設定。


▲トップへ戻る▲


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

コモンイベント[152:X[戦]戦闘コマンド一覧算出]を呼び出しているコモンイベント、
またはコモンイベント[152:X[戦]戦闘コマンド一覧算出]から呼び出しているコモンイベントの一覧です。

コモンイベント[152:X[戦]戦闘コマンド一覧算出]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
192:X┃┣◆味方コマンド選択 戦闘コマンドを表示する時に呼び出されます。

コモンイベント[152:X[戦]戦闘コマンド一覧算出]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
150:X[戦]戦闘コマンド取得 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[26〜33]
登録されているコマンド情報を取得する時に使用。

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


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[152:X[戦]戦闘コマンド一覧算出]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 対象戦闘スロット コマンドを表示するスロットを設定。
8 説明文 ユーザーDB[6:戦闘コマンド]項目[1:コマンドの説明文]を取得。
9 一時項目名 ユーザーDB[6:戦闘コマンド]項目[0:コマンド名]を取得。
10 一時変数A データベースの様々な数値の取得に使用。
11 一時変数B ユーザーDB[6:戦闘コマンド]項目[3:使用不能になる条件]を取得。
0 なし
1 特殊技能封印で不能
12 一時変数C 発動に必要なアイテムの所持数チェックで使用。
13 使用可能シーン ユーザーDB[0:技能]項目[6:使用可能シーン]を取得。
-1 使用不能
0 マップのみ
1 マップ&戦闘中
2 戦闘中のみ
14 発動アイテム番号 ユーザーDB[0:技能]項目[20:発動アイテム要する?[消費]]を取得。
15 残りポイント 現在のHP・SPを取得。
16 消費するものは? ユーザーDB[0:技能]項目[4:┏ 消費するものは?]を取得。
17 消費ポイント ユーザーDB[0:技能]項目[5:┗ 消費ポイント]を取得。
18 技能番号(-1 -2は特) ユーザーDB[6:戦闘コマンド]項目[2:コマンド選択時の効果]を取得。
-3 選択不能
-2 「アイテム」の選択画面を表示
-1 「特殊技能」の選択画面を表示
0以上 ユーザーDB[0:技能]データID
19 コマンド番号 可変DB[10:×┏ 戦闘一時ステータス[基]]項目[26〜33]にある
ユーザーDB[6:戦闘コマンド]データIDを取得。
30 処理対象 ループ処理にて、呼び出すコマンド位置を指定する時に使用。
32 万能ウィンドウ登録位置 可変DB[19:万能ウィンドウ一時DB]登録位置(データID)を設定。

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


▲トップへ戻る▲


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

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

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

処理内容
9 ▼ コマンド登録
11-106 ■回数付きループ [ 8 ]回
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[26〜33](8つ)を1つずつ処理。
  13 コモンイベント[150:X[戦]戦闘コマンド取得]を呼び出し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[26〜33]の指定した位置の
コマンドID(ユーザーDB[6:戦闘コマンド]データID)をセルフ[19]に設定。
  14-104 ■条件分岐(変数): 【1】 CSelf19[コマンド番号] が 0 以上
    16-18 ▼ コマンドがあれば万能ウィンドウに登録
▼ 万能ウィンドウの書き込み先位置を+1
セルフ[32]に「加算1」を設定し、
可変DB[19:万能ウィンドウ一時DB]の登録位置を次のデータIDにします。
    20-27 ▼ 名前・コード・数量・付与文字列を格納
ユーザーDB[6:戦闘コマンド]の情報を可変DB[19:万能ウィンドウ一時DB]に登録。
    28 ▼ 選択可能かどうか判定
    31-35 ■条件分岐(変数): 【1】 CSelf10[一時変数A] が -3 と同じ
コマンド選択時の効果が「選択不能」の場合は分岐。
      33-35 ▼ 使用不能コマンドなので次へ
可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「0(選択不可)」を設定し、
【ループ開始へ戻る】を実行。
    37-46 ◇分岐: 【2】 [ CSelf10[一時変数A] が -1 以下 ]の場合↓
コマンド選択時の効果が「技能選択」か「アイテム選択」の場合は分岐。
      38-45 ユーザーDB[6:戦闘コマンド]項目[3:使用不能になる条件]が「1(特殊技能封印で不能)」で、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[60:【特殊技能制限】1=封印]が「1(封印中)」の場合
は分岐し、可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「0(選択不可)」を設定。
ここの処理は、項目[3:使用不能になる条件]項目[60:【特殊技能制限】1=封印]が両方とも「1」の場合は
「1×1=1」になるので条件分岐を分岐しますが、
どちらかが「0」、または両方「0」の場合は「セルフ[11]=0」になるので、分岐しなくなります。
      46 【ループ開始へ戻る】を実行。
    48-100 ◇分岐: 【3】 [ CSelf10[一時変数A] が 0 以上 ]の場合↓
ユーザーDB[0:技能]データIDが設定されている場合は分岐。
      49 ▼ 特殊効果発動の場合
      51-60 ▼ まず封印状態でこのコマンドがグレーになっているかチェック
ユーザーDB[6:戦闘コマンド]項目[3:使用不能になる条件]が「1(特殊技能封印で不能)」で、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[60:【特殊技能制限】1=封印]が「1(封印中)」の場合
は分岐し、可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「0(選択不可)」を設定し、
【ループ開始へ戻る】を実行。
      65 ▼ 使用可能シーンが移動中のみなら使用不能
      66-71 ■条件分岐(変数): 【1】 CSelf13[使用可能シーン] が 0 と同じ
使用シーンが「マップのみ」の場合は分岐し、
可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「0(選択不可)」を設定し、
【ループ開始へ戻る】を実行。
      72 ▼ ポイントが足りなければ使用不能
      73-75 ■条件分岐(変数): 【1】 CSelf16[消費するものは?] が 0 と同じ
消費するものが「SP」の場合は分岐。
        75 現在のSPをセルフ[15]に取得。
      77-79 ◇分岐: 【2】 [ CSelf16[消費するものは?] が 1 と同じ ]の場合↓
消費するものが「HP」の場合は分岐。
        78-79 現在のHPをセルフ[15]に取得し、「減算1」を設定。
「減算1」にしているのは、HPが「0」になると戦闘不能になってしまうため、
例えば残りHPが「100」の場合は「減算1」にして、「99までは消費可能」としています。
      82-87 ■条件分岐(変数): 【1】 CSelf17[消費ポイント] が CSelf15[残りポイント] 超
消費ポイントに対し、残りポイントが不足している場合は分岐。
        84-85 可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「0(選択不可)」を設定し、
【ループ開始へ戻る】を実行。
      88 ▼ 発動アイテムがなければ使用不能
      89-100 ■条件分岐(変数): 【1】 CSelf14[発動アイテム番号] が 0 以上
コマンドの実行にアイテムが必要な場合は分岐。
        92-98 ▼ アイテムが0個以下の場合は使えない
コマンド実行に必要なアイテムを持っていない場合は分岐し、
可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「0(選択不可)」を設定し、
【ループ開始へ戻る】を実行。
107 セルフ[32]の値は「-1」を初期値にして登録数をカウントしていたので、
セルフ[32]の値+1=実際の登録数」になります。
そのため、ここでは「加算1」を設定しています。
108 可変DB[18:基本システム用変数]データ[17:万能ウィンドウ項目個数]
セルフ[32](登録した個数)を設定。


▲トップへ戻る▲



◎関連ページ

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

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