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


コモンイベント[112:X[移]装備一覧算出]について解説します。


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

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

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


  
■コモンイベント[112:X[移]装備一覧算出]って何?

コモンイベント[112:X[移]装備一覧算出]は、
万能ウィンドウ用の可変DB[19:万能ウィンドウ一時DB]に武器や防具の情報を設定する時に使います。

そして可変DB[19:万能ウィンドウ一時DB]に保存した情報は、
装備を変更する画面の右側に表示される一覧の表示で使用されます。



この一覧の表示は、左側の選択肢で選択している装備欄に合わせて右側の一覧の表示も変わりますので、
処理としては可変DB[8:┣所持武器個数][9:┗所持防具個数]の中で所持数が「1以上」の武器や防具で、
さらに現在選択している装備欄に装備する武器や防具が可変DB[19:万能ウィンドウ一時DB]に登録されます。

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



以下は左側の選択肢で「装備欄:左手(防具欄1)」を選択している時に…
・武器[13:銀のダガー](所持数:2)
・防具[6:アイアンシールド](所持数:3)
を持っている時の可変DB[19:万能ウィンドウ一時DB]の登録例です。
なお、「アイアンシールド」は装備できない状態としています。

データID データ名 可変DB[19:万能ウィンドウ一時DB]の設定例
0 項目文 銀のダガー アイアンシールド
1 項目コード 20013 30006
2 選択可能状態[1=可] 1 0
3 残り個数/消費ポイント 2 3
4 付与文字列[前] x x
5 付与文字列[後]    
6 説明文 左手にも装備できる銀の短剣。 鉄で作られた盾。
防御力が8上がり、回避率も15%アップ。
7 [オプション]予備数値A    
8 [オプション]予備数値B    
9 [オプション]予備文字列A    
10 [オプション]予備文字列B    



武器や防具の登録が終わった最後に「<装備を外す>」を可変DB[19:万能ウィンドウ一時DB]に設定します。


▲トップへ戻る▲


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

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

◆武器や防具の一覧表示の並び順を変えたい。
 【アイテムの一覧を並び替える】を設定すると実現できます。

◆武器や防具の一覧表示は装備できる装備品のみを表示したい。

◆武器や防具の一覧表示にある「<装備を外す>」の文字列の変更や削除を行いたい。


▲トップへ戻る▲


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

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

▼数値1/コモンセルフ0「対象主人公」

処理する主人公ID(可変DB[0:主人公ステータス]データID)を設定。
▼数値2/コモンセルフ1「表示する装備」

左側の選択肢で選択している装備欄を設定。
[-1]制限なし 所持する武器と防具を右側の一覧に全て表示し、
全ての装備品が全ての装備欄に設定可能。
基本システムでは使用していません。
[0]装備欄1 右手
[1]装備欄2 左手
[2]装備欄3 身体
[3]装備欄4 装飾1
[4]装備欄5 装飾2
[5]装備欄6 未使用
[6]装備欄7 未使用
[7]装備欄8 未使用


▲トップへ戻る▲


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

コモンイベント[112:X[移]装備一覧算出]を呼び出しているコモンイベントの一覧です。
なお、コモンイベント[112:X[移]装備一覧算出]から呼び出しているコモンイベントはありません。

