WOLF RPGエディター(ウディタ)[3.175]/基本システム【サイトトップへ戻る】
■コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]の解説
(更新:2023/04/24)


コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]について解説します。


ショートカット
■コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]って何?
■スロットに関して
■こうゆう時にこのコモンイベントを改造する
■[入力の数/結果を返す]について
■コモンイベント呼び出しの一覧
■セルフ変数の一覧
■イベントコマンドの解説

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

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


  
■コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]って何?

コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]は、
主人公の移動時の可変DBのデータを戦闘用の可変DBにコピーする時に使います。


▲トップへ戻る▲


  
■スロットに関して

このページにある「スロット」とは、可変DB[10:×┏ 戦闘一時ステータス[基]]データIDの事を言っています。

スロットの番号は、主人公の場合はパーティの並び順で一人目から「0、1、2…」と付けられ、
敵キャラの場合はユーザーDB[13:敵グループ]項目[0〜6]項目ID+10で「10、11、12…」と付けられます。

ユーザーDB[13:敵グループ]項目[0〜6](項目[3]に設定した敵キャラの場合はスロット[13]になる)


▼スロット(可変DB[10:×┏ 戦闘一時ステータス[基]]のデータID)


なお、
可変DB[11:×┣ 属性耐性計算結果]
可変DB[12:×┣ 状態耐性計算結果]
可変DB[13:×┣ 状態リスト]

の3つも可変DB[10:×┏ 戦闘一時ステータス[基]]と同じくスロットで処理しています。


▲トップへ戻る▲


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

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

◆戦闘時に使用するパラメータを増やしたい。

◆防具の属性や状態のパーセント設定を単なる増減から「パーセント増減」に変更したい。
 例えば「設定値=20」の場合、従来は「80−20=60」になる所を「80×-20%=64」に変更。


▲トップへ戻る▲


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

コモンイベント[143:X[戦]主人公DB→戦闘DBコピー][入力の数/結果を返す]の設定は、
基本システムが必要に応じて自動的に行いますので、基本システムの利用者は何も設定する必要はありません。

▼数値1/コモンセルフ0「入力先戦闘DB」

コピー先の主人公のスロットを設定。
▼数値2/コモンセルフ1「読込主人公ID」

主人公ID(可変DB[0:主人公ステータス]データID)を設定。
▼数値3/コモンセルフ2「オプション」

処理方法を設定。
[0]全て移動DBからコピー 新規で主人公をパーティに加えた時
[1]HP・SP・状態を維持してコピー 装備変更などで戦闘途中にデータを更新する場合、
HP・SP・状態を引き継ぐようにする


▲トップへ戻る▲


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

コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]を呼び出しているコモンイベントの一覧です。
なお、コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]から呼び出しているコモンイベントはありません。

コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]を呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
004:○回復・ダメージ処理 新しく追加した主人公がいる時に呼び出されます。
142:X[戦]指定主人公更新処理 能力値の増減や装備変更などがあった時に呼び出されます。
190:X┣◆戦闘キャラ配置 戦闘開始時に呼び出されます。

コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]から呼び出しているコモンイベント
コモンイベント(ID順) 処理内容
106:X[移]選択箇所装備コード取得 装備コードの取得で使用。
151:X[戦]戦闘コマンド設定 コマンドの設定で使用。

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


▲トップへ戻る▲


  
■セルフ変数の一覧

コモンイベント[143:X[戦]主人公DB→戦闘DBコピー]のセルフ変数の一覧です。

