WOLF RPGエディター(ウディタ)[3.175]/基本システム【サイトトップへ戻る】
■コモンイベント[086:X[移]┗ お店内部情報更新]の解説
(更新:2023/04/24)


コモンイベント[086:X[移]┗ お店内部情報更新]について解説します。


ショートカット
■コモンイベント[086:X[移]┗ お店内部情報更新]って何?
■こうゆう時にこのコモンイベントを改造する
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説
■装備状態の表記を変更

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

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


  
■コモンイベント[086:X[移]┗ お店内部情報更新]って何?

買うアイテム、売るアイテムを選択する一覧表示では、万能ウィンドウを使います。
【万能ウィンドウの説明を見る】

その万能ウィンドウ用の可変DBに買うアイテム、売るアイテムの情報を保存する時に、
このコモンイベント[086:X[移]┗ お店内部情報更新]を使用します。



コモンイベント[086:X[移]┗ お店内部情報更新]では「買う時」と「売る時」で処理が分かれており、
「買う」の場合は、可変DB[16:× お店一時処理用]に保存した情報を可変DB[19:万能ウィンドウ一時DB]にコピーします。

「売る」の場合は、可変DB[7〜9]に保存されているアイテム・武器・防具の所持数を取得し、
1個以上所持している物を可変DB[19:万能ウィンドウ一時DB]に設定します。



可変DB[19:万能ウィンドウ一時DB]にアイテム情報を設定する時に、
「買う」の場合で所持金が足りなくて購入できない場合は選択不可にして、
「売る」の場合でユーザーDBの販売価格の設定が「0」の場合は選択不可(売却不可)にします。



武器や防具の情報を可変DB[19:万能ウィンドウ一時DB]に設定する際、
パーティにいる主人公に対して、一人ずつ「装備可能」「装備不能」「装備中」の情報を設定します。

なお、主人公の名前が長いと、ウィンドウのサイズをオーバーして表示してしまう事があります。

オーバーさせないようにする場合は、
ウルファール ■装備中」の表記を「装 ウルファール」に変えるような改造が必要になります。

初期設定 改造後

表記の改造方法は、このページの下の方にある■装備状態の表記を変更で紹介しています。



このコモンイベント[086:X[移]┗ お店内部情報更新]では可変DBの設定のみを行い、キー処理やゲーム画面上の表示処理などは、
コモンイベント[084:X[移]お店実行]コモンイベント[085:X[移]┣ お店 描画]の中で実行します。



コモンイベント[086:X[移]┗ お店内部情報更新]のイベントコマンド表示欄のトップには…
▼ 【処理の内容】
▼ 基本システム内で主人公の所持金を取得するときは、必ずこのコモンイベントを使用します。
▼ 移動中でも戦闘中でも有効です。
と書かれていますが、この説明文はコモンイベント[053:X[共]所持金増減]の説明文であり、
多分コモンイベント[053:X[共]所持金増減]の設定をコピーしてきたあとに、修正し忘れたものだと考えられます。


▲トップへ戻る▲


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

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

◆店によって売れる物を変えたい。(武器屋の売却では武器しか売れない)

◆装備可能者を表示する文字列を変えたい。
 「ウルファール ■装備中」を「装 ウルファール」を変えるなど。

◆売却価格を「販売価格÷2」以外にしたい。


▲トップへ戻る▲


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

コモンイベント[086:X[移]┗ お店内部情報更新][入力の数/結果を返す]の設定は、
基本システムが必要に応じて自動的に行いますので、基本システムの利用者は何も設定する必要はありません。

▼数値1/コモンセルフ0「買う?売る?」

処理方法を設定。
処理内容 説明
[0]買う 購入できるアイテムの情報を可変DBに設定。
[1]売る 売却できるアイテムの情報を可変DBに設定。


▲トップへ戻る▲


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

コモンイベント[086:X[移]┗ お店内部情報更新]を呼び出しているコモンイベント、
またはコモンイベント[086:X[移]┗ お店内部情報更新]から呼び出しているコモンイベントの一覧です。

コモンイベント[086:X[移]┗ お店内部情報更新]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
084:X[移]お店実行 お店の処理の開始時や購入と売却を切り替えた時に呼び出されます。