コモンイベント[112:X[移]装備一覧算出]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
109:X[移]装備欄_選択実行 装備を変更する画面の左側の選択肢のカーソルを操作した時や、
左右キーで主人公を切り替えた時に呼び出されます。
130:X┣[移]装備欄実行 メニュー画面で[装備]を選択したあとに、
装備を変更する主人公を選択する処理にて主人公を選択し、
装備を変更する画面を表示する時に呼び出されます。

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


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[112:X[移]装備一覧算出]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 対象主人公(全部なら-1) 処理する主人公ID(可変DB[0:主人公ステータス]データID)を設定。
1 装備欄 装備する部位を選択。
0 武器欄 右手
1 防具欄1 左手
2 防具欄2 身体
3 防具欄3 装飾1
4 防具欄4 装飾2
5 防具欄5 未使用
6 防具欄6 未使用
7 防具欄7 未使用
8 一時説明文 ユーザーDB[3:武器][4:防具]から説明文を取得する時に使用。
9 一時装備名 ユーザーDB[3:武器][4:防具]から名前を取得する時に使用。
11 一時TMP セルフ[30]の値を取得し、アイテムコードを設定する時に使用。
20000〜29999 ユーザーDB[3:武器]データID+20000
30000〜39999 ユーザーDB[4:防具]データID+30000
12 ループ回数 所持している武器や防具を右側の一覧に表示するかどうかを調べる時に使用。
セルフ[12]の設定値はセルフ[1]の値を基に算出。
セルフ[1] セルフ[12]の設定値
0〜3 セルフ[1]−1=セルフ[12]
4〜7 セルフ[1]−4=セルフ[12]
セルフ[12]に設定した値は、85行目にあるループ処理の回数設定で使用。
29 ループ実行回数 可変DB[8:┣所持武器個数][9:┗所持防具個数]のデータ総数を取得し、
28行目にあるループ処理の回数設定で使用。
30 DB読み取り位置 データIDを設定し、可変DB[8:┣所持武器個数][9:┗所持防具個数]や、
ユーザーDB[3:武器][4:防具]の情報を取得する時に使用。
32 万能DB登録位置 可変DB[19:万能ウィンドウ一時DB]データIDを設定し、情報の登録時に使用。
33 装備可能判定(0=OK) 処理対象の主人公が装備可能かどうかを調べる時に使用。
0 装備可能
0以外 装備不可
34 所持個数 可変DB[8:┣所持武器個数][9:┗所持防具個数]から所持数を取得する時に使用。
35 装備のタイプ 装備タイプを取得する時に使用。
-2以下 誰でも装備可
-1 絶対装備不可
0以上 ユーザーDB[5:┗装備タイプ]データID
36 一時主人公装備タイプ 可変DB[0:主人公ステータス]項目[36〜45]の値を取得する時に使用。
37 装備箇所判定 ユーザーDB[3:武器][4:防具]項目[3〜4]の値を取得する時に使用。
38 武器=0 防具=1 右側の一覧に表示する処理対象(武器or防具)を設定。
0 所持する武器を調べて、右側の一覧へ表示
1 所持する防具を調べて、右側の一覧へ表示
39 装備箇所判定フラグ 装備欄に割り振られた数値を設定。
武器欄 防具欄1 防具欄2 防具欄3 防具欄4 防具欄5 防具欄6 防具欄7
1 2 4 8 1 2 4 8
※下記で詳しく説明。

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



▼セルフ[37:装備箇所判定]とセルフ[39:装備箇所判定フラグ]の補足

ユーザーDB[3:武器][4:防具]項目[3〜4]には「装備可能箇所」の設定があります。



この項目[3:装備可能箇所1〜4][4:装備可能箇所5〜8]の設定値は、
装備欄ごとに割り振られた数値を合算して設定しています。

項目[3:装備可能箇所1〜4] 1 武器欄(右手)
2 防具欄1(左手)
4 防具欄2(身体)
8 防具欄3(装飾1)
項目[4:装備可能箇所5〜8] 1 防具欄4(装飾2)
2 防具欄5(未使用)
4 防具欄6(未使用)
8 防具欄7(未使用)

例えば、武器欄(右手)だけに装備できる武器の場合は項目[3]には「1」が設定されます。
武器欄(右手)防具欄1(左手)の両方に装備できる武器の場合は項目[3]には「1+2=3」が設定されます。

セルフ[37:装備箇所判定]にはユーザーDB[3:武器][4:防具]項目[3〜4]の値が設定されますので、
武器欄(右手)防具欄1(左手)の両方に装備できる武器の場合は「セルフ[37]=3」になります。



セルフ[39:装備箇所判定フラグ]にもセルフ[37]と同じ装備欄に割り振られた数値を設定します。
但しセルフ[39]セルフ[37]とは異なり、2つの値を組み合わせた数値は設定しません。

武器欄 防具欄1 防具欄2 防具欄3 防具欄4 防具欄5 防具欄6 防具欄7
1 2 4 8 1 2 4 8

このセルフ[39]の値がセルフ[37]の値の中に含まれているかどうかを「ビットを満たす」で調べて、
もしも含まれている場合は、装備変更画面の右側の一覧に表示します。



ビットを満たす(含まれている)」とは、例えば武器の処理にて「セルフ[37]=3」の場合は、
「3」の値は「1(武器欄)」と「2(防具欄1)」を合体して「3」になっているので、
左側の選択肢で「武器欄」と「防具欄1」を選択している時には、右側の一覧にこの武器が表示されます。

しかし左側の選択肢で「防具欄2」と「防具欄3」を選択している時には、右側の一覧には表示されません。



このセルフ[37]セルフ[39]の処理は、右側の一覧に表示するかどうかを判断する処理で使用するため、
処理対象の主人公が装備できるかどうかは関係なく処理されます。

もしも処理対象の主人公が装備できない装備品である場合は、
右側の一覧には表示されますが、表示する時には選択不可(暗い色の文字)で表示されます。


