WOLF RPGエディター(ウディタ)[3.337]/基本システム【サイトトップへ戻る】
■コモンイベント[079:X[移]パーティー情報計算]の解説
(更新:2024/05/18)


コモンイベント[079:X[移]パーティー情報計算]について解説します。


ショートカット
■コモンイベント[079:X[移]パーティー情報計算]って何?
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説

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

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


  
■コモンイベント[079:X[移]パーティー情報計算]って何?

コモンイベント[079:X[移]パーティー情報計算]は、パーティ内の主人公の並びをチェックし、
途中に未設定の空きがある場合は、主人公を前に詰める処理を行います。

並び順 処理前 処理後
1人目 主人公01 主人公01
2人目   主人公02
3人目 主人公02 主人公03
4人目   主人公04
5人目 主人公03  
6人目 主人公04  



戦闘中の場合は、戦闘用の可変DB[10〜13]のデータも前に詰める作業を行います。

なお、移動中の場合は可変DB[6:パーティー情報]項目ID[1〜6]で前へ詰めますが、
戦闘中の場合はスロット[0〜5]で処理するため、移動中と戦闘中の並び順の数値が1ずれています。

そのため、移動中の並び順で可変DB[6:パーティー情報]の「項目[3→2]」にずらす処理を行った場合、
戦闘用の可変DB[10〜13]では「スロット[2→1]」でデータをずらす処理を行います。

※スロットは主人公の並び順に「0〜5」が設定されており、可変DB[10〜13]データIDになります。



可変DB[10〜13]の戦闘用のデータを取得する処理には「変数呼び出し値」を使います。
【変数呼び出し値の説明を見る】

まず基本となる「変数呼び出し値」がセルフ[49]に設定されます。

可変DB セルフ[49]
可変DB[10:×┏ 戦闘一時ステータス[基]] 1110000000
可変DB[11:×┣ 属性耐性計算結果] 1111000000
可変DB[12:×┣ 状態耐性計算結果] 1112000000
可変DB[13:×┣ 状態リスト] 1113000000

そしてデータを移動する時には、セルフ[44]に「セルフ[49]+スロット×100」が設定されます。

可変DB セルフ[49]+スロット[4]×100 セルフ[44]
可変DB[10:×┏ 戦闘一時ステータス[基]] 1110000000+4×100 1110000400
可変DB[11:×┣ 属性耐性計算結果] 1111000000+4×100 1111000400
可変DB[12:×┣ 状態耐性計算結果] 1112000000+4×100 1112000400
可変DB[13:×┣ 状態リスト] 1113000000+4×100 1113000400

このセルフ[44]の「変数呼び出し値」を使ってデータを取得し、移動先のスロットにデータを設定します。



基本システムのコモンイベントの中で特に使用頻度が高い、
可変DB[18:基本システム用変数]データ[4:現在パーティー人数]の設定もこのコモンイベントで行います。


▲トップへ戻る▲


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

コモンイベント[079:X[移]パーティー情報計算][入力の数/結果を返す]には、何も設定されていません。


▲トップへ戻る▲


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

コモンイベント[079:X[移]パーティー情報計算]を呼び出しているコモンイベントの一覧です。
なお、コモンイベント[079:X[移]パーティー情報計算]から呼び出しているコモンイベントはありません。

コモンイベント[079:X[移]パーティー情報計算]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
005:○メンバーの増減 パーティの内容が変わった時に呼び出されます。
048:X[共]基本システム自動初期化 ゲーム開始時に呼び出されます。
127:X[移]メニュー起動 メニュー画面を開く前に呼び出されます。
189:X┣◆戦闘初期化 戦闘開始時に呼び出されます。

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


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[079:X[移]パーティー情報計算]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
5 一時文字列 可変DB[10:×┏ 戦闘一時ステータス[基]]の文字列データを
可変DB[10:×┏ 戦闘一時ステータス[基]]内の別のデータIDへ複製する時に使用。
10 一時変数A 可変DB[6:パーティー情報]項目ID(1〜6)の設定に使用。
16 最大パーティ人数 可変DB[18:基本システム用変数]データ[51:システム上最大パーティー人数]を取得。
18 戦闘中フラグ 可変DB[18:基本システム用変数]データ[68:[戦闘]戦闘中フラグ]を取得し、
戦闘中の場合は「1」になる。
20 処理主人公ID 可変DB[6:パーティー情報]項目[1〜6]にある主人公IDを取得。
21 処理対象 パーティ順に値「0〜5」を設定し、ループ処理で使用。
22 パーティーメンバー数 パーティ内の人数をカウント。
23 最終の空欄位置 空欄があった可変DB[6:パーティー情報]項目[1〜6]を設定。
30 戦闘移動先 セルフ[23]−1」を設定し、戦闘データを移動する先のスロット番号を設定。
40 DB番号 初期値「10」を設定し、ループ内で可変DB[10〜13]タイプIDの設定で使用。
41 移動元 データをコピーするスロット番号を設定。
42 移動先 データを貼り付けるスロット番号を設定。
44 現在参照番号 可変DBのデータを取得する「変数呼び出し値」の設定で使用。
45 項目数 可変DB[10〜13]項目数の設定で使用。
46 項目番号 可変DB[10〜13]項目IDを設定。
47 移動元数値 可変DB[10〜13]の数値データの取得に使用。
49 DB参照番号 1100000000+セルフ[40]×1000000」の値を設定。

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