コモンイベント[086:X[移]┗ お店内部情報更新]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
057:X[共]所持金取得 現在の所持金を取得する時に呼び出します。
取得した所持金のデータを基にアイテムが購入できるかどうかを判断します。
073:X[移]パラメータ取得(文字列) 指定した主人公の名前を取得する時に呼び出します。
105:X[移]選択位置主人公ID取得 パーティの並び順(可変DB[6:パーティー情報]項目[1〜6])から
主人公ID(可変DB[0:主人公ステータス]データID)を取得。
106:X[移]選択箇所装備コード取得 指定した主人公が装備している装備品のIDを取得する時に呼び出します。
取得した情報を元に現在装備中であるかどうかを判断します。

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


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[086:X[移]┗ お店内部情報更新]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 買う?売る? 処理方法を設定。
0 購入
1 売却
6 一時変数A 主人公の装備可能などの文字列を設定する時に使用。
7 金額単位 ユーザーDB[15:用語設定]項目[18:[ステータス]お金の単位]]を取得。
8 説明文 ユーザーDB[2:アイテム][3:武器][4:防具]項目[1]を取得。
9 アイテム名 ユーザーDB[2:アイテム][3:武器][4:防具]項目[0]を取得。
10 一時変数A パーティ内の並び順(0-5)を設定し、主人公IDを取得する時に使用。
14 キャラID 可変DB[0:主人公ステータス]データIDを設定。
15 処理番号 万能ウィンドウ用に設定されたアイテムコードから
ユーザーDB[2:アイテム][3:武器][4:防具]データIDを出力する時に使用。
アイテム 10000〜19999 → 余剰10000 → 0〜9999(アイテムのデータID)
武器 20000〜29999 → 余剰20000 → 0〜9999(武器のデータID)
防具 30000〜39999 → 余剰30000 → 0〜9999(防具のデータID)
19 現在所持金 所持金(可変DB[6:パーティー情報]項目[0])を設定。
20 繰り返し回数 可変DB[16:× お店一時処理用]に保存した商品数や
ユーザーDB[2:アイテム][3:武器][4:防具]のデータ数を設定。
21 格納元番号 購入 可変DB[16:× お店一時処理用]のデータIDを設定。
売却 ユーザーDB[2:アイテム][3:武器][4:防具]のデータIDを設定。
22 格納先番号 可変DB[19:万能ウィンドウ一時DB]のデータIDを設定。
23 パーティ人数 パーティ人数を設定し、装備可能や装備中などの情報を取得する時に使用。
25 価格 ユーザーDBからアイテムの価格を取得する時に使用。
26 購入可能? 可変DB[16:× お店一時処理用]項目[6]を取得する時に使用。
27 コード アイテムコードの設定で使用。
アイテム ユーザーDB[2:アイテム]データID+10000
武器 ユーザーDB[3:武器]データID+20000
防具 ユーザーDB[4:防具]データID+30000
30 アイテム(0)武器(1)防具(2) 売却時の表示設定にて、「アイテム→武器→防具」の順で表示されるように、
処理の順番を設定する時に使用。
33 装備可能フラグ 可変DB[19:万能ウィンドウ一時DB]に装備品を登録する際、
パーティ内の主人公の装備可能状態を設定する時に使用。
0 「×装備不能」を表記
1 「○装備可能」を表記
2 「■装備中」を表記
35 対象の装備タイプ ユーザーDB[3:武器][4:防具]項目[2]を取得する時に使用。
36 一時装備タイプ 可変DB[0:主人公ステータス]項目[36-45]を取得する時に使用。
37 装備中フラグ お店画面に表示する装備品を主人公が装備しているかどうかを調べる時に使用。
初めに「1」を代入し、主人公の装備部位(可変DB[0]項目[26-35])ごとに…
(表示する装備品のアイテムコード−装備中のアイテムコード)×セルフ[37]
の計算を行います。