▲トップへ戻る▲


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

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

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

処理内容
17-203 ■回数付きループ [ 2 ]回
ループ1周目ではユーザーDB[3:武器]にある全ての武器を調べて、
右側の一覧に表示するかどうかを判断します。
ループ2周目ではユーザーDB[4:防具]にある全ての防具を調べて、
右側の一覧に表示するかどうかを判断します。
  28-203 ■回数付きループ [ CSelf29[ループ実行回数] ]回
ユーザーDB[3:武器]のデータ総数、
またはユーザーDB[4:防具]のデータ総数の分だけループし、
全ての武器と防具を調べます。
    39-199 ■条件分岐(変数): 【1】 CSelf34[所持個数] が 1 以上
処理中の武器、または防具を1個以上持っている場合は分岐。
    42-103 ■条件分岐(変数): 【1】 CSelf1[装備欄] が 0 以上
左側の選択肢で選択している装備欄に対して、
現在処理中の装備品を右側の一覧へ表示するかどうかを判断する場合は分岐。
セルフ[1]=-1」の場合は、左側の選択肢のカーソル位置に関係無く、
全ての所持している装備品を右側の一覧へ表示する。
      48-101 ■条件分岐(変数): 【1】 CSelf1[装備欄] が 0 と同じ
         【2】 CSelf1[装備欄] が 1 以上
セルフ[1]=0(武器欄)」「セルフ[1]=1以上(防具欄)」で分岐し、
それぞれで右側の一覧へ表示するかどうかを判断する。
セルフ[1]=0(武器欄)」は武器しか装備できないため、
防具の処理の場合は【ループ開始へ戻る】で戻り、次の防具を処理する。
セルフ[1]=1以上(防具欄)」の場合は、
ユーザーDB[3:武器][4:防具]項目[3〜4](装備可能箇所)セルフ[37]に取得し、
セルフ[37]の中にセルフ[39]の装備欄に割り当てた数値が含まれているかどうかを調べ、
含まれていない場合は【ループ開始へ戻る】で戻り、次の防具を処理する。
【ループ開始へ戻る】で戻らなかった場合は「一覧に表示」となります。
    104-165 ▼ もし装備可能キャラ指定があれば判定
処理中の装備品に対して、処理対象の主人公が装備できるかどうかを調べます。
なお、主人公IDが設定されていない場合は、全ての装備品が選択不可になります。
※改造せずに基本システムをそのまま使っている場合は、この設定にはなりません。
    116-150 ■条件分岐(変数): 【1】 CSelf35[装備のタイプ] が -2 以下
         【2】 CSelf35[装備のタイプ] が -1 と同じ
         【3】 CSelf35[装備のタイプ] が 0 以上
セルフ[35]=-2」の場合は、
誰でも装備できる設定なので「セルフ[37]=0(装備可能)」を設定。
セルフ[35]=-1」の場合は、
誰も装備できない設定なので「セルフ[37]=1(装備不可)」を設定。
セルフ[35]=0以上」の場合は、
可変DB[0:主人公ステータス]項目[36〜45]の値をセルフ[36]に取得し、
セルフ[35]に保存した装備タイプの値と一致するかどうかを調べます。
セルフ[37]×(セルフ[36]セルフ[35])
の計算により、例えば「セルフ[36]セルフ[35]=0(一致)」の場合は、
セルフ[37]の値は「0」になり、
処理対象の主人公はこの装備品を装備する事ができる」になります。
逆に一致する装備タイプが無い場合は、セルフ[37]の値は「0以外」になります。
    151-159 ▼ ■装備可能判定を反転させる。
可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に、
セルフ[37]=0」の場合は「1(選択可能)」を設定し、
セルフ[37]=0以外」の場合は「0(選択不可)」を設定します。
    166-195 ▼ 名前・コード・数量を格納
可変DB[19:万能ウィンドウ一時DB]に装備品の名前や説明文、アイテムコードや所持数を設定。
    196-197 ▼ チェック位置を+1
可変DB[19:万能ウィンドウ一時DB]に保存するデータID(セルフ[32])を「加算1」にして、
次の保存に備えます。
204-210 ▼ 最後に「装備を外す」を追加
右側の一覧の最後に「<装備を外す>」を設定。
ここの設定を削除すると「<装備を外す>」が表示されなくなります。
211-212 ▼ 万能ウィンドウ個数に登録
右側の一覧の行数を、
可変DB[18:基本システム用変数]データ[17:万能ウィンドウ項目個数]に設定。


▲トップへ戻る▲



◎関連ページ

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

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

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