WOLF RPGエディター(ウディタ)[3.337]/アイテム改造【サイトトップへ戻る】
■特定の主人公のみ回復アイテムが使用可能(装備タイプ)
(更新:2024/05/19)


特定の装備タイプが設定されている主人公のみ、回復アイテムが使用できるように改造します。

▼「味方全員」の回復アイテムだが、装備タイプ[1:剣]が設定されている主人公のみを回復している


今回の改造を行うと、装備タイプ「杖」が設定されている主人公のみが回復するアイテムを作る事ができますが、
それ以外に「盗賊」「魔族」「霊体」などの主人公の特徴を示した装備タイプを設定する事で、
霊体のみが使用できる回復アイテム」なども作る事ができます。



回復アイテムを使用する処理は「メニュー画面」と「戦闘中」に分かれているので、
両方に対応させる場合は、両方のコモンイベントを改造する必要があります。

ショートカット
■データベースの設定
■メニュー画面用のコモンイベントを改造
■戦闘用のコモンイベントを改造

動作確認用データ
ダウンロード後に右クリック→[すべて展開]で解凍し、
中に入っている「★このデータについて」をご覧ください。
必ずこのページの説明をご覧頂いた上で、
自己責任でデータをご利用ください。
ダウンロードデータはウディタ[2.24]以降でご利用頂けます。

当ページと同様の処理方法で「装備品の文字列」を使った処理方法もあります。
【特定の主人公のみ回復アイテムが使用可能(装備品の文字列)を見る】


  
■データベースの設定

まずユーザーDB[5:┗装備タイプ]にアイテムが使用可能になる装備タイプを準備してください。



何か設定しましたら、画面下の「更新」をクリックしてください。



ユーザーDB[2:アイテム][タイプの内容設定]をクリックしてタイプの設定画面を表示し、
未使用の項目で[変数]をクリックして、項目名に「使用可能装備タイプ」、初期値に「-1」を設定し、
[▼特]をダブルクリックしてください。





[データベース参照(数値)]をクリックし、「ユーザDB」「5」を設定。
そして[「-1」〜「-3」の項目を追加する]をクリックして「-1」「-2」「-3」に「<なし>」を設定。



設定が終わりましたら画面下のOKをクリックして、
タイプの設定画面の画面下のOKもクリックしてください。



回復アイテムに「使用可能装備タイプ」を設定してください。

なお、回復アイテム以外に「使用可能装備タイプ」を設定しても意味がないため、
回復アイテム以外の設定は「[-1]<なし>」でも「[0]短剣」でも何でも構いません。





可変DB[0:主人公ステータス]の画面を開き、各主人公の「装備タイプ」を設定してください。




▲トップへ戻る▲


  
■メニュー画面用のコモンイベントを改造

コモンイベント[118:X[移]アイテム使用効果処理]を改造します。

このコモンイベントの改造では、回復アイテムを使用する主人公を選択する処理にて、
使用する事ができない主人公を選択すると「この主人公は使用できません。」と表示し、
再び主人公の選択処理に戻ります。

「味方全員」の場合は、パーティ内に一人でも使用可能な主人公がいる場合は回復アイテムを使用し、
回復可能な主人公のみを回復します。



コモンイベント[118:X[移]アイテム使用効果処理]の「セルフ変数使用状況」に、
以下のセルフ変数の名前を設定してください。

番号 名前
50 使用可能装備タイプ
51 項目番号
52 装備タイプ
53 パーティ並び順



84行目に以下のイベントを追加。
【イベントコード表示】
■DB読込(ユーザ): CSelf50[使用可能装備タイプ] =
         ユーザDB[ アイテム : CSelf30[アイテム番号] : 使用可能装備タイプ ] (2 : - : 21)



105行目に以下のイベントを追加。
【イベントコード表示】
■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が 0 以上
-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が 0 以上 ]の場合↓
|■イベントの挿入[名]: CSelf14[一時キャラID] =
            ["X[移]選択位置主人公ID取得"] <コモンEv 105> / CSelf53[パーティ並び順]

|■変数操作: CSelf51[項目番号] = 36 + 0
|■回数付きループ [ 9 ]回
||■DB読込(可変): CSelf52[装備タイプ] =
          可変DB[ 主人公ステータス : CSelf14[一時キャラID] : CSelf51[項目番号] ] (0 : - : -)
||■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ
||-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■変数操作: CSelf51[項目番号] += 1 + 0
||■
|◇ループここまで◇◇
|■条件分岐(変数): 【1】 CSelf51[項目番号] が 45 以上
|-◇分岐: 【1】 [ CSelf51[項目番号] が 45 以上 ]の場合↓
||■文章:この主人公は使用できません。
||●ラベル「回復アイテム処理2」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|■
◇分岐終了◇