もしも表示する装備品を装備中の装備品が同じである場合は…
(20002−20002)×1=0
と言った計算になり、セルフ[37]の値は「0」になります。
つまり主人公の装備部位(可変DB[0]項目[26-35])ごとに計算を行い、
最終的にセルフ[37]の値が「0」ならば「装備中」、
「0以外」ならば「装備していない」になります。
39 一時個数 可変DB[7-9]に保存されている所持数を取得する時に使用。
40 エラー回避カウンター 処理回数をカウントし、処理が100回実行されるごとに「ウェイト:1」を実行し
てエラー(コマンド処理数が50万超え)が発生させないようにする時に使用。
1フレームあたりの処理が500万回を越えました!
90 計算戻り先 装備可能有無の表示処理を行った後に…
●ラベル「計算戻り\cself[90]」に飛ぶ
の処理にて、どこへ戻るのかを設定する時に使用。
1 [購入]の処理へ戻る
2 [売却]の処理へ戻る

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


▲トップへ戻る▲


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

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

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

処理内容
7 コモンイベント[057:X[共]所持金取得]を呼び出し、
現在の所持金をセルフ[19]に取得。
8 ▼ 万能ウィンドウ一覧に買う・売るアイテムを格納
11-76 ■条件分岐(変数): 【1】 CSelf0[買う?売る?] が 0 と同じ
「買う」の場合は分岐。
  13 ▼ 買う場合
  14 セルフ[90]に「1]を設定。
このセルフ[90]の値は、179行目にあるラベル「計算戻り\cself[90]」にて、
「買う」と「売る」のどちらの処理に戻るのかを判断する時に使います。
  17 可変DB[18:基本システム用変数]データ[93:[お店]アイテム登録個数]セルフ[20]に設定。
このデータ[93:[お店]アイテム登録個数]には、
可変DB[16:× お店一時処理用]の登録数(商品の数)が設定されています。
  18-76 ■ループ開始
可変DB[16:× お店一時処理用]の情報を可変DB[19:万能ウィンドウ一時DB]に登録し終えるまでループ。
ここのループの処理はセルフ[20]の値の回数だけ行われます。

通常では【回数付きループ [ CSelf20[繰り返し回数] ]回】で設定すると思いますが、
しかしここの設定では【ループ開始】になっており、
ループ終了を判断する処理は21行目にある【条件分岐】で行っています。
これはもしも【回数付きループ [ CSelf20[繰り返し回数] ]回】で設定した場合、72〜73行目にある…
●ラベル「装備可能者計算」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
●ラベル地点「計算戻り1」 <<<<<<<<<<<<<<<<<<<<<<<<★
の設定で、一度ループの外に出て、再び戻ってきた時に、ループの回数が「0回」になってしまい、
ループが無効化してしまうウディタの仕様があるために、このような設定になっています。

なお、150行目にあるループ処理も同様の処理形式になっています。
    21-25 ■条件分岐(変数): 【1】 CSelf21[格納元番号] が CSelf20[繰り返し回数] 以上
可変DB[16:× お店一時処理用]の情報を可変DB[19:万能ウィンドウ一時DB]に登録し終えたので分岐し、
【ループ中断】を実行。
    26-31 ▼ 売り物を上から順番にチェックして万能ウィンドウに格納
可変DB[16:× お店一時処理用]に登録されている商品情報をセルフ変数へ設定。
    32-33 ▼ 価格0だと数値が表示されないので、とりあえず価格1にする
セルフ[25]に「下限1」を設定し、販売価格が「0」の場合は「1」に変えます。
これは「0」のままだと、金額が表示されないためです。
▼価格「0」の時の表示見本(「0ゴールド」とは表示されない)
    35-39 可変DB[19:万能ウィンドウ一時DB]に商品情報を設定。
    40-58 ■条件分岐(変数): 【1】 CSelf27[コード] が 10000 以上
アイテムコードが設定されている場合は分岐。
      42-45 ■条件分岐(変数): 【1】 CSelf27[コード] が 19999 以下
「アイテム」のコードが設定されている場合は分岐。
        44 セルフ[27]を「余剰10000」にした値をセルフ[15]に設定し、
アイテムコード(10000〜19999)からユーザーDB[2:アイテム]データIDを算出。
        45 可変DB[7:┣所持アイテム個数]から登録するアイテムの所持数をセルフ[39]に出力。
      47-49 ◇分岐: 【2】 [ CSelf27[コード] が 29999 以下 ]の場合↓
「武器」のコードが設定されている場合は分岐。
        48 セルフ[27]を「余剰20000」にした値をセルフ[15]に設定し、