▲トップへ戻る▲


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

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

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

処理内容
16-80 ■回数付きループ [ CSelf16[最大パーティ人数] ]回
6回ループし、パーティ内の主人公の並びをチェック。
  18 ▼ パーティー情報DBからキャラIDを取得する
  21-68 ■条件分岐(変数): 【1】 CSelf20[処理主人公ID] が 0 以上
可変DB[6:パーティー情報]項目[1〜6]を調べて、主人公IDがあった場合は分岐。
    24-68 ■条件分岐(変数): 【1】 CSelf23[最終の空欄位置] が 1 以上
可変DB[6:パーティー情報]項目[1〜6]の現在調べている位置より前に
主人公IDが設定されていない位置があった場合は分岐。
      26 ▼ 最後の空欄位置が前にあったら、そこへ飛ばす
      29-64 ■条件分岐(変数): 【1】 CSelf18[戦闘中フラグ] が 1 と同じ
戦闘中の場合は分岐。
        31-32 ▼ 戦闘中なので戦闘中データも移動させる
セルフ[30]に「セルフ[23]−1」を設定。
        33 ▼ DB10〜13までの内容を移動する
        37-62 ■回数付きループ [ 4 ]回
可変DB[10〜13]の4つの可変DBを順番に処理します。
          42-59 ■回数付きループ [ CSelf45[項目数] ]回
項目の数だけループします。
            45 指定した可変DBの指定した項目にある文字列をセルフ[5]に取得。
            46-50 ■条件分岐(文字): 【1】 CSelf5[一時文字列]が "<<ERROR>>" と同じ
セルフ[5]に取得したデータが文字列では無かった場合は分岐。
              48-50 ▼ データは数値
指定した可変DBの指定した項目にある数値データをセルフ[47]に取得し、
移動先の「変数呼び出し値」の所へ設定。
            52-54 ◇上記以外
セルフ[5]に取得したデータが文字列の場合は分岐。
              53-54 ▼ データは文字列
セルフ[5]に取得した文字列データを移動先の「変数呼び出し値」の所へ設定。
      65-66 ▼ 空欄位置を一つずらす
セルフ[23]の未設定位置に主人公IDを設定して空欄が1つ後ろに下がったので、
セルフ[23]に「加算1」を設定。
  70-74 ◇上記以外
可変DB[6:パーティー情報]項目[1〜6]を調べて、主人公IDが無かった場合は分岐。
    72-76 ■条件分岐(変数): 【1】 CSelf23[最終の空欄位置] が 0 と同じ
主人公が設定されていない位置をセルフ[23]に保存していない場合は分岐。
      73-74 ▼ 最後の空欄位置をここで覚えておく
主人公が設定されていない位置をセルフ[23]に設定。
81-82 ▼ パーティー数を格納
可変DB[18:基本システム用変数]データ[4:現在パーティー人数]にパーティ人数を設定。
83 セルフ[21]にパーティ人数を設定。
84-96 ■ループ開始
主人公IDが設定されていない可変DB[10〜13]のデータを初期化する。
  85-89 ■条件分岐(変数): 【1】 CSelf21[処理対象] が CSelf16[最大パーティ人数] 以上
可変DB[6:パーティー情報]の範囲外(6)になった場合は分岐。
    87 【ループ中断】を実行し、処理を終了させる。
  90-93 主人公IDが設定されていない可変DB[10〜13]のデータを初期化。


▲トップへ戻る▲



◎関連ページ

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

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