145行目に以下のイベントを追加。
【イベントコード表示】
■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が 0 以上
-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が 0 以上 ]の場合↓
|■変数操作: CSelf53[パーティ並び順] = 0 + 0
|■回数付きループ [ 可変DB(18,4,0)[現在パーティー人数 数値 ] ]回
||■イベントの挿入[名]: CSelf14[一時キャラID] =
             ["X[移]選択位置主人公ID取得"] <コモンEv 105> / CSelf53[パーティ並び順]

||■変数操作: CSelf51[項目番号] = 36 + 0
||■回数付きループ [ 9 ]回
|||■DB読込(可変): CSelf52[装備タイプ] =
           可変DB[ 主人公ステータス : CSelf14[一時キャラID] : CSelf51[項目番号] ] (0 : - : -)
|||■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ
|||-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ ]の場合↓
||||■ループ中断
||||■
|||◇分岐終了◇
|||■変数操作: CSelf51[項目番号] += 1 + 0
|||■
||◇ループここまで◇◇
||■条件分岐(変数): 【1】 CSelf51[項目番号] が 44 以下
||-◇分岐: 【1】 [ CSelf51[項目番号] が 44 以下 ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■変数操作: CSelf53[パーティ並び順] += 1 + 0
||■
|◇ループここまで◇◇
|■条件分岐(変数): 【1】 CSelf51[項目番号] が 45 以上
|-◇分岐: 【1】 [ CSelf51[項目番号] が 45 以上 ]の場合↓
||■文章:使用できる主人公がいません。
||●ラベル「回復アイテム処理2」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|■
◇分岐終了◇



204行目に以下のイベントを追加。
【イベントコード表示】
■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が 0 以上
-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が 0 以上 ]の場合↓
|■変数操作: CSelf51[項目番号] = 36 + 0
|■回数付きループ [ 9 ]回
||■DB読込(可変): CSelf52[装備タイプ] =
          可変DB[ 主人公ステータス : CSelf14[一時キャラID] : CSelf51[項目番号] ] (0 : - : -)
||■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ
||-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■変数操作: CSelf51[項目番号] += 1 + 0
||■
|◇ループここまで◇◇
|■条件分岐(変数): 【1】 CSelf51[項目番号] が 45 以上
|-◇分岐: 【1】 [ CSelf51[項目番号] が 45 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|■
◇分岐終了◇


以上で設定完了です。


▲トップへ戻る▲


  
■戦闘用のコモンイベントを改造

戦闘用のコモンイベントは、
コモンイベント[158:X[戦]アイテム選択実行]と、
コモンイベント[164:X[戦]行動実行結果算出]の2つを改造する必要があります。



▼コモンイベント[158:X[戦]アイテム選択実行]を改造

このコモンイベントの改造では、回復アイテムを使用する主人公を選択する処理にて、
使用する事ができない主人公を選択すると「この主人公は使用できません。」と表示し、
再び主人公の選択処理に戻ります。

「味方全員」の場合は、パーティ内に一人でも使用可能な主人公がいる場合は回復アイテムを使用し、
回復可能な主人公のみを回復します。



コモンイベント[158:X[戦]アイテム選択実行]の「セルフ変数使用状況」に、
以下のセルフ変数の名前を設定してください。

番号 名前
5 使用不可
14 主人公ID
50 使用可能装備タイプ
51 項目番号
52 装備タイプ
53 パーティ並び順



61行目に以下のイベントを追加。
【イベントコード表示】
■DB読込(ユーザ): CSelf50[使用可能装備タイプ] = ユーザDB[ アイテム : CSelf30 : 使用可能装備タイプ ] (2 : - : 21)
●ラベル地点「選択やり直し」 <<<<<<<<<<<<<<<<<<<<<<<<★



70行目に以下のイベントを追加。
【イベントコード表示】
●ラベル地点「使用可能確認」 <<<<<<<<<<<<<<<<<<<<<<<<★
■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が 0 以上
-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が 0 以上 ]の場合↓
|■イベントの挿入[名]: CSelf14[主人公ID] = ["X[戦]スロットから主人公ID取得"] <コモンEv 141> /
            CSelf39[使用対象]

|■変数操作: CSelf51[項目番号] = 36 + 0
|■回数付きループ [ 9 ]回
||■DB読込(可変): CSelf52[装備タイプ] =
          可変DB[ 主人公ステータス : CSelf14[主人公ID] : CSelf51[項目番号] ] (0 : - : -)
||■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ
||-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■変数操作: CSelf51[項目番号] += 1 + 0
||■
|◇ループここまで◇◇
|■条件分岐(変数): 【1】 CSelf51[項目番号] が 45 以上
|-◇分岐: 【1】 [ CSelf51[項目番号] が 45 以上 ]の場合↓
||■文字列操作:CSelf5[使用不可] = "この主人公は使用できません。"
||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf5[使用不可]
||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / -1:消去(瞬間) / CSelf5[使用不可]

||■変数操作: CSelf0[発動者スロット] = CSelf39[使用対象] + 0
||■条件分岐(変数): 【1】 CSelf41[アイテム 効果対象] が 1 と同じ
||-◇分岐: 【1】 [ CSelf41[アイテム 効果対象] が 1 と同じ ]の場合↓
|||●ラベル「アイテム開始」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|||■
||◇分岐終了◇
||●ラベル「選択やり直し」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|■
◇分岐終了◇