武器コード(20000〜29999)からユーザーDB[3:武器]データIDを算出。
        49 可変DB[8:┣所持武器個数]から登録する武器の所持数をセルフ[39]に出力。
      51-53 ◇分岐: 【3】 [ CSelf27[コード] が 39999 以下 ]の場合↓
「防具」のコードが設定されている場合は分岐。
        52 セルフ[27]を「余剰30000」にした値をセルフ[15]に設定し、
防具コード(30000〜39999)からユーザーDB[4:防具]データIDを算出。
        49 可変DB[9:┗所持防具個数]から登録する防具の所持数をセルフ[39]に出力。
      56 所持数を可変DB[19:万能ウィンドウ一時DB]に登録。
    59-62 ■条件分岐(変数): 【1】 CSelf25[価格] が CSelf19[現在所持金] 以下
販売価格が所持金以下(購入可能)の場合は分岐。
      61-62 ▼ 値段が所持金より下なら購入可能
可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「1」を設定し、選択可能にします。
    64-65 ◇上記以外
販売価格に対して、所持金が足りない(購入不可)の場合は分岐。
      65 可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「0」を設定し、選択不可にします。
    72-73 ●ラベル「装備可能者計算」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
●ラベル地点「計算戻り1」 <<<<<<<<<<<<<<<<<<<<<<<<★
179行目にあるラベル「装備可能者計算」へジャンプし、
ウルファール ■装備中」などの文字列の設定を行い、処理を終えたら73行目に戻ってきます。
    74 可変DB[18:基本システム用変数]項目[17:万能ウィンドウ項目個数]に「加算1」を設定し、
販売商品数を1増やします。
78-175 ◇分岐: 【2】 [ CSelf0[買う?売る?] が 1 と同じ ]の場合↓
「売る」の場合は分岐。
  79 ▼ 売る場合
  80 セルフ[90]に「2]を設定。
  83-175 ■ループ開始
「アイテム登録→武器登録→防具登録→終了」とループします。
    85-89 ■条件分岐(変数): 【1】 CSelf30[アイテム(0)武器(1)防具(2)] が 0 と同じ
所持アイテムの情報を登録する場合は分岐。
      88-89 ▼ アイテムの数だけ繰り返す
ユーザーDB[2:アイテム]データ数セルフ[20]に設定。
    91-94 ◇分岐: 【2】 [ CSelf30[アイテム(0)武器(1)防具(2)] が 1 と同じ ]の場合↓
所持武器の情報を登録する場合は分岐。
      93-94 ▼ 武器の種類だけ繰り返す
ユーザーDB[3:武器]データ数セルフ[20]に設定。
    96-99 ◇分岐: 【3】 [ CSelf30[アイテム(0)武器(1)防具(2)] が 2 と同じ ]の場合↓
所持防具の情報を登録する場合は分岐。
      98-99 ▼ 防具の種類だけ繰り返す
ユーザーDB[4:防具]データ数セルフ[20]に設定。
    101-102 ◇上記以外
アイテム、武器、防具の登録が終わったので【ループ中断】を実行。
    105-173 ■ループ開始
アイテム、武器、防具のデータ数だけループ。
      108-113 ■条件分岐(変数): 【1】 CSelf40[エラー回避カウンター] が 100 以上
ループを100回繰り返した場合は分岐。
この処理は「コマンド処理数が50万超え」のエラーが発生しないようにするために設定しています。
        110-111 セルフ[40]に「0」を設定し、【ウェイト:1フレーム】を実行。
      114-119 ■条件分岐(変数): 【1】 CSelf21[格納元番号] が CSelf20[繰り返し回数] 以上
現在処理中の登録(アイテム登録、武器登録、防具登録のいずれか)が終わったので、
【ループ中断】を実行して次の登録処理(アイテム→武器、武器→防具、防具→終了)へ移行します。
      119-125 ■条件分岐(変数): 【1】 CSelf30[アイテム(0)武器(1)防具(2)] が 0 と同じ
所持アイテムの情報を登録する場合は分岐。
        121-125 アイテムの情報をセルフ変数に設定。
      127-132 ◇分岐: 【2】 [ CSelf30[アイテム(0)武器(1)防具(2)] が 1 と同じ ]の場合↓
所持武器の情報を登録する場合は分岐。
        128-132 武器の情報をセルフ変数に設定。
      134-139 ◇分岐: 【3】 [ CSelf30[アイテム(0)武器(1)防具(2)] が 2 と同じ ]の場合↓
