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


コモンイベント[154:X[戦]技能一覧算出]について解説します。


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

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

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


  
■コモンイベント[154:X[戦]技能一覧算出]って何?

コモンイベント[154:X[戦]技能一覧算出]は、
万能ウィンドウ用の可変DB[19:万能ウィンドウ一時DB]に習得している技能の情報を設定する時に使います。



このコモンイベント[154:X[戦]技能一覧算出]は、戦闘中の技能の一覧画面を表示する時に使います。

移動中のメニュー画面で技能の一覧画面を表示する場合は、
コモンイベント[111:X[移]技能一覧算出]可変DB[19:万能ウィンドウ一時DB]に情報を保存します。

コモンイベント[154:X[戦]技能一覧算出]コモンイベント[111:X[移]技能一覧算出]の処理構造はほぼ同じですが、
コモンイベント[154:X[戦]技能一覧算出]の方は、戦闘中に使える技能が「選択可能」になり、
戦闘中に使えない技能は「選択不可」になります。

状態変化「封印」になっている場合は、
コモンイベント[111:X[移]技能一覧算出]では「選択不可」になりますが、
コモンイベント[154:X[戦]技能一覧算出]では「選択可能」となり、
ターン進行中に「〜は魔法が封印されている!」が表示されて、使用できない状態になります。



処理としては、可変DB[1:┣ 技能習得Lv]の中で覚えるレベルが「現在のレベル以下」の場合は、
その技能の情報を可変DB[19:万能ウィンドウ一時DB]に登録します。

【可変DB[19:万能ウィンドウ一時DB]の説明を見る】



以下は可変DB[19:万能ウィンドウ一時DB]の登録例です。

データID データ名 可変DB[19:万能ウィンドウ一時DB]の設定例
0 項目文 ヒール サイレンス 全体攻撃
1 項目コード 2 16 27
2 選択可能状態[1=可] 1 1 1
3 残り個数/消費ポイント 5 6 5
4 付与文字列[前]     HP
5 付与文字列[後]      
6 説明文 味方一人のHPを回復 敵全体の魔法系技能を封印する 敵全体の魔法系技能を封印する
7 [オプション]予備数値A      
8 [オプション]予備数値B      
9 [オプション]予備文字列A      
10 [オプション]予備文字列B      


▲トップへ戻る▲


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

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

◆技能の一覧表示の並び順を変えたい。

◆技能の一覧表示で特定の技能しか表示しない。(戦闘中のみ使用できる技能のみを表示)


▲トップへ戻る▲


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

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

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

技能の一覧を表示するスロットを設定。


▲トップへ戻る▲


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

コモンイベント[154:X[戦]技能一覧算出]を呼び出しているコモンイベントの一覧です。

コモンイベント[154:X[戦]技能一覧算出]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
159:X[戦]技能選択実行 戦闘中にコマンド「特殊技能」を選択した時に呼び出されます。

コモンイベント[154:X[戦]技能一覧算出]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
054:X[共]アイテム所持数取得 技能発動に必要なアイテムを持っているかどうかを調べる時に使用。
141:X[戦]スロットから主人公ID取得 可変DB[10:×┏ 戦闘一時ステータス[基]]
項目[17:キャラクタ番号[1万以上は敵]]からキャラIDを取得。
主人公の場合は「可変DB[0:主人公ステータス]データID
敵キャラの場合は「ユーザーDB[9:敵キャラ個体データ]データID+10000」

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


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[154:X[戦]技能一覧算出]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 対象スロット 技能の一覧を表示する主人公スロットを設定。
8 付与HP名 ユーザーDB[15:用語設定]項目[7:[ステータス]HP名称]を設定。
9 一時項目名 ユーザーDB[0:技能]項目[0:技能の名前]項目[1:説明]を設定。
10 一時変数A ユーザーDB[0:技能]の数値データを取得する時に使用。
11 一時コード番号 値の設定のみであり、実際には何も使用されていません。
12 一時変数B ユーザーDB[0:技能]の数値データを取得する時に使用。
13 一時変数C ユーザーDB[0:技能]の数値データを取得する時に使用。
14 発動アイテムチェック 初期値は「1」で、ユーザーDB[0:技能]項目[20:発動アイテム要する?[消費]]
設定されている場合で、消費するアイテムが無い場合は「0」を設定。
15 主人公ID 技能の一覧を表示する主人公ID(可変DB[1:┣ 技能習得Lv]データID)を設定。
30 処理対象個数 可変DB[1:┣ 技能習得Lv]の調べた個数を設定。
31 注目位置 可変DB[1:┣ 技能習得Lv]項目IDを設定。
32 万能ウィンドウ登録位置 可変DB[19:万能ウィンドウ登録位置]データID(登録位置)を設定。
34 技能コード 可変DB[1:┣ 技能習得Lv]に登録されている技能IDを設定。
35 習得レベル 可変DB[1:┣ 技能習得Lv]に登録されている習得レベルを設定。
36 現在レベル 現在のレベルを設定。

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


▲トップへ戻る▲


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

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

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

処理内容
15-123 ■回数付きループ [ 50 ]回
可変DB[1:┣ 技能習得Lv]を全部調べるまでループ。
  18 コモンイベント[141:X[戦]スロットから主人公ID取得]を呼び出し、
スロット(パーティの並び順[0〜5])から主人公IDをセルフ[15]に取得。
  22-121 ■条件分岐(変数): 【1】 CSelf35[習得レベル] が 0 以上
 ■条件分岐(変数): 【1】 CSelf34[技能コード] が 0 以上