105行目に以下のイベントを追加。
【イベントコード表示】
●ラベル「使用可能確認」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>



115行目に以下のイベントを追加。
【イベントコード表示】
■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が 0 以上
-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が 0 以上 ]の場合↓
|■変数操作: CSelf53[パーティ並び順] = 0 + 0
|■回数付きループ [ 可変DB(18,4,0)[現在パーティー人数 数値 ] ]回
||■イベントの挿入[名]: CSelf14[主人公ID] =
             ["X[戦]スロットから主人公ID取得"] <コモンEv 141> / CSelf53[パーティ並び順]

||■変数操作: CSelf51[項目番号] = 36 + 0
||■回数付きループ [ 9 ]回
|||■DB読込(可変): CSelf52[装備タイプ] =
          可変DB[ 主人公ステータス : CSelf14[主人公ID] : CSelf51[項目番号] ] (0 : - : -)
|||■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ
|||-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が CSelf52[装備タイプ] と同じ ]の場合↓
||||■ループ中断
||||■
|||◇分岐終了◇
|||■変数操作: CSelf51[項目番号] += 1 + 0
|||■
||◇ループここまで◇◇
||■条件分岐(変数): 【1】 CSelf51[項目番号] が 44 以下
||-◇分岐: 【1】 [ CSelf51[項目番号] が 44 以下 ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■変数操作: CSelf53[パーティ並び順] += 1 + 0
||■
|◇ループここまで◇◇
|■条件分岐(変数): 【1】 CSelf51[項目番号] が 45 以上
|-◇分岐: 【1】 [ CSelf51[項目番号] が 45 以上 ]の場合↓
||■文字列操作:CSelf5[使用不可] = "使用できる主人公がいません。"
||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf5[使用不可]
||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / -1:消去(瞬間) / CSelf5[使用不可]
||●ラベル「選択やり直し」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
||■
|◇分岐終了◇
|■
◇分岐終了◇



▼コモンイベント[164:X[戦]行動実行結果算出]を改造

このコモンイベントでは、「味方全員」の効果がある回復アイテムを使用した際、
使用可能な主人公のみに回復処理が実行するように改造します。

なお、「味方一人」や「自分自身」などの単体の処理に関しては、
主人公を選択するコモンイベント[158:X[戦]アイテム選択実行]の処理にて、使用できるかどうかを判断しているため、
このコモンイベントには使用可能であるかどうかを調べる処理は設定しません。



コモンイベント[164:X[戦]行動実行結果算出]の「セルフ変数使用状況」に以下のセルフ変数の名前を設定してください。

番号 名前
50 使用可能装備タイプ
51 項目番号
52 装備タイプ
53 主人公ID



58行目に以下のイベントを追加。
【イベントコード表示】
●ラベル地点「次の人」 <<<<<<<<<<<<<<<<<<<<<<<<★



81行目に以下のイベントを追加。
【イベントコード表示】
■条件分岐(変数): 【1】 CSelf23[次対象] が 0 以上
-◇分岐: 【1】 [ CSelf23[次対象] が 0 以上 ]の場合↓
|■DB読込(ユーザ): CSelf50[使用可能装備タイプ] =
         ユーザDB[ アイテム : CSelf12[一時変数C] : 使用可能装備タイプ ] (2 : - : 21)
|■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が 0 以上
|-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が 0 以上 ]の場合↓
||■イベントの挿入[名]: CSelf53[主人公ID] =
             ["X[戦]スロットから主人公ID取得"] <コモンEv 141> / CSelf23[次対象]

||■変数操作: CSelf51[項目番号] = 36 + 0
||■回数付きループ [ 9 ]回
|||■DB読込(可変): CSelf52[ 装備タイプ ] =
          可変DB[ 主人公ステータス : CSelf53[主人公ID] : CSelf51[項目番号] ] (0 : - : -)
|||■条件分岐(変数): 【1】 CSelf50[使用可能装備タイプ] が CSelf52[ 装備タイプ ] と同じ
|||-◇分岐: 【1】 [ CSelf50[使用可能装備タイプ] が CSelf52[ 装備タイプ ] と同じ ]の場合↓
||||■ループ中断
||||■
|||◇分岐終了◇
|||■変数操作: CSelf51[項目番号] += 1 + 0
|||■
||◇ループここまで◇◇
||■条件分岐(変数): 【1】 CSelf51[項目番号] が 45 以上
||-◇分岐: 【1】 [ CSelf51[項目番号] が 45 以上 ]の場合↓
|||●ラベル「次の人」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇分岐終了◇


以上で設定完了です。


▲トップへ戻る▲



◎関連ページ

◆「基本システム」って何?
┣◆コモンイベントの一覧と補足説明
┣◆基本システムで使用しているピクチャ番号
┣◆メニュー画面の処理構造
┗◆戦闘処理の処理構造

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