所持防具の情報を登録する場合は分岐。
        135-139 防具の情報をセルフ変数に設定。
      142 ▼ 対象アイテムが存在したら追加
       143-171 ■条件分岐(変数): 【1】 CSelf39[一時個数] が 1 以上
所持している場合は分岐。
        145-150 可変DB[19:万能ウィンドウ一時DB]に所持品の情報を登録。
        151-155 ■条件分岐(変数): 【1】 CSelf25[価格] が 0 以下
販売価格が設定されていない場合は分岐。
          153-154 ▼ 値段が0なら売却不能
可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「0」を設定し、選択不可にします。
          155 可変DB[19:万能ウィンドウ一時DB]項目[5:付与文字列[後]]に「------」を設定。

▼表示例
        157-162 ◇上記以外
販売価格が1以上の場合は分岐。
          158-159 ▼ 1以上なら売却可能
可変DB[19:万能ウィンドウ一時DB]項目[2:選択可能状態[1=可]]に「1」を設定し、選択可能にします。
          161-162 可変DB[19:万能ウィンドウ一時DB]項目[3:残り個数/消費ポイント]に設定した販売価格を「除算2」で
売却価格に変更。
販売価格が「1」の場合、「1÷2」で「0」になるので、「下限1」で「1」に修正。
        165-166 ●ラベル「装備可能者計算」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
●ラベル地点「計算戻り2」 <<<<<<<<<<<<<<<<<<<<<<<<★
179行目にあるラベル「装備可能者計算」へジャンプし、
ウルファール ■装備中」などの文字列の設定を行い、処理を終えたら166行目に戻ってきます。
        167-169 ▼ アイテムがあれば格納先に+1
セルフ[22]に「加算1」を設定し、可変DB[7〜9]の所持数を取得するデータIDを1増やします。
可変DB[18:基本システム用変数]項目[17:万能ウィンドウ項目個数]に「加算1」を設定し、
売却一覧に表示するアイテム数を1増やします。
178-301 ■回数付きループ [ 0 ]回
この中の処理は179行目ラベル「装備可能者計算」にジャンプして処理します。
この中では「ウルファール ■装備中」などの文字列の設定を行います。
  179 ●ラベル地点「装備可能者計算」 <<<<<<<<<<<<<<<<<<<<<<<<★
72行目165行目からジャンプしてきます。
  180-181 ▼ 装備の場合は、装備可能者を計算
可変DB[19:万能ウィンドウ一時DB]項目[9:[オプション]予備文字列A]の文字列を消去。
この項目[9:[オプション]予備文字列A]には、「ウルファール ■装備中」などの文字列を設定します。
文字列の設定は武器と防具のみなので、アイテムだった場合はこのまま文字列が無い状態になります。
  162-298 ■条件分岐(変数): 【1】 CSelf27[コード] が 20000 以上
装備品のアイテムコードである場合は分岐。
    184-187 ■条件分岐(変数): 【1】 CSelf27[コード] が 29999 以下
「武器」のコードが設定されている場合は分岐。
      186 セルフ[27]を「余剰20000」にした値をセルフ[15]に設定し、
武器コード(20000〜29999)からユーザーDB[3:武器]データIDを算出。
      187 ユーザーDB[3:武器]項目[2;装備のタイプ]セルフ[35]に設定。
    189-191 ◇分岐: 【2】 [ CSelf27[コード] が 39999 以下 ]の場合↓
「防具」のコードが設定されている場合は分岐。
      190 セルフ[27]を「余剰30000」にした値をセルフ[15]に設定し、
防具コード(30000〜39999)からユーザーDB[4:防具]データIDを算出。
      191 ユーザーDB[4:防具]項目[2;装備のタイプ]セルフ[35]に設定。
    196-296 ■回数付きループ [ CSelf23[パーティ人数] ]回
パーティ人数の数だけループ。
      200-294 ■条件分岐(変数): 【1】 CSelf14[キャラID] が 0 以上
主人公ID(可変DB[0:主人公ステータス]データID)があった場合は分岐。
        202-205 ■条件分岐(変数): 【1】 CSelf35[対象の装備タイプ] が -1 と同じ