セルフ変数
番号 名前 使用内容
0 入力先戦闘DB コピー先の主人公のスロットを設定。
1 読込主人公ID 主人公ID(可変DB[0:主人公ステータス]データID)を設定。
2 オプション 処理方法を設定。
0 新規で主人公をパーティに加えた時
1 装備変更などで戦闘途中にデータを更新する場合、
HP・SP・状態を引き継ぐようにする
5 キャラ名 可変DB[0:主人公ステータス]項目[0:キャラ名]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[0:キャラ名]に設定。
6 グラフィック名 可変DB[0:主人公ステータス]項目[3:顔画像 [バトル・ステータス用]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[1:画像ファイル]に設定。
10 一時変数A ループ処理にて、項目IDの設定で使用。
ユーザーDB[4:防具]項目数を設定し、ウディタのバージョンを確認する時に使用。
11 一時変数B 可変DB[3:┣ 属性耐性]から可変DB[11:×┣ 属性耐性計算結果]
可変DB[4:┣ 状態耐性]から可変DB[12:×┣ 状態耐性計算結果]へデータを渡す時に使用。
16 状態残りターン 可変DB[5:┗ 状態リスト]から可変DB[13:×┣ 状態リスト]へデータを渡す時に使用。
16 状態最大数 ユーザーDB[8:状態設定]データ数を取得し、ループの回数設定で使用。
17 属性最大数 ユーザーDB[7:属性名の設定]データ数を取得し、ループの回数設定で使用。
21 装備番号 ユーザーDB[3:武器]ユーザーDB[4:防具]データIDの設定で使用。
26 装備番号 コモンイベント[106:X[移]選択箇所装備コード取得]の呼び出しにて、
装備コードを取得する装備欄の位置を設定する時に使用。
27 装備コード コモンイベント[106:X[移]選択箇所装備コード取得]の呼び出しにて、
装備コードを取得する時に使用。
武器コード ユーザーDB[3:武器]データID+20000
防具コード ユーザーDB[4:防具]データID+30000
30 変更戦闘コマンド位置 ユーザーDB[3:武器]項目[20:┏ 戦闘コマンドの変更]
ユーザーDB[4:防具]項目[16:┏ 戦闘コマンドの変更]を取得。
0 <なし>
1 コマンド1に上書き
2 コマンド2に上書き
3 コマンド3に上書き
4 コマンド4に上書き
5 コマンド5に上書き
6 コマンド6に上書き
7 コマンド7に上書き
8 コマンド8に上書き
11 コマンド1=ナシなら追加
12 コマンド2=ナシなら追加
13 コマンド3=ナシなら追加
14 コマンド4=ナシなら追加
15 コマンド5=ナシなら追加
16 コマンド6=ナシなら追加
17 コマンド7=ナシなら追加
18 コマンド8=ナシなら追加
100 空き欄に追加[前方]
101 空き欄に追加[後方]
31 変更コマンド番号 ユーザーDB[3:武器]項目[21:┗ 変更するコマンド]
ユーザーDB[4:防具]項目[17:┗ 変更するコマンド]を取得。
40 HP 可変DB[0:主人公ステータス]項目[6:HP]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[5:HP]に設定。
41 SP 可変DB[0:主人公ステータス]項目[8:SP]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[7:SP]に設定。
42 最大HP 可変DB[0:主人公ステータス]項目[9:最大HP]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[6:最大HP]に設定。
43 最大SP 可変DB[0:主人公ステータス]項目[10:最大SP]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[8:最大SP]に設定。
44 攻撃力 可変DB[0:主人公ステータス]項目[10:基本攻撃力]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[9:基本攻撃力]に設定。
45 防御力 可変DB[0:主人公ステータス]項目[11:基本防御力]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[10:基本防御力]に設定。
46 精神攻撃 可変DB[0:主人公ステータス]項目[12:基本精神攻撃]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[11:基本精神攻撃]に設定。
47 精神防御 可変DB[0:主人公ステータス]項目[13:基本精神防御]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[12:基本精神防御]に設定。
48 敏捷性 可変DB[0:主人公ステータス]項目[14:基本敏捷性]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[13:基本敏捷性]に設定。
49 命中率 可変DB[0:主人公ステータス]項目[15:命中率[%]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[14:命中率[%]]に設定。
50 回避率 可変DB[0:主人公ステータス]項目[16:回避率[%]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[15:回避率[%]]に設定。
51 クリティカル 可変DB[0:主人公ステータス]項目[17:基本クリティカル率[%]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[16:基本クリティカル率[%]]に設定。
60 装備武器 可変DB[0:主人公ステータス]項目[28:装備中の武器]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[18:装備中の武器]に設定。
61 装備防具1 可変DB[0:主人公ステータス]項目[29:装備中の防具1]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[19:装備中の防具1]に設定。
62 装備防具2 可変DB[0:主人公ステータス]項目[30:装備中の防具2]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[20:装備中の防具2]に設定。
63 装備防具3 可変DB[0:主人公ステータス]項目[31:装備中の防具3]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[21:装備中の防具3]に設定。
64 装備防具4 可変DB[0:主人公ステータス]項目[32:装備中の防具4]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[22:装備中の防具4]に設定。
65 装備防具5 可変DB[0:主人公ステータス]項目[33:装備中の防具5]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[23:装備中の防具5]に設定。
66 装備防具6 可変DB[0:主人公ステータス]項目[34:装備中の防具6]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[24:装備中の防具6]に設定。
67 装備防具7 可変DB[0:主人公ステータス]項目[35:装備中の防具7]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[25:装備中の防具7]に設定。
70 コマンド1 可変DB[0:主人公ステータス]項目[46:[コマンド1]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[26:[コマンド1]]に設定。
71 コマンド2 可変DB[0:主人公ステータス]項目[47:[コマンド2]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[27:[コマンド2]]に設定。
72 コマンド3 可変DB[0:主人公ステータス]項目[48:[コマンド3]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[28:[コマンド3]]に設定。
73 コマンド4 可変DB[0:主人公ステータス]項目[49:[コマンド4]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[29:[コマンド4]]に設定。
74 コマンド5 可変DB[0:主人公ステータス]項目[50:[コマンド5]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[30:[コマンド5]]に設定。
75 コマンド6 可変DB[0:主人公ステータス]項目[51:[コマンド6]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[31:[コマンド6]]に設定。
76 コマンド7 可変DB[0:主人公ステータス]項目[52:[コマンド7]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[32:[コマンド7]]に設定。
77 コマンド8 可変DB[0:主人公ステータス]項目[53:[コマンド8]]を取得し、
可変DB[10:×┏ 戦闘一時ステータス[基]]項目[33:[コマンド8]]に設定。
80 属性1 ユーザーDB[4:防具]項目[25:耐性/弱点属性A]を取得。
取得する値はユーザーDB[7:属性名の設定]データID
81 属性1% ユーザーDB[4:防具]項目[26:┗ 属性耐性A防御率±%]を取得。
82 属性2 ユーザーDB[4:防具]項目[27:耐性/弱点属性B]を取得。
83 属性2% ユーザーDB[4:防具]項目[28:┗ 属性耐性B防御率±%]を取得。
84 属性3 ユーザーDB[4:防具]項目[29:耐性/弱点属性C]を取得。
85 属性3% ユーザーDB[4:防具]項目[30:┗ 属性耐性C防御率±%]を取得。
90 状態1 ユーザーDB[4:防具]項目[32:状態耐性A]を取得。
取得する値はユーザーDB[8:状態設定]データID
91 状態1% ユーザーDB[4:防具]項目[33:┗ 状態耐性A防御率±%]を取得。
92 状態2 ユーザーDB[4:防具]項目[34:状態耐性B]を取得。
93 状態2% ユーザーDB[4:防具]項目[35:┗ 状態耐性B防御率±%]を取得。
94 状態3 ユーザーDB[4:防具]項目[36:状態耐性C]を取得。
95 状態3% ユーザーDB[4:防具]項目[37:┗ 状態耐性C防御率±%]を取得。

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


▲トップへ戻る▲


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

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

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

処理内容
11-13 ▼ 初期化
これから設定する主人公用の可変DBを初期化。
14-20 ■条件分岐(変数): 【1】 CSelf2[オプション] が 0 と同じ
オプション「[0]全て移動DBからコピー」の場合は分岐。
オプション「[1]HP・SP・状態を維持してコピー」の場合は分岐せず、
可変DB[10:×┏ 戦闘一時ステータス[基]]可変DB[13:×┣ 状態リスト]は初期化しません。
これは装備変更などで主人公情報を更新する時に、HPや状態異常などはそのままにするために、
可変DB[10:×┏ 戦闘一時ステータス[基]]可変DB[13:×┣ 状態リスト]は初期化しないで、
そのままにしています。
64行目127行目の条件分岐も同じ仕様です。
  16-18 ▼ 全てコピーの場合だけ処理 (HP・SP・状態を維持する場合は処理しない)
可変DB[10:×┏ 戦闘一時ステータス[基]]可変DB[13:×┣ 状態リスト]を初期化。
21-23 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 読み込みデータ
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
24-28 ■条件分岐(変数): 【1】 CSelf1[読込主人公ID] が -1 以下
主人公IDが設定されていない場合は分岐し、【イベント処理中断】を実行。
29-58 セルフ[8〜9]セルフ[40〜77]に主人公の情報を設定。
59-61 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 書き込みデータ
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
62-98 セルフ[8〜9]セルフ[40〜77]の情報を可変DB[10:×┏ 戦闘一時ステータス[基]]へ複製。
99-101 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 属性耐性をコピー
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
105-110 ■回数付きループ [ CSelf17[属性最大数] ]回
ユーザーDB[7:属性名の設定]データ数の数だけループ。
  107-108 可変DB[3:┣ 属性耐性]から可変DB[11:×┣ 属性耐性計算結果]へデータを複製。
111-113 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 状態耐性をコピー
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
117-122 ■回数付きループ [ CSelf16 ]回
ユーザーDB[8:状態設定]データ数の数だけループ。
  119-120 可変DB[4:┣ 状態耐性]から可変DB[12:×┣ 状態耐性計算結果]へデータを複製。
123-126 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 状態をコピー
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 戦闘DBへ状態を全てコピーする
127-138 ■条件分岐(変数): 【1】 CSelf2[オプション] が 0 と同じ
オプション「[0]全て移動DBからコピー」の場合は分岐。
  129 ▼ 全てコピーの場合だけ処理 (HP・SP・状態を維持する場合は処理しない)
  131-136 ■回数付きループ [ CSelf16[状態最大数] ]回
ユーザーDB[8:状態設定]データ数の数だけループ。
    133-134 可変DB[5:┗ 状態リスト]から可変DB[13:×┣ 状態リスト]へデータを複製。
139-141 ▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ 装備からコマンド修正 + 属性耐性補正
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
143-254 ■回数付きループ [ 8 ]回
8つの装備欄を1つずつ調べます。
  145 コモンイベント[106:X[移]選択箇所装備コード取得]を呼び出し、
指定した装備欄にある装備コードをセルフ[27]に取得。
  146-252 ■条件分岐(変数): 【1】 CSelf27[装備コード] が 20000 以上
装備コードがあった場合は分岐。
    148 ▼ 戦闘コマンドの追加
    149-154 ■条件分岐(変数): 【1】 CSelf27[装備コード] が 29999 以下
装備コードが武器の場合は分岐。
      151 ▼ 武器の場合
      153 ユーザーDB[3:武器]項目[20:┏ 戦闘コマンドの変更]セルフ[30]に設定。
      154 ユーザーDB[3:武器]項目[21:┗ 変更するコマンド]セルフ[31]に設定。
    156-225 ◇分岐: 【2】 [ CSelf27[装備コード] が 39999 以下 ]の場合↓
装備コードが防具の場合は分岐。
      157 ▼ 武器の場合
      159 ユーザーDB[4:防具]項目[16:┏ 戦闘コマンドの変更]セルフ[30]に設定。
      160 ユーザーDB[4:防具]項目[17:┗ 変更するコマンド]セルフ[31]に設定。
      162 ▼ 属性耐性の処理
      170-174 ■条件分岐(変数): 【1】 CSelf80[属性1] が 0 以上
ユーザーDB[7:属性名の設定]データIDの設定がある場合は分岐。
        172 可変DB[11:×┣ 属性耐性計算結果]セルフ[80]が指定した項目IDセルフ[81]を減算。
      175-179 ■条件分岐(変数): 【1】 CSelf82[属性2] が 0 以上
ユーザーDB[7:属性名の設定]データIDの設定がある場合は分岐。
        177 可変DB[11:×┣ 属性耐性計算結果]セルフ[82]が指定した項目IDセルフ[83]を減算。
      180-184 ■条件分岐(変数): 【1】 CSelf84[属性3] が 0 以上
ユーザーDB[7:属性名の設定]データIDの設定がある場合は分岐。
        182 可変DB[11:×┣ 属性耐性計算結果]セルフ[84]が指定した項目IDセルフ[85]を減算。
      188-211 ■条件分岐(変数): 【1】 CSelf10[一時変数A] が 38 以上
ユーザーDB[4:防具]の項目数が「38個以上」の場合は分岐。
ウディタ[2.01]まではユーザーDB[4:防具]の項目数が「32個(項目[0〜31])」で、
ウディタ[2.02]からは項目数が「38個(項目[0〜37])」になりました。
そのため、ウディタ[2.00〜2.01]で作られた作品データに現在のコモンイベントを適用すると、
ユーザーDB[4:防具]項目[32〜37]の設定欄が存在しないため、エラーが発生します。
この条件分岐では「項目数[38]以上=項目[32〜37]が存在する」と判断して処理しています。
        190 ▼ 状態耐性の処理
        197-201 ■条件分岐(変数): 【1】 CSelf90[状態1] が 0 以上
ユーザーDB[8:状態設定]データIDの設定がある場合は分岐。
          199 可変DB[12:×┣ 状態耐性計算結果]セルフ[90]が指定した項目IDセルフ[91]を減算。
        202-206 ■条件分岐(変数): 【1】 CSelf92[状態2] が 0 以上
ユーザーDB[8:状態設定]データIDの設定がある場合は分岐。
          204 可変DB[12:×┣ 状態耐性計算結果]セルフ[92]が指定した項目IDセルフ[93]を減算。
        207-211 ■条件分岐(変数): 【1】 CSelf94[状態3] が 0 以上
ユーザーDB[8:状態設定]データIDの設定がある場合は分岐。
          209 可変DB[12:×┣ 状態耐性計算結果]セルフ[94]が指定した項目IDセルフ[95]を減算。
    226-250 ■条件分岐(変数): 【1】 CSelf30[変更戦闘コマンド位置] が 1 以上
装備品に戦闘コマンドの設定がある場合は分岐。
      228-231 ■条件分岐(変数): 【1】 CSelf30[変更戦闘コマンド位置] が 9 以下
戦闘コマンドの変更が「コマンド〜上書き」の場合は分岐。
        230 セルフ[30]に「減算1」を設定。
セルフ[30]の値が「4」だった場合は「3」にします。
        231 コモンイベント[151:X[戦]戦闘コマンド設定]を呼び出し、
指定したコマンド位置(セルフ[30])に強制的にセルフ[31](戦闘コマンドID)を設定。
      233-236 ◇分岐: 【2】 [ CSelf30[変更戦闘コマンド位置] が 19 以下 ]の場合↓
戦闘コマンドの変更が「コマンド〜=ナシなら追加」の場合は分岐。
        234-235 セルフ[30]に「減算1」と「余剰10」を設定。
セルフ[30]の値が「14」だった場合は「3」にします。
        236 コモンイベント[151:X[戦]戦闘コマンド設定]を呼び出し、
指定したコマンド位置(セルフ[30])にコマンドの設定が無かったらセルフ[31]を設定。
      239-241 ■条件分岐(変数): 【1】 CSelf30[変更戦闘コマンド位置] が 100 と同じ
戦闘コマンドの変更が「空き欄に追加[前方]」の場合は分岐。
        241 コモンイベント[151:X[戦]戦闘コマンド設定]を呼び出し、
コマンド1から8に向かって順番に空きを調べて、空きが見つかったらそこにセルフ[31]を設定。
空きが無かった場合は、コマンドは設定しません。
      243-244 ◇分岐: 【2】 [ CSelf30[変更戦闘コマンド位置] が 101 と同じ ]の場合↓
戦闘コマンドの変更が「空き欄に追加[後方]」の場合は分岐。
        244 コモンイベント[151:X[戦]戦闘コマンド設定]を呼び出し、
コマンド8から1に向かって順番に空きを調べて、空きが見つかったらそこにセルフ[31]を設定。
空きが無かった場合は、コマンドは設定しません。


▲トップへ戻る▲



◎関連ページ

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

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