可変DB[1:┣ 技能習得Lv]の調べた項目IDに、
<能力>覚えるレベル」と「┗ 覚える技能」の設定がある場合は分岐。
    26 ▼ レベルが既定以上になっていれば万能ウィンドウに登録
    28-117 ■条件分岐(変数): 【1】 CSelf35[習得レベル] が CSelf36[現在レベル] 以下
習得済みのレベルである場合は分岐。
      30-31 ▼ 万能ウィンドウの書き込み先位置を+1
セルフ[32]に「加算1」を設定し、
可変DB[19:万能ウィンドウ登録位置]登録位置(データID)を1つ増やす。
      32-38 ▼ 名前・コード・数量・付与文字列を格納
技能の名前、説明文、技能IDを可変DB[19:万能ウィンドウ登録位置]に登録。
      39-40 ▼ 消費ポイントを格納
SP(HP)の消費量を可変DB[19:万能ウィンドウ登録位置]に登録。
      41-49 ▼ HP消費型なら「HP」に該当する文字列を付与
ユーザーDB[0:技能]項目[4:┏ 消費するものは?]が「[1]HPを消費する」の場合は分岐し、
ユーザーDB[15:用語設定]項目[7:[ステータス]HP名称]に設定されているHPの名称を取得し、
可変DB[19:万能ウィンドウ登録位置]に登録。
      50 ▼ 選択可能かどうか判定
      53-115 ■条件分岐(変数): 【1】 CSelf12[一時変数B] が 1 以上
 ■条件分岐(変数): 【1】 CSelf12[一時変数B] が 2 以下
ユーザーDB[0:技能]項目[6:使用可能シーン]が「戦闘中」の場合は分岐。
        55-56 ▼ ■■■条件設定、ここから
▼ 残りHP・SP判定
        60-62 ■条件分岐(変数): 【1】 CSelf10[一時変数A] が 0 と同じ
ユーザーDB[0:技能]項目[4:┏ 消費するものは?]が「SPを消費する」の場合は分岐。
          62 現在のSPをセルフ[12]に取得。
        64-66 ◇分岐: 【2】 [ CSelf10[一時変数A] が 1 と同じ ]の場合↓
ユーザーDB[0:技能]項目[4:┏ 消費するものは?]が「HPを消費する」の場合は分岐。
          65-66 現在のHPをセルフ[12]に取得し、「減算1」を設定。
「減算1」にしているのは、HPが「0」になると戦闘不能になってしまうため、
例えば残りHPが「100」の場合は「減算1」にして、「99までは消費可能」としています。
        70-74 ■条件分岐(変数): 【1】 CSelf12[一時変数B] が CSelf13[一時変数C] 未満
残りSP・HPが消費ポイントより少ない場合は分岐し、【ループ開始へ戻る】を実行。
この段階で【ループ開始へ戻る】を実行した場合、現在登録処理を行っている技能は、
一覧には表示されますが「選択不可」の状態になります。
        75-76
▼ 発動アイテムチェック
セルフ[14]に「1」を設定。
技能を使用するのにアイテムを消費する場合で、
そのアイテムを持っていない場合は、セルフ[14]が「0」になり、「選択不可」になります。
        79-89 ■条件分岐(変数): 【1】 CSelf13[一時変数C] が 0 以上
技能を発動するのにアイテムを消費する場合は分岐。
          81-87 コモンイベント[054:X[共]アイテム所持数取得]を呼び出し、
技能発動に必要なアイテムの所持数を取得して、
アイテムを持っていない場合はセルフ[14]に「0(選択不可)」を設定。
        90 ▼ 発動アイテムがあるか、またはアイテム使用しない技能の場合
        91-110 ■条件分岐(変数): 【1】 CSelf14[発動アイテムチェック] が 1 以上
アイテムを消費しない、または消費するアイテムを持っている場合は分岐。
          94 ▼ 敵・味方に対して使用可能 または 戦闘時にイベント起動 の場合だけ使用可能
          96-98 ■条件分岐(変数): 【1】 CSelf12[一時変数B] が 101 と同じ
効果対象が「イベント呼出(バトルのみ)」の場合は分岐。
            98 ▼ イベント起動
可変DB[19:万能ウィンドウ登録位置]項目[2:選択可能状態[1=可]]に「1」を設定し、
選択可能」を設定。
          100-106 ◇分岐: 【2】 [ CSelf12[一時変数B] が 0 以上 ]の場合↓
 ■条件分岐(変数): 【1】 CSelf12[一時変数B] が 12 以下
効果対象が「メッセージのみ」と「イベント呼出(マップのみ)」以外の場合は分岐。
            103-104 ▼ 味方に対して使用可能
可変DB[19:万能ウィンドウ登録位置]項目[2:選択可能状態[1=可]]に「1」を設定し、
選択可能」を設定。
コメントには「味方に対して使用可能」と書かれていますが、
実際には「敵キャラに対しても使用可能」になっています。
124-126 ▼ 万能ウィンドウの項目個数を代入
可変DB[18:基本システム用変数]データ[17:万能ウィンドウ項目個数]
セルフ[32](登録した個数)を設定。
なお、セルフ[32]の値は「-1」を初期値にして登録数をカウントしていたので、
セルフ[32]の値+1=実際の登録数」になります。
そのため、ここの処理では「加算1」を設定しています。


▲トップへ戻る▲



◎関連ページ

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

◆万能ウィンドウについて
┗◆万能ウィンドウの設定例

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