装備のタイプ「<絶対装備不可>」の場合は分岐。
          204-205 ▼ 誰も装備できない
セルフ[33]に「0(装備不可)」を設定。
        207-209 ◇分岐: 【2】 [ CSelf35[対象の装備タイプ] が -2 以下 ]の場合↓
装備のタイプ「<誰でも装備可>」の場合は分岐。
          208-209 ▼ 誰でも装備可能
セルフ[33]に「1(装備可能)」を設定。
        211-244 ◇分岐: 【3】 [ CSelf35[対象の装備タイプ] が 0 以上 ]の場合↓
ユーザーDB[5:┗装備タイプ]データIDが設定されている場合は分岐。
          212-233 ▼ 対象タイプが指定されている場合
▼ ここから10個分の装備タイプを調査。同じ値のが1つでもあれば装備可能判定が「0」になる
可変DB[0:主人公ステータス]項目[36〜45]に設定されている
装備タイプID(ユーザーDB[5:┗装備タイプ]データID)をセルフ[36]に取得し、
セルフ[33]×(処理中の装備タイプID−主人公の装備可能タイプID)」を設定。
ここの処理では「処理中の装備タイプID」と「主人公の装備可能タイプID」が1つでも一致すると
セルフ[33]の値が「0」になり、全て一致しないとセルフ[33]の値が「0以外」になります。
例えば「木の杖(装備タイプ[5:杖])」の登録処理を行っている場合、ウルファールでは…
処理中の装備タイプ[5:杖]−ウルファールの装備可能[0:短剣]=5
処理中の装備タイプ[5:杖]−ウルファールの装備可能[10:服]=-5
処理中の装備タイプ[5:杖]−ウルファールの装備可能[9:銃]=-4
となり、計算結果は全て「0以外(装備不可)」になり、
セルフ[33]に「乗算5」や「乗算-4」を設定してもセルフ[33]が「0」になる事はありません。

しかし「ダガー(装備タイプ[0:短剣])」の場合は…
処理中の装備タイプ[0:短剣]−ウルファールの装備可能[0:短剣]=0
となり、セルフ[33]に「乗算0」を行う事で、セルフ[33]が「0(装備可能)」になります。
          234-244 ▼ 0と1を反転
セルフ[33]の値を「0→1」「0以外→0」に変更。
        248-265 ▼ そのキャラが装備中かどうかチェック
可変DB[0:主人公ステータス]項目[28〜25]に設定されている
装備コード(武器[20000〜29999]、防具[30000〜39999])をセルフ[36]に取得し、
セルフ[37]×(処理中の装備コード−主人公の装備中の装備コード)」を設定。
ここの処理では「処理中の装備コード」と「主人公の装備可能タイプID」が1つでも一致すると
セルフ[37]の値が「0」になり、全て一致しないとセルフ[37]の値が「0以外」になります。
例えば主人公が「銀のダガー(装備コード[20013])」を装備していて、
処理中の武器が「ロングボウ(装備コード[20010])」の場合…
処理中の装備コード[20013]−主人公の武器コード[20010]=3
となり、計算結果は「0以外(装備していない)」になります。

しかし処理中の武器が「銀のダガー(装備コード[20013])」の場合は…
処理中の装備コード[20013]−主人公の武器コード[20013]=0
となり、セルフ[37]に「乗算0」を行う事で、セルフ[37]が「0(装備中)」になります。
        266 ▼ もし一個でも対象の装備をしていれば、ここでフラグが0になっている
        267-272 ■条件分岐(変数): 【1】 CSelf37[装備中フラグ] が 0 と同じ
セルフ[33]が「0(装備中)」の場合は分岐。
          269-270 ▼ 装備可能状態を2にする
セルフ[33]に「2(装備中)」を設定。
        275-277 ▼ 装備可能状態を格納する
コモンイベント[105:X[移]選択位置主人公ID取得]を呼び出し、
パーティの並び順から処理する主人公IDをセルフ[14]に取得し、
取得した主人公IDでコモンイベント[073:X[移]パラメータ取得(文字列)]を呼び出し、
処理中の主人公の名前をセルフ[6]に取得。
        278 セルフ[6]に空白文字を追加。
        279-281 ■条件分岐(変数): 【1】 CSelf33[装備可能フラグ] が 0 と同じ
処理中の装備品を処理中の主人公が装備できない場合は分岐。
          281 セルフ[6]に「×装備不能」の文字列を追加。
        283-284 ◇分岐: 【2】 [ CSelf33[装備可能フラグ] が 1 と同じ ]の場合↓
処理中の装備品を処理中の主人公が装備できる場合は分岐。
          284 セルフ[6]に「○装備可能」の文字列を追加。
        286-287 ◇分岐: 【3】 [ CSelf33[装備可能フラグ] が 2 と同じ ]の場合↓
処理中の装備品を処理中の主人公が装備中の場合は分岐。
          287 セルフ[6]に「■装備中」の文字列を追加。
        290 セルフ[6]に改行を追加し、次の主人公の文字列を設定する準備を実行。
        291-292 ▼ 万能ウィンドウのオプション値に追加
可変DB[19:万能ウィンドウ一時DB]項目[9:[オプション]予備文字列A]セルフ[6]を追加。
  299 ●ラベル「計算戻り\cself[90]」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
「買う」の処理の場合は73行目にあるラベル「計算戻り1」へジャンプ。
「売る」の処理の場合は166行目にあるラベル「計算戻り2」へジャンプ。


▲トップへ戻る▲


  
■装備状態の表記を変更

装備状態の表示方法を変更します。

改造前 改造後

279行目にある…
■条件分岐(変数): 【1】 CSelf33[装備可能フラグ] が 0 と同じ
         【2】 CSelf33[装備可能フラグ] が 1 と同じ
         【3】 CSelf33[装備可能フラグ] が 2 と同じ
-◇分岐: 【1】 [ CSelf33[装備可能フラグ] が 0 と同じ ]の場合↓
|■文字列操作:CSelf6[一時変数A] += "×装備不能"
|■
-◇分岐: 【2】 [ CSelf33[装備可能フラグ] が 1 と同じ ]の場合↓
|■文字列操作:CSelf6[一時変数A] += "○装備可能"
|■
-◇分岐: 【3】 [ CSelf33[装備可能フラグ] が 2 と同じ ]の場合↓
|■文字列操作:CSelf6[一時変数A] += "■装備中"
|■
◇分岐終了◇
の設定を以下のように変えてください。

【イベントコード表示】
■条件分岐(変数): 【1】 CSelf33[装備可能フラグ] が 0 と同じ
         【2】 CSelf33[装備可能フラグ] が 1 と同じ
         【3】 CSelf33[装備可能フラグ] が 2 と同じ
-◇分岐: 【1】 [ CSelf33[装備可能フラグ] が 0 と同じ ]の場合↓
|■文字列操作:CSelf6[一時変数A] = "− \cself[6]"
|■
-◇分岐: 【2】 [ CSelf33[装備可能フラグ] が 1 と同じ ]の場合↓
|■文字列操作:CSelf6[一時変数A] = "可 \cself[6]"
|■
-◇分岐: 【3】 [ CSelf33[装備可能フラグ] が 2 と同じ ]の場合↓
|■文字列操作:CSelf6[一時変数A] = "装 \cself[6]"
|■
◇分岐終了◇

以上で設定完了です。



なお、特殊文字「\c」を使う事で、色を変えて表示する事もできます。



【イベントコード表示】
■条件分岐(変数): 【1】 CSelf33[装備可能フラグ] が 0 と同じ
         【2】 CSelf33[装備可能フラグ] が 1 と同じ
         【3】 CSelf33[装備可能フラグ] が 2 と同じ
-◇分岐: 【1】 [ CSelf33[装備可能フラグ] が 0 と同じ ]の場合↓
|■文字列操作:CSelf6[一時変数A] = "\c[1]− \cself[6]\c[0]"
|■
-◇分岐: 【2】 [ CSelf33[装備可能フラグ] が 1 と同じ ]の場合↓
|■文字列操作:CSelf6[一時変数A] = "\c[3]可 \cself[6]\c[0]"
|■
-◇分岐: 【3】 [ CSelf33[装備可能フラグ] が 2 と同じ ]の場合↓
|■文字列操作:CSelf6[一時変数A] = "\c[2]装 \cself[6]\c[0]"
|■
◇分岐終了◇


▲トップへ戻る▲



◎関連ページ

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

◆お店のイベントを作る

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