WOLF RPGエディター(ウディタ)[3.337]/技能改造【サイトトップへ戻る】
■技能使用時のSP・HP消費量を最大値の〜%で設定
(更新:2024/05/19)


技能使用時のSP・HP消費量を最大値の〜%で設定できるように改造します。


▼最大SPの20%が消費量の場合の表示例(最大SPが変わると技能使用時のSP消費量も変わります)


ショートカット
■改造内容の確認
■データベースの設定
■技能を選択する画面の表示設定を改造
■技能使用時のSP・HPの消費処理を改造
■コモンイベント[152:X[戦]戦闘コマンド一覧算出]を改造
■コモンイベント[196:X┃┣◆行動可能判定]を改造

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

基本的にダウンロードしたデータを設定すれば、下記の改造の手順を見る必要はありません。

下記の情報は…
処理の仕様や改造したイベントの設定場所などを詳しく知りたい
他のコモン素材と一緒に使いたいので、このコモン素材を手作業で設定したい
などの方を対象にしています。


  
■改造内容の確認

ユーザーDB[0:技能]には項目[4:┏ 消費するものは?]の設定があります。

この項目[4:┏ 消費するものは?]には「[0]SPを消費する」と「[1]HPを消費する」の設定がありますが、
ここに「[10]最大SPの〜%を消費する」と「[11]最大HPの〜%を消費する」を追加し、
項目[5:┗ 消費ポイント]でパーセントの設定が行えるように改造します。





最大SPが「200」で「最大SPの10%を消費」の場合は、SPの消費量は「20」になります。

最大SPが「205」で「最大SPの10%を消費」の場合は「20.5」になり、
この場合は小数点以下を切り捨てにして、SPの消費量は「20」にします。

最大SPが「10」で「最大SPの5%を消費」の場合は「0.5」になり、小数点以下を切り捨てにすると「0」になってしまうので、
この場合は「下限1」を実行して、最低でも消費量が「1以上」になるようにします。

なお、100%以上の設定にすると、最大値よりも大きい消費量になるため、使用できない状態になります。



技能の選択画面では、最大SP(最大HP)にパーセントを掛けた「実際に消費する量」を表示します。

例えば「最大SPの20%を消費」の場合で、
最大SPが「20」の場合は消費量「4」を表示し、
最大SPが「35」の場合は消費量「7」を表示します。


画面下の説明文には「SP消費量は最大SPの20%」などと記載しておいた方が良いでしょう。



コモンイベントは「移動時」と「戦闘時」に分かれているため、「移動時」と「戦闘時」の両方のコモンイベントを改造する必要があります。


▲トップへ戻る▲


 
■データベースの設定

ユーザーDB[0:技能]の画面を開き、[タイプの内容設定]をクリックし、項目名4の[▼特]を開き、
「選択肢を手動作成(数値)」にて「[10]最大SPの〜%を消費する」と「[11]最大HPの〜%を消費する」を追加してください。





最大値のパーセントで設定したい技能の設定を行ってください。

設定例では「3:ヒールレイン」を「[10]最大SPの〜%を消費する」「20」に変更して、
項目[1:説明]の2行目に「SP消費量は最大SPの20%」などと記載してください。

▼説明文は項目をクリックすると画面下の大きな画面で文章の編集ができます




動作テストのため、可変DB[1:┣ 技能習得Lv]にて「ヒールレイン」が初めから使用できるようにしてください。




▲トップへ戻る▲


  
■技能を選択する画面の表示設定を改造

コモンイベント[111:X[移]技能一覧算出]コモンイベント[154:X[戦]技能一覧算出]を改造します。

この2つのコモンイベントは、技能を選択する一覧画面を万能ウィンドウで表示する前に呼び出され、
技能の名前やSP消費量の情報を可変DB[19:万能ウィンドウ一時DB]に登録する時に使います。

今回は「[10]最大SPの〜%を消費する」や「[11]最大HPの〜%を消費する」の場合は、
「最大値の〜%の消費量」が登録されるように改造します。



追加するセルフ変数
番号 名前 使用内容
20 最大HP 主人公の最大HPを設定。
21 最大SP 主人公の最大SPを設定。



この色は新規で追加したイベントコマンドになります。
それ以外の色は元からあったイベントコマンドです。

【イベントコード表示】
■コモンイベント「111:X[移]技能一覧算出」
  
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】
▼ 指定キャラクターの技能一覧を計算し、その技能一覧と選択可能状態を
▼ 可変DB「万能ウィンドウ一時DB」に格納します。

▼ 【このコモンイベント内で操作しているデータベース】

▼ 【ここから呼び出している別コモンイベント】

▼ 【どのコモンイベントから主に呼び出されているか】
▼ ―――――――――――――――――――――――――――――――――――

■可変DB書込:[タイプ 万能ウィンドウ一時DB(19) を初期化]
■変数操作: CSelf32[万能ウィンドウ登録位置] = -1 + 0
■DB読込(可変): CSelf20[最大HP] = 可変DB[ ×主人公一時DB : CSelf0[対象主人公ID] : [一時]計算済みMaxHP ] (17 : - : 0)
■DB読込(可変): CSelf21[最大SP] = 可変DB[ ×主人公一時DB : CSelf0[対象主人公ID] : [一時]計算済みMaxSP ] (17 : - : 1)

▼ 技能追加処理
■変数操作: CSelf30[処理対象個数] = -1 + 0
■回数付きループ [ 50 ]回
|■変数操作: CSelf30[処理対象個数] += 1 + 0
|■変数操作: CSelf31[注目位置] = CSelf30[処理対象個数] * 2
|■DB読込(可変): CSelf35[習得レベル] = 可変DB[ ┣ 技能習得Lv : CSelf0[対象主人公ID] : CSelf31[注目位置] ] (1 : - : -)
|■変数操作: CSelf31[注目位置] += 1 + 0
|■DB読込(可変): CSelf34[技能コード] = 可変DB[ ┣ 技能習得Lv : CSelf0[対象主人公ID] : CSelf31[注目位置] ] (1 : - : -)
|■条件分岐(変数): 【1】 CSelf35[習得レベル] が 0 以上
|-◇分岐: 【1】 [ CSelf35[習得レベル] が 0 以上 ]の場合↓
||■条件分岐(変数): 【1】 CSelf34[技能コード] が 0 以上
||-◇分岐: 【1】 [ CSelf34[技能コード] が 0 以上 ]の場合↓
|||▼ レベルが既定以上になっていれば万能ウィンドウに登録
|||■DB読込(可変): CSelf36[現在レベル] = 可変DB[ 主人公ステータス : CSelf0[対象主人公ID] : レベル ] (0 : - : 4)
|||■条件分岐(変数): 【1】 CSelf35[習得レベル] が CSelf36[現在レベル] 以下
|||-◇分岐: 【1】 [ CSelf35[習得レベル] が CSelf36[現在レベル] 以下 ]の場合↓
||||▼ 万能ウィンドウの書き込み先位置を+1
||||■変数操作: CSelf32[万能ウィンドウ登録位置] += 1 + 0
||||▼ 名前・コード・数量・付与文字列を格納
||||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ 技能 : CSelf34[技能コード] : 技能の名前 ] (0 : - : 0)
||||■変数操作: CSelf11[一時コード番号] = CSelf30[処理対象個数] + 0
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 項目文 ] (19 : - : 0) = CSelf9[一時項目名]
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 項目コード ] (19 : - : 1) = CSelf34[技能コード]
||||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ 技能 : CSelf34[技能コード] : 説明 ] (0 : - : 1)
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 説明文 ] (19 : - : 6) = CSelf9[一時項目名]
||||▼ 消費ポイントを格納
||||■DB読込(ユーザ): CSelf10[一時変数A] = ユーザDB[ 技能 : CSelf34[技能コード] : ┗ 消費ポイント ] (0 : - : 5)
||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント ](19 : - : 3)=CSelf10[一時変数A]
||||▼ HP消費型なら「HP」に該当する文字列を付与
||||■DB読込(ユーザ): CSelf10[一時変数A] = ユーザDB[ 技能 : CSelf34[技能コード] : ┏ 消費するものは? ] (0 : - : 4)
||||■条件分岐(変数): 【1】 CSelf10[一時変数A] が 10 と同じ 【2】 CSelf10[一時変数A] が 11 と同じ
||||-◇分岐: 【1】 [ CSelf10[一時変数A] が 10 と同じ ]の場合↓
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)*= CSelf21[最大SP]
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)/= 100
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)下限 1
|||||■
||||-◇分岐: 【2】 [ CSelf10[一時変数A] が 11 と同じ ]の場合↓
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)*= CSelf20[最大HP]
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)/= 100
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)下限 1
|||||■
||||◇分岐終了◇
||||■変数操作: CSelf10[一時変数A] %= 10 + 0

||||■条件分岐(変数): 【1】 CSelf10[一時変数A] が 1 と同じ
||||-◇分岐: 【1】 [ CSelf10[一時変数A] が 1 と同じ ]の場合↓
|||||■DB読込(ユーザ): CSelf8[付与HP名] = ユーザDB[ 用語設定 : 0 : [ステータス]HP名称 ] (15 : 用語基本設定 : 7)
|||||■可変DB書込:DB[ 万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:付与文字列[前]](19 : - : 4) += CSelf8[付与HP名]
|||||■
||||◇分岐終了◇
||||▼ 選択可能かどうか判定
||||■DB読込(ユーザ): CSelf12[一時変数B] = ユーザDB[ 技能 : CSelf34[技能コード] : 使用可能シーン ] (0 : - : 6)
||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が 0 以上
||||-◇分岐: 【1】 [ CSelf12[一時変数B] が 0 以上 ]の場合↓
|||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が 1 以下
|||||-◇分岐: 【1】 [ CSelf12[一時変数B] が 1 以下 ]の場合↓
||||||▼ 残りHP・SP判定
||||||■DB読込(ユーザ): CSelf10[一時変数A] = ユーザDB[ 技能 : CSelf34[技能コード] : ┏ 消費するものは? ] (0 : - : 4)
||||||■変数操作: CSelf10[一時変数A] %= 10 + 0
||||||■条件分岐(変数): 【1】 CSelf10[一時変数A] が 0 と同じ 【2】 CSelf10[一時変数A] が 1 と同じ
||||||-◇分岐: 【1】 [ CSelf10[一時変数A] が 0 と同じ ]の場合↓
|||||||■DB読込(可変): CSelf12[一時変数B] = 可変DB[ 主人公ステータス : CSelf0[対象主人公ID] : SP ] (0 : - : 8)
|||||||■
||||||-◇分岐: 【2】 [ CSelf10[一時変数A] が 1 と同じ ]の場合↓
|||||||■DB読込(可変): CSelf12[一時変数B] = 可変DB[ 主人公ステータス : CSelf0[対象主人公ID] : HP ] (0 : - : 6)
|||||||■変数操作: CSelf12[一時変数B] -= 1 + 0
|||||||■
||||||◇分岐終了◇
||||||■DB読込(ユーザ): CSelf13[一時変数C] = ユーザDB[ 技能 : CSelf34[技能コード] : ┗ 消費ポイント ] (0 : - : 5)
||||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が CSelf13[一時変数C] 未満
||||||-◇分岐: 【1】 [ CSelf12[一時変数B] が CSelf13[一時変数C] 未満 ]の場合↓
|||||||▼ 必要ポイントが足りなかったらチェック終了
|||||||■ループ開始へ戻る
|||||||■
||||||◇分岐終了◇
||||||▼ 封印チェック
||||||■DB読込(可変): CSelf12[一時変数B] = 可変DB[×主人公一時DB:CSelf0[対象主人公ID]:[一時]封印状態? ] (17 : - : 16)
||||||■DB読込(ユーザ): CSelf12[一時変数B] *= ユーザDB[ 技能 : CSelf34[技能コード] : 特殊技能制限の影響を… ] (0 : - : 21)
||||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が 0 以外
||||||-◇分岐: 【1】 [ CSelf12[一時変数B] が 0 以外 ]の場合↓
|||||||■ループ開始へ戻る
|||||||■
||||||◇分岐終了◇
||||||▼ 発動アイテムチェック
||||||■変数操作: CSelf14[発動アイテムチェック] = 1 + 0
||||||■DB読込(ユーザ): CSelf13[一時変数C] = ユーザDB[ 技能 : CSelf34[技能コード] : 発動アイテム要する?[消費] ] (0 : - : 20)
||||||■条件分岐(変数): 【1】 CSelf13[一時変数C] が 0 以上
||||||-◇分岐: 【1】 [ CSelf13[一時変数C] が 0 以上 ]の場合↓
|||||||■イベントの挿入[名]: CSelf13[一時変数C] = ["X[共]アイテム所持数取得"] <コモンEv 54> / CSelf13[一時変数C]
|||||||▼ アイテムがなかったら発動アイテムチェックを0にする
|||||||■条件分岐(変数): 【1】 CSelf13[一時変数C] が 0 以下
|||||||-◇分岐: 【1】 [ CSelf13[一時変数C] が 0 以下 ]の場合↓
||||||||■変数操作: CSelf14[発動アイテムチェック] = 0 + 0
||||||||■
|||||||◇分岐終了◇
|||||||■
||||||◇分岐終了◇
||||||■条件分岐(変数): 【1】 CSelf14[発動アイテムチェック] が 1 以上
||||||-◇分岐: 【1】 [ CSelf14[発動アイテムチェック] が 1 以上 ]の場合↓
|||||||■DB読込(ユーザ): CSelf12[一時変数B] = ユーザDB[ 技能 : CSelf34[技能コード] : ┏ 効果対象 ] (0 : - : 2)
|||||||▼ 味方に対して使用可能 または マップ時にイベント起動 の場合だけ使用可能
|||||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が 100 と同じ 【2】 CSelf12[一時変数B] が 0 以上
|||||||-◇分岐: 【1】 [ CSelf12[一時変数B] が 100 と同じ ]の場合↓
||||||||▼ イベント起動
||||||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 1
||||||||■
|||||||-◇分岐: 【2】 [ CSelf12[一時変数B] が 0 以上 ]の場合↓
||||||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が 9 以下
||||||||-◇分岐: 【1】 [ CSelf12[一時変数B] が 9 以下 ]の場合↓
|||||||||▼ 味方に対して使用可能
|||||||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 1
|||||||||■
||||||||◇分岐終了◇
||||||||■
|||||||◇分岐終了◇
|||||||■
||||||◇分岐終了◇
||||||■
|||||◇分岐終了◇
|||||■
||||◇分岐終了◇
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ 万能ウィンドウの項目個数を代入
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ項目個数 : 0 ] (18 : 17 : 数値) = CSelf32[万能ウィンドウ登録位置]
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ項目個数 : 0 ] (18 : 17 : 数値) += 1

【イベントコード表示】
■コモンイベント「154:X[戦]技能一覧算出」
  
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】
▼ 指定したキャラの所持技能を計算し、名前一覧と選択可能状態を
▼ 可変DB「万能ウィンドウ一時DB」に格納します。

▼ 【このコモンイベント内で操作しているデータベース】

▼ 【ここから呼び出している別コモンイベント】

▼ 【どのコモンイベントから主に呼び出されているか】
▼ ―――――――――――――――――――――――――――――――――――

■可変DB書込:[タイプ 万能ウィンドウ一時DB(19) を初期化]
■変数操作: CSelf32[万能ウィンドウ登録位置] = -1 + 0
■DB読込(可変): CSelf20[最大HP] = 可変DB[ ×主人公一時DB : CSelf0[対象スロット] : [一時]計算済みMaxHP ] (17 : - : 0)
■DB読込(可変): CSelf21[最大SP] = 可変DB[ ×主人公一時DB : CSelf0[対象スロット] : [一時]計算済みMaxSP ] (17 : - : 1)

▼ 技能追加処理
■変数操作: CSelf30[処理対象個数] = -1 + 0
■回数付きループ [ 50 ]回
|■変数操作: CSelf30[処理対象個数] += 1 + 0
|■変数操作: CSelf31[注目位置] = CSelf30[処理対象個数] * 2
|■イベントの挿入[名]: CSelf15[主人公ID] = ["X[戦]スロットから主人公ID取得"] <コモンEv 141> / CSelf0[対象スロット]
|■DB読込(可変): CSelf35[習得レベル] = 可変DB[ ┣ 技能習得Lv : CSelf15[主人公ID] : CSelf31[注目位置] ] (1 : - : -)
|■変数操作: CSelf31[注目位置] += 1 + 0
|■DB読込(可変): CSelf34[技能コード] = 可変DB[ ┣ 技能習得Lv : CSelf15[主人公ID] : CSelf31[注目位置] ] (1 : - : -)
|■条件分岐(変数): 【1】 CSelf35[習得レベル] が 0 以上
|-◇分岐: 【1】 [ CSelf35[習得レベル] が 0 以上 ]の場合↓
||■条件分岐(変数): 【1】 CSelf34[技能コード] が 0 以上
||-◇分岐: 【1】 [ CSelf34[技能コード] が 0 以上 ]の場合↓
|||▼ レベルが既定以上になっていれば万能ウィンドウに登録
|||■DB読込(可変): CSelf36[現在レベル] = 可変DB[ 主人公ステータス : CSelf15[主人公ID] : レベル ] (0 : - : 4)
|||■条件分岐(変数): 【1】 CSelf35[習得レベル] が CSelf36[現在レベル] 以下
|||-◇分岐: 【1】 [ CSelf35[習得レベル] が CSelf36[現在レベル] 以下 ]の場合↓
||||▼ 万能ウィンドウの書き込み先位置を+1
||||■変数操作: CSelf32[万能ウィンドウ登録位置] += 1 + 0
||||▼ 名前・コード・数量・付与文字列を格納
||||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ 技能 : CSelf34[技能コード] : 技能の名前 ] (0 : - : 0)
||||■変数操作: CSelf11[一時コード番号] = CSelf30[処理対象個数] + 0
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 項目文 ] (19 : - : 0) = CSelf9[一時項目名]
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 項目コード ] (19 : - : 1) = CSelf34[技能コード]
||||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ 技能 : CSelf34[技能コード] : 説明 ] (0 : - : 1)
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 説明文 ] (19 : - : 6) = CSelf9[一時項目名]
||||▼ 消費ポイントを格納
||||■DB読込(ユーザ): CSelf10[一時変数A] = ユーザDB[ 技能 : CSelf34[技能コード] : ┗ 消費ポイント] (0 : - : 5)
||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)= CSelf10[一時変数A]
||||▼ HP消費型なら「HP」に該当する文字列を付与
||||■DB読込(ユーザ): CSelf10[一時変数A] = ユーザDB[ 技能 : CSelf34[技能コード] : ┏ 消費するものは? ] (0 : - : 4)
||||■条件分岐(変数): 【1】 CSelf10[一時変数A] が 10 と同じ 【2】 CSelf10[一時変数A] が 11 と同じ
||||-◇分岐: 【1】 [ CSelf10[一時変数A] が 10 と同じ ]の場合↓
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)*= CSelf21[最大SP]
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)/= 100
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)下限 1
|||||■
||||-◇分岐: 【2】 [ CSelf10[一時変数A] が 11 と同じ ]の場合↓
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)*= CSelf20[最大HP]
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)/= 100
|||||■可変DB書込:DB[万能ウィンドウ一時DB:CSelf32[万能ウィンドウ登録位置]:残り個数/消費ポイント](19 : - : 3)下限 1
|||||■
||||◇分岐終了◇
||||■変数操作: CSelf10[一時変数A] %= 10 + 0

||||■条件分岐(変数): 【1】 CSelf10[一時変数A] が 1 と同じ
||||-◇分岐: 【1】 [ CSelf10[一時変数A] が 1 と同じ ]の場合↓
|||||■DB読込(ユーザ): CSelf8[付与HP名] = ユーザDB[ 用語設定 : 0 : [ステータス]HP名称 ] (15 : 用語基本設定 : 7)
|||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置]:付与文字列[前]] (19 : - : 4)+= CSelf8[付与HP名]
|||||■
||||◇分岐終了◇
||||▼ 選択可能かどうか判定
||||■DB読込(ユーザ): CSelf12[一時変数B] = ユーザDB[ 技能 : CSelf34[技能コード] : 使用可能シーン ] (0 : - : 6)
||||▼ 戦闘時のみ使用可能
||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が 1 以上
||||-◇分岐: 【1】 [ CSelf12[一時変数B] が 1 以上 ]の場合↓
|||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が 2 以下
|||||-◇分岐: 【1】 [ CSelf12[一時変数B] が 2 以下 ]の場合↓
||||||▼ ■■■条件設定、ここから
||||||▼ 残りHP・SP判定

||||||■DB読込(ユーザ): CSelf10[一時変数A] = ユーザDB[ 技能 : CSelf34[技能コード] : ┏ 消費するものは? ] (0 : - : 4)
||||||■変数操作: CSelf10[一時変数A] %= 10 + 0
||||||■条件分岐(変数): 【1】 CSelf10[一時変数A] が 0 と同じ 【2】 CSelf10[一時変数A] が 1 と同じ
||||||-◇分岐: 【1】 [ CSelf10[一時変数A] が 0 と同じ ]の場合↓
|||||||■DB読込(可変): CSelf12[一時変数B] = 可変DB[×┏ 戦闘一時ステータス[基]:CSelf0[対象スロット]:SP](10 : - : 7)
|||||||■
||||||-◇分岐: 【2】 [ CSelf10[一時変数A] が 1 と同じ ]の場合↓
|||||||■DB読込(可変): CSelf12[一時変数B] = 可変DB[×┏ 戦闘一時ステータス[基]:CSelf0[対象スロット]:HP](10 : - : 5)
|||||||■変数操作: CSelf12[一時変数B] -= 1 + 0
|||||||■
||||||◇分岐終了◇
||||||■DB読込(ユーザ): CSelf13[一時変数C] = ユーザDB[ 技能 : CSelf34[技能コード] : ┗ 消費ポイント ] (0 : - : 5)
||||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が CSelf13[一時変数C] 未満
||||||-◇分岐: 【1】 [ CSelf12[一時変数B] が CSelf13[一時変数C] 未満 ]の場合↓
|||||||■ループ開始へ戻る
|||||||■
||||||◇分岐終了◇
||||||▼
||||||▼ 発動アイテムチェック

||||||■変数操作: CSelf14[発動アイテムチェック] = 1 + 0
||||||■DB読込(ユーザ): CSelf13[一時変数C] = ユーザDB[ 技能:CSelf34[技能コード]:発動アイテム要する?[消費]] (0 : - : 20)
||||||■条件分岐(変数): 【1】 CSelf13[一時変数C] が 0 以上
||||||-◇分岐: 【1】 [ CSelf13[一時変数C] が 0 以上 ]の場合↓
|||||||■イベントの挿入[名]: CSelf13[一時変数C] = ["X[共]アイテム所持数取得"] <コモンEv 54> / CSelf13[一時変数C]
|||||||▼ アイテムがなかったら発動アイテムチェックを0にする
|||||||■条件分岐(変数): 【1】 CSelf13[一時変数C] が 0 以下
|||||||-◇分岐: 【1】 [ CSelf13[一時変数C] が 0 以下 ]の場合↓
||||||||■変数操作: CSelf14[発動アイテムチェック] = 0 + 0
||||||||■
|||||||◇分岐終了◇
|||||||■
||||||◇分岐終了◇
||||||▼ 発動アイテムがあるか、またはアイテム使用しない技能の場合
||||||■条件分岐(変数): 【1】 CSelf14[発動アイテムチェック] が 1 以上
||||||-◇分岐: 【1】 [ CSelf14[発動アイテムチェック] が 1 以上 ]の場合↓
|||||||■DB読込(ユーザ): CSelf12[一時変数B] = ユーザDB[ 技能 : CSelf34[技能コード] : ┏ 効果対象 ] (0 : - : 2)
|||||||▼ 敵・味方に対して使用可能 または 戦闘時にイベント起動 の場合だけ使用可能
|||||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が 101 と同じ 【2】 CSelf12[一時変数B] が 0 以上
|||||||-◇分岐: 【1】 [ CSelf12[一時変数B] が 101 と同じ ]の場合↓
||||||||▼ イベント起動
||||||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 1
||||||||■
|||||||-◇分岐: 【2】 [ CSelf12[一時変数B] が 0 以上 ]の場合↓
||||||||■条件分岐(変数): 【1】 CSelf12[一時変数B] が 12 以下
||||||||-◇分岐: 【1】 [ CSelf12[一時変数B] が 12 以下 ]の場合↓
|||||||||▼ 味方に対して使用可能
|||||||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 1
|||||||||■
||||||||◇分岐終了◇
||||||||■
|||||||◇分岐終了◇
|||||||■
||||||◇分岐終了◇
||||||■
|||||◇分岐終了◇
|||||▼ ■■■条件設定、ここまで
|||||■
||||◇分岐終了◇
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ 万能ウィンドウの項目個数を代入
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ項目個数 : 0 ] (18 : 17 : 数値) = CSelf32[万能ウィンドウ登録位置]
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ項目個数 : 0 ] (18 : 17 : 数値) += 1


▲トップへ戻る▲


  
■技能使用時のSP・HPの消費処理を改造

コモンイベント[121:X[移]技能使用_消費処理]コモンイベント[170:X[戦]技能使用_消費処理]を改造します。

この2つのコモンイベントには、技能を使用する時のSP・HPの消費量を読み込む設定があり、
この消費量を読み込む設定に「[10]最大SPの〜%を消費する」や「[11]最大HPの〜%を消費する」に対応する設定を追加します。



この色は新規で追加したイベントコマンドになります。
それ以外の色は元からあったイベントコマンドです。

【イベントコード表示】
■コモンイベント「121:X[移]技能使用_消費処理」
  
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】
▼ 技能を使用した際、SPや要発動アイテムを減らしたり、
▼ メッセージが表示されたりする処理をここで行います
▼ ―――――――――――――――――――――――――――――――――――

■変数操作: CSelf99[次使用可能?] = 1 + 0
■文字列操作:CSelf9[一時文字列] = ""
▼ アイテムの場合
■変数操作: CSelf10[使用技能] = CSelf1[使用技能] + 0
■DB読込(ユーザ): CSelf9[一時文字列] = ユーザDB[ 技能 : CSelf10[使用技能] : 使用時文章[移動](人名~ ] (0 : - : 13)
■DB読込(ユーザ): CSelf11[消費するもの] = ユーザDB[ 技能 : CSelf10[使用技能] : ┏ 消費するものは? ] (0 : - : 4)
■DB読込(ユーザ): CSelf12[消費ポイント] = ユーザDB[ 技能 : CSelf10[使用技能] : ┗ 消費ポイント ] (0 : - : 5)
■DB読込(ユーザ): CSelf13[要発動アイテム] = ユーザDB[ 技能 : CSelf10[使用技能] : 発動アイテム要する?[消費] ] (0 : - : 20)
■条件分岐(変数): 【1】 CSelf11[消費するもの] が 10 と同じ 【2】 CSelf11[消費するもの] が 11 と同じ
-◇分岐: 【1】 [ CSelf11[消費するもの] が 10 と同じ ]の場合↓
|■DB読込(可変): CSelf12[消費ポイント] *= 可変DB[ ×主人公一時DB : CSelf0[発動主人公ID] : [一時]計算済みMaxSP ] (17 : - : 1)
|■変数操作: CSelf12[消費ポイント] /= 100 + 0
|■変数操作: CSelf12[消費ポイント] 下限= 1 + 0
|■
-◇分岐: 【2】 [ CSelf11[消費するもの] が 11 と同じ ]の場合↓
|■DB読込(可変): CSelf12[消費ポイント] *= 可変DB[ ×主人公一時DB : CSelf0[発動主人公ID] : [一時]計算済みMaxHP ] (17 : - : 0)
|■変数操作: CSelf12[消費ポイント] /= 100 + 0
|■変数操作: CSelf12[消費ポイント] 下限= 1 + 0
|■
◇分岐終了◇
■変数操作: CSelf11[消費するもの] %= 10 + 0

■条件分岐(変数): 【1】 CSelf0[発動主人公ID] が 0 以上
-◇分岐: 【1】 [ CSelf0[発動主人公ID] が 0 以上 ]の場合↓
|■条件分岐(変数): 【1】 CSelf11[消費するもの] が 0 と同じ 【2】 CSelf11[消費するもの] が 1 と同じ
|-◇分岐: 【1】 [ CSelf11[消費するもの] が 0 と同じ ]の場合↓
||▼ SPを消費する場合
||■変数操作: CSelf12[消費ポイント] *= -1 + 0
||■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf0[発動主人公ID] / 23:SP / CSelf12[消費ポイント] / 0:なし
||▼ 必要ポイントが足りなくなっていたら次使用不能にする
||■イベントの挿入[名]: CSelf15[一時変数A] = ["X[移]パラメータ取得"] <コモンEv 71> / CSelf0[発動主人公ID] / 23:SP
||■変数操作: CSelf12[消費ポイント] *= -1 + 0
||■条件分岐(変数): 【1】 CSelf15[一時変数A] が CSelf12[消費ポイント] 未満
||-◇分岐: 【1】 [ CSelf15[一時変数A] が CSelf12[消費ポイント] 未満 ]の場合↓
|||■変数操作: CSelf99[次使用可能?] = 0 + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf11[消費するもの] が 1 と同じ ]の場合↓
||▼ HPを消費する場合
||■変数操作: CSelf12[消費ポイント] *= -1 + 0
||■イベントの挿入[名]: ["X[移]パラメータ増減"] <コモンEv 70> / CSelf0[発動主人公ID] / 22:HP / CSelf12[消費ポイント] / 0:なし
||▼ 必要ポイントが足りなくなっていたら次使用不能にする
||■イベントの挿入[名]: CSelf15[一時変数A] = ["X[移]パラメータ取得"] <コモンEv 71> / CSelf0[発動主人公ID] / 22:HP
||■変数操作: CSelf12[消費ポイント] *= -1 + 0
||■変数操作: CSelf12[消費ポイント] += 1 + 0
||■条件分岐(変数): 【1】 CSelf15[一時変数A] が CSelf12[消費ポイント] 未満
||-◇分岐: 【1】 [ CSelf15[一時変数A] が CSelf12[消費ポイント] 未満 ]の場合↓
|||■変数操作: CSelf99[次使用可能?] = 0 + 0
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf13[要発動アイテム] が 0 以上
-◇分岐: 【1】 [ CSelf13[要発動アイテム] が 0 以上 ]の場合↓
|▼ 発動アイテムを消費する場合
|■イベントの挿入[名]: ["X[共]アイテム増減"] <コモンEv 50> / CSelf13[要発動アイテム] / -1
|▼ 残り個数が0以下なら次は使用不能
|■イベントの挿入[名]: CSelf13[要発動アイテム] = ["X[共]アイテム所持数取得"] <コモンEv 54> / CSelf13[要発動アイテム]
|■条件分岐(変数): 【1】 CSelf13[要発動アイテム] が 0 以下
|-◇分岐: 【1】 [ CSelf13[要発動アイテム] が 0 以下 ]の場合↓
||■変数操作: CSelf99[次使用可能?] = 0 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇
▼ もし表示メッセージが存在する場合はメッセージ表示
■条件分岐(文字): 【1】 CSelf9[一時文字列]が "" 以外
-◇分岐: 【1】 [ CSelf9[一時文字列] "" 以外 ]の場合↓
|■DB読込(可変): CSelf8 = 可変DB[ 主人公ステータス : CSelf0[発動主人公ID] : キャラ名 ] (0 : - : 0)
|■文字列操作:CSelf9[一時文字列] = "\cself[8]\cself[9]"
|■イベントの挿入[名]: ["X[移]メニュー時文章表示"] <コモンEv 101> / 0:初期表示 / CSelf9[一時文字列]
|■キー入力:CSelf0[発動主人公ID][入力待ち] 決定(10) キャンセル(11)
|■イベントの挿入[名]: ["X[移]メニュー時文章表示"] <コモンEv 101> / -1:消去 / CSelf9[一時文字列]
|■
◇分岐終了◇

【イベントコード表示】
■コモンイベント「170:X[戦]技能使用_消費処理」
  
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】
▼ 技能を使用した際、SPや要発動アイテムを減らしたり、
▼ メッセージが表示されたりする処理をここで行います
▼ ―――――――――――――――――――――――――――――――――――

■変数操作: CSelf99[次使用可能?] = 1 + 0
■文字列操作:CSelf9[一時文字列] = ""
▼ アイテムの場合
■変数操作: CSelf10[使用技能] = CSelf1[使用技能] + 0
■DB読込(ユーザ): CSelf9[一時文字列] = ユーザDB[ 技能 : CSelf10[使用技能] : 使用時文章[移動](人名~ ] (0 : - : 13)
■DB読込(ユーザ): CSelf11[消費するもの] = ユーザDB[ 技能 : CSelf10[使用技能] : ┏ 消費するものは? ] (0 : - : 4)
■DB読込(ユーザ): CSelf12[消費ポイント] = ユーザDB[ 技能 : CSelf10[使用技能] : ┗ 消費ポイント ] (0 : - : 5)
■DB読込(ユーザ): CSelf13[要発動アイテム] = ユーザDB[ 技能 : CSelf10[使用技能] : 発動アイテム要する?[消費] ] (0 : - : 20)
■条件分岐(変数): 【1】 CSelf11[消費するもの] が 10 と同じ 【2】 CSelf11[消費するもの] が 11 と同じ
-◇分岐: 【1】 [ CSelf11[消費するもの] が 10 と同じ ]の場合↓
|■DB読込(可変):CSelf12[消費ポイント]*=可変DB[×┏ 戦闘一時ステータス[基]:CSelf0[対象戦闘スロット]:[一時]計算済みMaxSP](10:-:46)
|■変数操作: CSelf12[消費ポイント] /= 100 + 0
|■変数操作: CSelf12[消費ポイント] 下限= 1 + 0
|■
-◇分岐: 【2】 [ CSelf11[消費するもの] が 11 と同じ ]の場合↓
|■DB読込(可変):CSelf12[消費ポイント]*=可変DB[×┏ 戦闘一時ステータス[基]:CSelf0[対象戦闘スロット]:[一時]計算済みMaxHP](10:-:44)
|■変数操作: CSelf12[消費ポイント] /= 100 + 0
|■変数操作: CSelf12[消費ポイント] 下限= 1 + 0
|■
◇分岐終了◇
■変数操作: CSelf11[消費するもの] %= 10 + 0

■条件分岐(変数): 【1】 CSelf11[消費するもの] が 0 と同じ 【2】 CSelf11[消費するもの] が 1 と同じ
-◇分岐: 【1】 [ CSelf11[消費するもの] が 0 と同じ ]の場合↓
|▼ SPを消費する場合
|■変数操作: CSelf12[消費ポイント] *= -1 + 0
|■イベントの挿入[名]: ["X[戦]パラメータ増減"] <コモンEv 135> / CSelf0[対象戦闘スロット] / 23:SP / CSelf12[消費ポイント]
|■
-◇分岐: 【2】 [ CSelf11[消費するもの] が 1 と同じ ]の場合↓
|▼ HPを消費する場合
|■変数操作: CSelf12[消費ポイント] *= -1 + 0
|■イベントの挿入[名]: ["X[戦]パラメータ増減"] <コモンEv 135> / CSelf0[対象戦闘スロット] / 22:HP / CSelf12[消費ポイント]
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf13[要発動アイテム] が 0 以上
-◇分岐: 【1】 [ CSelf13[要発動アイテム] が 0 以上 ]の場合↓
|▼ 発動アイテムを消費する場合
|■イベントの挿入[名]: ["X[共]アイテム増減"] <コモンEv 50> / CSelf13[要発動アイテム] / -1
|■
◇分岐終了◇


▲トップへ戻る▲


  
■コモンイベント[152:X[戦]戦闘コマンド一覧算出]を改造

コモンイベント[152:X[戦]戦闘コマンド一覧算出]を改造します。

このコモンイベントには、戦闘時に表示される「通常攻撃」や「特殊技能」などの選択肢を表示する設定があります。

この選択肢を表示する設定の中に、「防御」や「カウンター」などのユーザーDB[0:技能]を使用する設定があり、
技能が使用できるかどうか(SPは足りているかなど)をチェックする設定があります。

このチェックする設定に「[10]最大SPの〜%を消費する」や「[11]最大HPの〜%を消費する」が対応できる設定を追加します。



この色は新規で追加したイベントコマンドになります。
それ以外の色は元からあったイベントコマンドです。

【イベントコード表示】
■コモンイベント「152:X[戦]戦闘コマンド一覧算出」
  
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】
▼ 使用できる戦闘コマンドを計算し、名前一覧と選択可能状態を
▼ 可変DB「万能ウィンドウ一時DB」に格納します。

▼ ―――――――――――――――――――――――――――――――――――

■可変DB書込:[タイプ 万能ウィンドウ一時DB(19) を初期化]
■変数操作: CSelf32[万能ウィンドウ登録位置] = -1 + 0

▼ コマンド登録

■変数操作: CSelf30[処理対象] = -1 + 0
■回数付きループ [ 8 ]回
|■変数操作: CSelf30[処理対象] += 1 + 0
|■イベントの挿入[名]: CSelf19[コマンド番号] = ["X[戦]戦闘コマンド取得"] <コモンEv 150> / CSelf0[対象戦闘スロット] / CSelf30[処理対象]
|■条件分岐(変数): 【1】 CSelf19[コマンド番号] が 0 以上
|-◇分岐: 【1】 [ CSelf19[コマンド番号] が 0 以上 ]の場合↓
||▼ コマンドがあれば万能ウィンドウに登録
||▼ 万能ウィンドウの書き込み先位置を+1

||■変数操作: CSelf32[万能ウィンドウ登録位置] += 1 + 0
||▼
||▼ 名前・コード・数量・付与文字列を格納

||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ 戦闘コマンド : CSelf19[コマンド番号] : コマンド名 ] (6 : - : 0)
||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 項目文 ] (19 : - : 0) = CSelf9[一時項目名]
||■DB読込(ユーザ): CSelf8[説明文] = ユーザDB[ 戦闘コマンド : CSelf19[コマンド番号] : コマンドの説明文 ] (6 : - : 1)
||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 説明文 ] (19 : - : 6) = CSelf8[説明文]
||■DB読込(ユーザ): CSelf18[技能番号(-1 -2は特)] = ユーザDB[ 戦闘コマンド : CSelf19[コマンド番号] : コマンド選択時の効果 ](6 : - : 2)
||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 項目コード ] (19 : - : 1) = CSelf18[技能番号(-1 -2は特)]
||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 残り個数/消費ポイント ] (19 : - : 3) = -1
||▼ 選択可能かどうか判定
||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 1
||■DB読込(ユーザ): CSelf10[一時変数A] = ユーザDB[ 戦闘コマンド : CSelf19[コマンド番号] : コマンド選択時の効果 ] (6 : - : 2)
||■条件分岐(変数): 【1】 CSelf10[一時変数A] が -3 と同じ 【2】 CSelf10[一時変数A] が -1 以下 【3】 CSelf10[一時変数A] が 0 以上
||-◇分岐: 【1】 [ CSelf10[一時変数A] が -3 と同じ ]の場合↓
|||▼ 使用不能コマンドなので次へ
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 0
|||■ループ開始へ戻る
|||■
||-◇分岐: 【2】 [ CSelf10[一時変数A] が -1 以下 ]の場合↓
|||■DB読込(ユーザ):CSelf11[一時変数B]=ユーザDB[戦闘コマンド : CSelf19[コマンド番号] : 使用不能になる条件] (6 : - : 3)
|||■DB読込(可変):CSelf11[一時変数B]*=可変DB[×┏ 戦闘一時ステータス[基]:CSelf0[対象戦闘スロット]:【特殊技能制限】1=封印](10:-:60)
|||■条件分岐(変数): 【1】 CSelf11[一時変数B] が 1 と同じ
|||-◇分岐: 【1】 [ CSelf11[一時変数B] が 1 と同じ ]の場合↓
||||▼ もし 封印フラグ×封印で選択不能 = 1 なら使用できない
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 0
||||■
|||◇分岐終了◇
|||■ループ開始へ戻る
|||■
||-◇分岐: 【3】 [ CSelf10[一時変数A] が 0 以上 ]の場合↓
|||▼ 特殊効果発動の場合
|||▼
|||▼ まず封印状態でこのコマンドがグレーになっているかチェック

|||■DB読込(ユーザ):CSelf11[一時変数B] = ユーザDB[ 戦闘コマンド : CSelf19[コマンド番号] : 使用不能になる条件 ] (6 : - : 3)
|||■DB読込(可変):CSelf11[一時変数B]*=可変DB[×┏ 戦闘一時ステータス[基]:CSelf0[対象戦闘スロット]:【特殊技能制限】1=封印](10:-:60)
|||■条件分岐(変数): 【1】 CSelf11[一時変数B] が 1 と同じ
|||-◇分岐: 【1】 [ CSelf11[一時変数B] が 1 と同じ ]の場合↓
||||▼ もし 封印フラグ×封印で選択不能 = 1 なら使用できない
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 0
||||■ループ開始へ戻る
||||■
|||◇分岐終了◇
|||■DB読込(ユーザ): CSelf16[消費するものは?] = ユーザDB[ 技能 : CSelf10[一時変数A] : ┏ 消費するものは? ] (0 : - : 4)
|||■DB読込(ユーザ): CSelf17[消費ポイント] = ユーザDB[ 技能 : CSelf10[一時変数A] : ┗ 消費ポイント ] (0 : - : 5)
|||■DB読込(ユーザ): CSelf13[使用可能シーン] = ユーザDB[ 技能 : CSelf10[一時変数A] : 使用可能シーン ] (0 : - : 6)
|||■DB読込(ユーザ): CSelf14[発動アイテム番号] = ユーザDB[ 技能 : CSelf10[一時変数A] : 発動アイテム要する?[消費] ] (0 : - : 20)
|||■条件分岐(変数): 【1】 CSelf16[消費するものは?] が 10 と同じ 【2】 CSelf16[消費するものは?] が 11 と同じ
|||-◇分岐: 【1】 [ CSelf16[消費するものは?] が 10 と同じ ]の場合↓
||||■DB読込(可変):CSelf17[消費ポイント]*=可変DB[×┏ 戦闘一時ステータス[基]:CSelf0[対象戦闘スロット]:[一時]計算済みMaxSP](10:-:46)
||||■変数操作: CSelf17[消費ポイント] /= 100 + 0
||||■変数操作: CSelf17[消費ポイント] 下限= 1 + 0
||||■
|||-◇分岐: 【2】 [ CSelf16[消費するものは?] が 11 と同じ ]の場合↓
||||■DB読込(可変):CSelf17[消費ポイント]*=可変DB[×┏ 戦闘一時ステータス[基]:CSelf0[対象戦闘スロット]:[一時]計算済みMaxHP](10:-:44)
||||■変数操作: CSelf17[消費ポイント] /= 100 + 0
||||■変数操作: CSelf17[消費ポイント] 下限= 1 + 0
||||■
|||◇分岐終了◇
|||■変数操作: CSelf16[消費するものは?] %= 10 + 0

|||▼ 使用可能シーンが移動中のみなら使用不能
|||■条件分岐(変数): 【1】 CSelf13[使用可能シーン] が 0 と同じ
|||-◇分岐: 【1】 [ CSelf13[使用可能シーン] が 0 と同じ ]の場合↓
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 0
||||■ループ開始へ戻る
||||■
|||◇分岐終了◇
|||▼ ポイントが足りなければ使用不能
|||■条件分岐(変数): 【1】 CSelf16[消費するものは?] が 0 と同じ 【2】 CSelf16[消費するものは?] が 1 と同じ
|||-◇分岐: 【1】 [ CSelf16[消費するものは?] が 0 と同じ ]の場合↓
||||■DB読込(可変): CSelf15[残りポイント] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : SP ] (10 : - : 7)
||||■
|||-◇分岐: 【2】 [ CSelf16[消費するものは?] が 1 と同じ ]の場合↓
||||■DB読込(可変): CSelf15[残りポイント] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf0[対象戦闘スロット] : HP ] (10 : - : 5)
||||■変数操作: CSelf15[残りポイント] -= 1 + 0
||||■
|||◇分岐終了◇
|||■条件分岐(変数): 【1】 CSelf17[消費ポイント] が CSelf15[残りポイント] 超
|||-◇分岐: 【1】 [ CSelf17[消費ポイント] が CSelf15[残りポイント] 超 ]の場合↓
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 0
||||■ループ開始へ戻る
||||■
|||◇分岐終了◇
|||▼ 発動アイテムがなければ使用不能
|||■条件分岐(変数): 【1】 CSelf14[発動アイテム番号] が 0 以上
|||-◇分岐: 【1】 [ CSelf14[発動アイテム番号] が 0 以上 ]の場合↓
||||■DB読込(可変): CSelf12[一時変数C] = 可変DB[ ┣所持アイテム個数 : CSelf14[発動アイテム番号] : 0 ] (7 : - : 所持個数)
||||▼ アイテムが0個以下の場合は使えない
||||■条件分岐(変数): 【1】 CSelf12[一時変数C] が 0 以下
||||-◇分岐: 【1】 [ CSelf12[一時変数C] が 0 以下 ]の場合↓
|||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能ウィンドウ登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 0
|||||■ループ開始へ戻る
|||||■
||||◇分岐終了◇
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
■変数操作: CSelf32[万能ウィンドウ登録位置] += 1 + 0
■可変DB書込:DB[ 基本システム用変数 : 17 : 0 ] (18 : 万能ウィンドウ項目個数 : 数値) = CSelf32[万能ウィンドウ登録位置]


▲トップへ戻る▲


  
■コモンイベント[196:X┃┣◆行動可能判定]を改造

コモンイベント[196:X┃┣◆行動可能判定]を改造します。

このコモンイベントには、戦闘中のターン処理にて、技能が使用できるかどうかをチェックする設定があります。

この技能が使用できるかどうかをチェックする設定に、
[10]最大SPの〜%を消費する」や「[11]最大HPの〜%を消費する」に対応する設定を追加します。



追加するセルフ変数
番号 名前 使用内容
22 最大%の消費量 ユーザーDB[0:技能]項目[4:┏ 消費するものは?]を設定。



この色は新規で追加したイベントコマンドになります。
それ以外の色は元からあったイベントコマンドです。

【イベントコード表示】
■コモンイベント「196:X┃┣◆行動可能判定」
  
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21


22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146


147
148
149
150
151
152
153
154
155
156
157


158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】
▼ これから発動しようとしているキャラ、およびその技能が、使用可能かどうかチェックします。
▼ 使用不能だった場合は、この行動はキャンセルされます。
▼ 行動しようとしたときのメッセージもここで表示されます。

▼ 【このコモンイベント内で操作しているデータベース】

▼ 【ここから呼び出している別コモンイベント】

▼ 【どのコモンイベントから主に呼び出されているか】
▼ ―――――――――――――――――――――――――――――――――――

■変数操作: CSelf99[行動可能?] = 0 + 0
■変数操作: CSelf20[スキル発動アイテム不足フラグ] = 0 + 0
▼ 発動者・発動技能を格納
■DB読込(可変): CSelf16[発動スロット] = 可変DB[ ×┣ コマンド処理リスト : CSelf0[行動リスト番号] : 発動者番号 ] (14 : - : 0)
■変数操作: CSelf17[アイテム側メッセージ使用?] = 0 + 0
■DB読込(可変): CSelf34[技能コード] = 可変DB[ ×┣ コマンド処理リスト : CSelf0[行動リスト番号] : 発動技能 ] (14 : - : 3)
■DB読込(可変): CSelf36[オリジナルコード] = 可変DB[ ×┣ コマンド処理リスト : CSelf0[行動リスト番号] : 発動技能 ] (14 : - : 3)
■条件分岐(変数): 【1】 CSelf34[技能コード] が 10000 以上
-◇分岐: 【1】 [ CSelf34[技能コード] が 10000 以上 ]の場合↓
|■条件分岐(変数): 【1】 CSelf34[技能コード] が 19999 以下
          【2】 CSelf34[技能コード] が 29999 以下
          【3】 CSelf34[技能コード] が 39999 以下
|-◇分岐: 【1】 [ CSelf34[技能コード] が 19999 以下 ]の場合↓
||▼ アイテムの場合
||■変数操作: CSelf10[一時変数A] = CSelf34[技能コード] % 10000
||■DB読込(ユーザ): CSelf11[一時変数B] = ユーザDB[ アイテム : CSelf10[一時変数A] : ■効果のタイプ ] (2 : - : 3)
||■条件分岐(変数): 【1】 CSelf11[一時変数B] が 2 と同じ
||-◇分岐: 【1】 [ CSelf11[一時変数B] が 2 と同じ ]の場合↓
|||■DB読込(ユーザ): CSelf34[技能コード] = ユーザDB[ アイテム : CSelf10[一時変数A] : ┣[2]特殊技能指定時 ] (2 : - : 4)
|||▼ アイテム時のメッセージ保存
|||■変数操作: CSelf17[アイテム側メッセージ使用?] = 1 + 0
|||■DB読込(ユーザ):CSelf17[アイテム側メッセージ使用?] -= ユーザDB[アイテム:CSelf10[一時変数A]:┃┗使用時バトルメッセージ](2 : - : 5)
|||■DB読込(ユーザ):CSelf6[アイテム時メッセージ] = ユーザDB[ アイテム : CSelf10[一時変数A] : 使用時文章[戦](人名~ ] (2 : - : 18)
|||■
||◇分岐終了◇
||▼ ここでアイテムがなかったらアイテム不足フラグを1にする
||■イベントの挿入[名]: CSelf12[一時変数C] = ["X[共]アイテム所持数取得"] <コモンEv 54> / CSelf10[一時変数A]
||■条件分岐(変数): 【1】 CSelf12[一時変数C] が 0 以下
||-◇分岐: 【1】 [ CSelf12[一時変数C] が 0 以下 ]の場合↓
|||▼ 使用不能文
|||■DB読込(ユーザ): CSelf5[装備アイテム不足エラー文] = ユーザDB[ アイテム : CSelf10[一時変数A] : アイテム名 ] (2 : - : 0)
|||■文字列操作:CSelf5[装備アイテム不足エラー文] += "がなかった!"
|||■変数操作: CSelf20[スキル発動アイテム不足フラグ] = 1 + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf34[技能コード] が 29999 以下 ]の場合↓
||▼ 武器の場合
||■変数操作: CSelf10[一時変数A] = CSelf34[技能コード] % 20000
||■DB読込(ユーザ): CSelf11[一時変数B] = ユーザDB[ 武器 : CSelf10[一時変数A] : アイテム使用で特殊技能? ] (3 : - : 22)
||■条件分岐(変数): 【1】 CSelf11[一時変数B] が 1 と同じ
||-◇分岐: 【1】 [ CSelf11[一時変数B] が 1 と同じ ]の場合↓
|||■DB読込(ユーザ): CSelf34[技能コード] = ユーザDB[ 武器 : CSelf10[一時変数A] : ┣ 発動する特殊技能 ] (3 : - : 23)
|||▼ アイテム時のメッセージ保存
|||■変数操作: CSelf17[アイテム側メッセージ使用?] = 1 + 0
|||■DB読込(ユーザ): CSelf6[アイテム時メッセージ] = ユーザDB[ 武器 : CSelf10[一時変数A] : ┣使用時文章[戦](人名~ ] (3 : - : 25)
|||■
||◇分岐終了◇
||▼ 装備がなかったらアイテム不足フラグを1にする
||■イベントの挿入[名]: CSelf12[一時変数C] = ["X[共]武器所持数取得"] <コモンEv 55> / CSelf10[一時変数A]
||■条件分岐(変数): 【1】 CSelf12[一時変数C] が 0 以下
||-◇分岐: 【1】 [ CSelf12[一時変数C] が 0 以下 ]の場合↓
|||▼ 使用不能文
|||■DB読込(ユーザ): CSelf5[装備アイテム不足エラー文] = ユーザDB[ 武器 : CSelf10[一時変数A] : 武器の名前 ] (3 : - : 0)
|||■文字列操作:CSelf5[装備アイテム不足エラー文] += "がなかった!"
|||■変数操作: CSelf20[スキル発動アイテム不足フラグ] = 1 + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【3】 [ CSelf34[技能コード] が 39999 以下 ]の場合↓
||▼ 防具の場合
||■変数操作: CSelf10[一時変数A] = CSelf34[技能コード] % 30000
||■DB読込(ユーザ): CSelf11[一時変数B] = ユーザDB[ 防具 : CSelf10[一時変数A] : アイテム使用で特殊技能? ] (4 : - : 20)
||■条件分岐(変数): 【1】 CSelf11[一時変数B] が 1 と同じ
||-◇分岐: 【1】 [ CSelf11[一時変数B] が 1 と同じ ]の場合↓
|||■DB読込(ユーザ): CSelf34[技能コード] = ユーザDB[ 防具 : CSelf10[一時変数A] : ┣ 発動する特殊技能 ] (4 : - : 21)
|||▼ アイテム時のメッセージ保存
|||■変数操作: CSelf17[アイテム側メッセージ使用?] = 1 + 0
|||■DB読込(ユーザ): CSelf6[アイテム時メッセージ] = ユーザDB[ 防具 : CSelf10[一時変数A] : ┣使用時文章[戦](人名~ ] (4 : - : 23)
|||■
||◇分岐終了◇
||▼ 装備がなかったらアイテム不足フラグを1にする
||■イベントの挿入[名]: CSelf12[一時変数C] = ["X[共]防具所持数取得"] <コモンEv 56> / CSelf10[一時変数A]
||■条件分岐(変数): 【1】 CSelf12[一時変数C] が 0 以下
||-◇分岐: 【1】 [ CSelf12[一時変数C] が 0 以下 ]の場合↓
|||▼ 使用不能文
|||■DB読込(ユーザ): CSelf5[装備アイテム不足エラー文] = ユーザDB[ 防具 : CSelf10[一時変数A] : 防具の名前 ] (4 : - : 0)
|||■文字列操作:CSelf5[装備アイテム不足エラー文] += "がなかった!"
|||■変数操作: CSelf20[スキル発動アイテム不足フラグ] = 1 + 0
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇分岐終了◇
▼ まず対象スロットが行動可能かチェック
▼ 戦闘不能チェック 戦闘不能なら完全に何もしない

■イベントの挿入[名]: CSelf10[一時変数A] = ["X[戦]基本状態取得"] <コモンEv 176> / CSelf16[発動スロット] / 0:戦闘不能状態
■条件分岐(変数): 【1】 CSelf10[一時変数A] が 1 以上
-◇分岐: 【1】 [ CSelf10[一時変数A] が 1 以上 ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
▼ ここで対象スロットを点滅
■イベントの挿入[名]: ["X[共]システムSE再生"] <コモンEv 49> / 50:行動前
■条件分岐(変数): 【1】 CSelf16[発動スロット] が 10 未満 【2】 CSelf16[発動スロット] が 10 以上
-◇分岐: 【1】 [ CSelf16[発動スロット] が 10 未満 ]の場合↓
|■イベントの挿入[名]:["X[戦]味方欄_単体描画"]<コモンEv 178>/40:フラッシュエフェクト/CSelf16[発動スロット]/CSelf16[発動スロット]
|■
-◇分岐: 【2】 [ CSelf16[発動スロット] が 10 以上 ]の場合↓
|■イベントの挿入[名]: ["X[戦]敵キャラ_単体描画"] <コモンEv 179> / 40:フラッシュエフェクト / CSelf16[発動スロット]
|■
◇分岐終了◇
▼ 行動不能・または混乱チェック
■イベントの挿入[名]: CSelf10[一時変数A] = ["X[戦]基本状態取得"] <コモンEv 176> / CSelf16[発動スロット] / 1:行動可能状態
▼ 行動指定=\cself[10]
■DB読込(可変):CSelf9[一時項目名]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:行動不能時のメッセージ](10 : - : 67)
■DB読込(可変):CSelf8[キャラ名]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:キャラ名](10 : - : 0)
■文字列操作:CSelf7[一時項目名2] = "\cself[8]\cself[9]"
■条件分岐(変数): 【1】 CSelf10[一時変数A] が 1 と同じ 【2】 CSelf10[一時変数A] が -10 以下
-◇分岐: 【1】 [ CSelf10[一時変数A] が 1 と同じ ]の場合↓
|▼ 行動不能
|■条件分岐(文字): 【1】 CSelf9[一時項目名]が "" 以外
|-◇分岐: 【1】 [ CSelf9[一時項目名] "" 以外 ]の場合↓
||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf7[一時項目名2]
||■
|◇分岐終了◇
|■イベント処理中断
|■
-◇分岐: 【2】 [ CSelf10[一時変数A] が -10 以下 ]の場合↓
|■条件分岐(文字): 【1】 CSelf9[一時項目名]が "" 以外
|-◇分岐: 【1】 [ CSelf9[一時項目名] "" 以外 ]の場合↓
||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf7[一時項目名2]
||■
|◇分岐終了◇
|▼ 発動スロットにより技能取得
|■条件分岐(変数): 【1】 CSelf16[発動スロット] が 9 以下 【2】 CSelf16[発動スロット] が 10 以上
|-◇分岐: 【1】 [ CSelf16[発動スロット] が 9 以下 ]の場合↓
||■変数操作: CSelf38[一時行動不能パターン] = CSelf10[一時変数A] + 0
||■条件分岐(変数): 【1】 CSelf38[一時行動不能パターン] が -20 以下
||-◇分岐: 【1】 [ CSelf38[一時行動不能パターン] が -20 以下 ]の場合↓
|||▼ -20〜-27なら-10〜-17に変換
|||■変数操作: CSelf38[一時行動不能パターン] += 10 + 0
|||■
||◇分岐終了◇
||■回数付きループ [ 1 ]回
|||■条件分岐(変数): 【1】 CSelf38[一時行動不能パターン] が -10 と同じ
            【2】 CSelf38[一時行動不能パターン] が -11 と同じ
            【3】 CSelf38[一時行動不能パターン] が -12 と同じ
|||-◇分岐: 【1】 [ CSelf38[一時行動不能パターン] が -10 と同じ ]の場合↓
||||■DB読込(可変):CSelf34[技能コード]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[コマンド1]](10 : - : 26)
||||■
|||-◇分岐: 【2】 [ CSelf38[一時行動不能パターン] が -11 と同じ ]の場合↓
||||■DB読込(可変):CSelf34[技能コード]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[コマンド2]](10 : - : 27)
||||■
|||-◇分岐: 【3】 [ CSelf38[一時行動不能パターン] が -12 と同じ ]の場合↓
||||■DB読込(可変):CSelf34[技能コード]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[コマンド3]](10 : - : 28)
||||■
|||◇分岐終了◇
|||■条件分岐(変数): 【1】 CSelf38[一時行動不能パターン] が -13 と同じ
            【2】 CSelf38[一時行動不能パターン] が -14 と同じ
            【3】 CSelf38[一時行動不能パターン] が -15 と同じ
|||-◇分岐: 【1】 [ CSelf38[一時行動不能パターン] が -13 と同じ ]の場合↓
||||■DB読込(可変):CSelf34[技能コード]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[コマンド4]](10 : - : 29)
||||■
|||-◇分岐: 【2】 [ CSelf38[一時行動不能パターン] が -14 と同じ ]の場合↓
||||■DB読込(可変):CSelf34[技能コード]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[コマンド5]](10 : - : 30)
||||■
|||-◇分岐: 【3】 [ CSelf38[一時行動不能パターン] が -15 と同じ ]の場合↓
||||■DB読込(可変):CSelf34[技能コード]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[コマンド6]](10 : - : 31)
||||■
|||◇分岐終了◇
|||■条件分岐(変数): 【1】 CSelf38[一時行動不能パターン] が -16 と同じ 【2】 CSelf38[一時行動不能パターン] が -17 と同じ
|||-◇分岐: 【1】 [ CSelf38[一時行動不能パターン] が -16 と同じ ]の場合↓
||||■DB読込(可変):CSelf34[技能コード]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[コマンド7]](10 : - : 32)
||||■
|||-◇分岐: 【2】 [ CSelf38[一時行動不能パターン] が -17 と同じ ]の場合↓
||||■DB読込(可変):CSelf34[技能コード]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[コマンド8]](10 : - : 33)
||||■
|||◇分岐終了◇
|||■条件分岐(変数): 【1】 CSelf34[技能コード] が 0 以上
|||-◇分岐: 【1】 [ CSelf34[技能コード] が 0 以上 ]の場合↓
||||■条件分岐(変数): 【1】 CSelf34[技能コード] が 9999 以下
||||-◇分岐: 【1】 [ CSelf34[技能コード] が 9999 以下 ]の場合↓
|||||▼ コマンドから技能コードを取得
|||||■DB読込(ユーザ): CSelf34[技能コード] = ユーザDB[ 戦闘コマンド : CSelf34[技能コード] : コマンド選択時の効果 ] (6 : - : 2)
|||||■
||||◇分岐終了◇
||||■
|||◇分岐終了◇
|||▼ 味方ならコマンドからコード取得 (アイテム選択使用と技能選択使用なら何もしない)
|||■変数操作: CSelf34[技能コード] 下限= -1 + 0
|||■
||◇ループここまで◇◇
||■
|-◇分岐: 【2】 [ CSelf16[発動スロット] が 10 以上 ]の場合↓
||▼ 敵の場合は技能0番を実行する
||■変数操作: CSelf34[技能コード] = 0 + 0
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[一時変数A] が -20 以下
|-◇分岐: 【1】 [ CSelf10[一時変数A] が -20 以下 ]の場合↓
||▼ 敵にコマンド
||■条件分岐(変数): 【1】 CSelf16[発動スロット] が 10 未満 【2】 CSelf16[発動スロット] が 10 以上
||-◇分岐: 【1】 [ CSelf16[発動スロット] が 10 未満 ]の場合↓
|||▼ 味方なら敵一体ランダム
|||■可変DB書込:DB[ ×┣ コマンド処理リスト : CSelf0[行動リスト番号] : 受け側番号 ] (14 : - : 2) = -21
|||■
||-◇分岐: 【2】 [ CSelf16[発動スロット] が 10 以上 ]の場合↓
|||▼ 敵なら味方一体ランダム
|||■可変DB書込:DB[ ×┣ コマンド処理リスト : CSelf0[行動リスト番号] : 受け側番号 ] (14 : - : 2) = -11
|||■
||◇分岐終了◇
||■
|-◇上記以外
||▼ 味方にコマンド
||■条件分岐(変数): 【1】 CSelf16[発動スロット] が 10 未満 【2】 CSelf16[発動スロット] が 10 以上
||-◇分岐: 【1】 [ CSelf16[発動スロット] が 10 未満 ]の場合↓
|||▼ 味方なら味方一体ランダム
|||■可変DB書込:DB[ ×┣ コマンド処理リスト : CSelf0[行動リスト番号] : 受け側番号 ] (14 : - : 2) = -11
|||■
||-◇分岐: 【2】 [ CSelf16[発動スロット] が 10 以上 ]の場合↓
|||▼ 敵なら敵一体ランダム
|||■可変DB書込:DB[ ×┣ コマンド処理リスト : CSelf0[行動リスト番号] : 受け側番号 ] (14 : - : 2) = -21
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■可変DB書込:DB[ ×┣ コマンド処理リスト : CSelf0[行動リスト番号] : 発動技能 ] (14 : - : 3) = CSelf34[技能コード]
|■変数操作: CSelf36[オリジナルコード] = CSelf34[技能コード] + 0
|■条件分岐(変数): 【1】 CSelf34[技能コード] が 0 未満
|-◇分岐: 【1】 [ CSelf34[技能コード] が 0 未満 ]の場合↓
||▼ 何もしないなら、ここで終了
||■イベント処理中断
||■
|◇分岐終了◇
|■
◇分岐終了◇
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
▼ ここで技能とアイテムで処理を分岐
▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■条件分岐(変数): 【1】 CSelf34[技能コード] が 9999 以下 【2】 CSelf34[技能コード] が 10000 以上
-◇分岐: 【1】 [ CSelf34[技能コード] が 9999 以下 ]の場合↓
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|▼ 技能の場合
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

|■条件分岐(変数): 【1】 CSelf34[技能コード] が -2 と同じ
|-◇分岐: 【1】 [ CSelf34[技能コード] が -2 と同じ ]の場合↓
||▼ 敵の「逃走」コマンド
||■変数操作: CSelf99[行動可能?] = 1 + 0
||■イベント処理中断
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf34[技能コード] が -1 以下
|-◇分岐: 【1】 [ CSelf34[技能コード] が -1 以下 ]の場合↓
||■イベント処理中断
||■
|◇分岐終了◇
|▼ 封印チェック
|■イベントの挿入[名]: CSelf10[一時変数A] = ["X[戦]基本状態取得"] <コモンEv 176> / CSelf16[発動スロット] / 2:封印状態
|■DB読込(ユーザ): CSelf10[一時変数A] *= ユーザDB[ 技能 : CSelf34[技能コード] : 特殊技能制限の影響を… ] (0 : - : 21)
|■条件分岐(変数): 【1】 CSelf10[一時変数A] が 1 と同じ
|-◇分岐: 【1】 [ CSelf10[一時変数A] が 1 と同じ ]の場合↓
||■DB読込(可変):CSelf9[一時項目名]=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:キャラ名](10 : - : 0)
||■DB読込(可変):CSelf9[一時項目名]+=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:技能封印時のメッセージ](10 : - : 68)
||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf9[一時項目名]
||■イベント処理中断
||■
|◇分岐終了◇
|▼ とりあえず使用可能なら発動メッセージ表示
|■条件分岐(変数): 【1】 CSelf17[アイテム側メッセージ使用?] が 0 と同じ 【2】 CSelf17[アイテム側メッセージ使用?] が 1 と同じ
|-◇分岐: 【1】 [ CSelf17[アイテム側メッセージ使用?] が 0 と同じ ]の場合↓
||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ 技能 : CSelf34[技能コード] : 使用時文章[戦闘](人名~ ] (0 : - : 14)
||■条件分岐(文字): 【1】 CSelf9[一時項目名]が "" 以外
||-◇分岐: 【1】 [ CSelf9[一時項目名] "" 以外 ]の場合↓
|||■DB読込(可変): CSelf8[キャラ名] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf16[発動スロット] : キャラ名 ] (10 : - : 0)
|||■文字列操作:CSelf9[一時項目名] = "\cself[8]\cself[9]"
|||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf9[一時項目名]
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf17[アイテム側メッセージ使用?] が 1 と同じ ]の場合↓
||■条件分岐(文字): 【1】 CSelf6[アイテム時メッセージ]が "" 以外
||-◇分岐: 【1】 [ CSelf6[アイテム時メッセージ] "" 以外 ]の場合↓
|||■DB読込(可変): CSelf8[キャラ名] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf16[発動スロット] : キャラ名 ] (10 : - : 0)
|||■文字列操作:CSelf9[一時項目名] = "\cself[8]\cself[6]"
|||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf9[一時項目名]
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|▼ 使用可能かどうか判定
|■DB読込(ユーザ): CSelf12[一時変数C] = ユーザDB[ 技能 : CSelf34[技能コード] : 使用可能シーン ] (0 : - : 6)
|▼ 戦闘時のみ使用可能
|■条件分岐(変数): 【1】 CSelf12[一時変数C] が 0 と同じ
|-◇分岐: 【1】 [ CSelf12[一時変数C] が 0 と同じ ]の場合↓
||▼ ■■■条件設定、ここまで
||■文章:\>マップ専用の技能は使用できません。\n>戦闘スロット \cself[18] 技能 \cself[34]
||■イベント処理中断
||■
|◇分岐終了◇
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|▼  使用したアイテムがなくなっていた場合は中止
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

|■条件分岐(変数): 【1】 CSelf20[スキル発動アイテム不足フラグ] が 1 と同じ
|-◇分岐: 【1】 [ CSelf20[スキル発動アイテム不足フラグ] が 1 と同じ ]の場合↓
||▼ 上の方でコモンセルフ5に文章を格納しているのでこれだけでよい
||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf5[装備アイテム不足エラー文]
||■イベント処理中断
||■
|◇分岐終了◇
|▼ ■■■条件設定、ここから
|▼ なお、アイテムを使用して技能が発動した場合はHP・SP・使用アイテムチェックなし

|■条件分岐(変数): 【1】 CSelf36[オリジナルコード] が 9999 以下
|-◇分岐: 【1】 [ CSelf36[オリジナルコード] が 9999 以下 ]の場合↓
||▼ 残りHP・SP判定

||■DB読込(ユーザ): CSelf10[一時変数A] = ユーザDB[ 技能 : CSelf34[技能コード] : ┏ 消費するものは? ] (0 : - : 4)
||■変数操作: CSelf22[最大%の消費量] = CSelf10[一時変数A] + 0
||■変数操作: CSelf10[一時変数A] %= 10 + 0

||■条件分岐(変数): 【1】 CSelf10[一時変数A] が 0 と同じ 【2】 CSelf10[一時変数A] が 1 と同じ
||-◇分岐: 【1】 [ CSelf10[一時変数A] が 0 と同じ ]の場合↓
|||▼ SPを消費する場合
|||■DB読込(可変): CSelf12[一時変数C] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf16[発動スロット] : SP ] (10 : - : 7)
|||■DB読込(ユーザ): CSelf13[一時変数D] = ユーザDB[ 技能 : CSelf34[技能コード] : ┗ 消費ポイント ] (0 : - : 5)
|||■条件分岐(変数): 【1】 CSelf22[最大%の消費量] が 10 以上
|||-◇分岐: 【1】 [ CSelf22[最大%の消費量] が 10 以上 ]の場合↓
||||■DB読込(可変):CSelf13[一時変数D]*=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[一時]計算済みMaxSP](10 : - : 46)
||||■変数操作: CSelf13[一時変数D] /= 100 + 0
||||■変数操作: CSelf13[一時変数D] 下限= 1 + 0
||||■
|||◇分岐終了◇

|||■条件分岐(変数): 【1】 CSelf12[一時変数C] が CSelf13[一時変数D] 未満
|||-◇分岐: 【1】 [ CSelf12[一時変数C] が CSelf13[一時変数D] 未満 ]の場合↓
||||▼ 使用不能文
||||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ 用語設定 : 0 : [ステータス]SP名称 ] (15 : 用語基本設定 : 8)
||||■文字列操作:CSelf9[一時項目名] += "が足りない!"
||||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf9[一時項目名]
||||■イベント処理中断
||||■
|||◇分岐終了◇
|||■
||-◇分岐: 【2】 [ CSelf10[一時変数A] が 1 と同じ ]の場合↓
|||▼ HPを消費する場合
|||■DB読込(可変): CSelf12[一時変数C] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf16[発動スロット] : HP ] (10 : - : 5)
|||■変数操作: CSelf12[一時変数C] -= 1 + 0
|||■DB読込(ユーザ): CSelf13[一時変数D] = ユーザDB[ 技能 : CSelf34[技能コード] : ┗ 消費ポイント ] (0 : - : 5)
|||■条件分岐(変数): 【1】 CSelf22[最大%の消費量] が 10 以上
|||-◇分岐: 【1】 [ CSelf22[最大%の消費量] が 10 以上 ]の場合↓
||||■DB読込(可変):CSelf13[一時変数D]*=可変DB[×┏ 戦闘一時ステータス[基]:CSelf16[発動スロット]:[一時]計算済みMaxHP](10 : - : 44)
||||■変数操作: CSelf13[一時変数D] /= 100 + 0
||||■変数操作: CSelf13[一時変数D] 下限= 1 + 0
||||■
|||◇分岐終了◇

|||■条件分岐(変数): 【1】 CSelf12[一時変数C] が CSelf13[一時変数D] 未満
|||-◇分岐: 【1】 [ CSelf12[一時変数C] が CSelf13[一時変数D] 未満 ]の場合↓
||||▼ 使用不能文
||||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ 用語設定 : 0 : [ステータス]HP名称 ] (15 : 用語基本設定 : 7)
||||■文字列操作:CSelf9[一時項目名] += "が足りない!"
||||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf9[一時項目名]
||||■イベント処理中断
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
||▼ 主人公側なら、アイテムの消費判定を行う
||▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

||■条件分岐(変数): 【1】 CSelf16[発動スロット] が 9 以下
||-◇分岐: 【1】 [ CSelf16[発動スロット] が 9 以下 ]の場合↓
|||▼ 発動アイテムチェック
|||■変数操作: CSelf14[発動アイテムチェック] = 1 + 0
|||■DB読込(ユーザ): CSelf13[一時変数D] = ユーザDB[ 技能 : CSelf34[技能コード] : 発動アイテム要する?[消費] ] (0 : - : 20)
|||■条件分岐(変数): 【1】 CSelf13[一時変数D] が 0 以上
|||-◇分岐: 【1】 [ CSelf13[一時変数D] が 0 以上 ]の場合↓
||||■イベントの挿入[名]: CSelf12[一時変数C] = ["X[共]アイテム所持数取得"] <コモンEv 54> / CSelf13[一時変数D]
||||▼ アイテムがなかったら発動アイテムチェックを0にする
||||■条件分岐(変数): 【1】 CSelf12[一時変数C] が 0 以下
||||-◇分岐: 【1】 [ CSelf12[一時変数C] が 0 以下 ]の場合↓
|||||▼ 使用不能文
|||||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ アイテム : CSelf13[一時変数D] : アイテム名 ] (2 : - : 0)
|||||■文字列操作:CSelf9[一時項目名] += "が足りない!"
|||||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf9[一時項目名]
|||||■イベント処理中断
|||||■
||||◇分岐終了◇
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
-◇分岐: 【2】 [ CSelf34[技能コード] が 10000 以上 ]の場合↓
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
|▼ アイテムの場合
|▼ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

|■条件分岐(変数): 【1】 CSelf34[技能コード] が 19999 以下
|-◇分岐: 【1】 [ CSelf34[技能コード] が 19999 以下 ]の場合↓
||■変数操作: CSelf35[アイテムコード] = CSelf34[技能コード] % 10000
||▼ 発動アイテムチェック
||■変数操作: CSelf14[発動アイテムチェック] = 1 + 0
||■イベントの挿入[名]: CSelf12[一時変数C] = ["X[共]アイテム所持数取得"] <コモンEv 54> / CSelf35[アイテムコード]
||▼ アイテムがなかったら発動アイテムチェックを0にする
||■条件分岐(変数): 【1】 CSelf12[一時変数C] が 0 以下
||-◇分岐: 【1】 [ CSelf12[一時変数C] が 0 以下 ]の場合↓
|||▼ 使用不能文
|||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ アイテム : CSelf35[アイテムコード] : アイテム名 ] (2 : - : 0)
|||■文字列操作:CSelf9[一時項目名] += "がなかった!"
|||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf9[一時項目名]
|||■イベント処理中断
|||■
||◇分岐終了◇
||▼ 使用時メッセージがあれば表示
||■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ アイテム : CSelf35[アイテムコード] : 使用時文章[戦](人名~ ] (2 : - : 18)
||■条件分岐(文字): 【1】 CSelf9[一時項目名]が "" 以外
||-◇分岐: 【1】 [ CSelf9[一時項目名] "" 以外 ]の場合↓
|||■DB読込(可変): CSelf8[キャラ名] = 可変DB[ ×┏ 戦闘一時ステータス[基] : CSelf16[発動スロット] : キャラ名 ] (10 : - : 0)
|||■文字列操作:CSelf9[一時項目名] = "\cself[8]\cself[9]"
|||■イベントの挿入[名]: ["X[戦]戦闘メッセージ表示"] <コモンEv 182> / 0:表示→自動削除 / CSelf9[一時項目名]
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇分岐終了◇
▼ ここまで来られたら発動できるので、技能・アイテムの消費処理を実行
▼ ただしアイテムの技能コードは、特殊技能使用なら変換されているのでここで読み直し

■変数操作: CSelf34[技能コード] = CSelf36[オリジナルコード] + 0
■条件分岐(変数): 【1】 CSelf34[技能コード] が 10000 未満 【2】 CSelf34[技能コード] が 10000 以上
-◇分岐: 【1】 [ CSelf34[技能コード] が 10000 未満 ]の場合↓
|▼ 技能の場合
|■イベントの挿入[名]: ["X[戦]技能使用_消費処理"] <コモンEv 218> / CSelf16[発動スロット] / CSelf34[技能コード]
|■条件分岐(変数): 【1】 CSelf16[発動スロット] が 9 以下 【2】 CSelf16[発動スロット] が 10 以上
|-◇分岐: 【1】 [ CSelf16[発動スロット] が 9 以下 ]の場合↓
||■イベントの挿入[名]:["X[戦]味方欄_単体描画"]<コモンEv 178>/5:表示[更新+ゲージアニメ]/CSelf16[発動スロット]/CSelf16[発動スロット]
||■
|-◇分岐: 【2】 [ CSelf16[発動スロット] が 10 以上 ]の場合↓
||■イベントの挿入[名]: ["X[戦]敵キャラ_単体描画"] <コモンEv 179> / 2:更新[ゲージのみ] / CSelf16[発動スロット]
||■
|◇分岐終了◇
|■
-◇分岐: 【2】 [ CSelf34[技能コード] が 10000 以上 ]の場合↓
|▼ アイテムの場合
|■イベントの挿入[名]: ["X[戦]アイテム使用_消費処理"] <コモンEv 169> / CSelf34[技能コード]
|■
◇分岐終了◇
■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
▼ ここまで来たら行動可能なので 1 を返す
■変数操作: CSelf99[行動可能?] = 1 + 0


以上で改造設定は完了です。


▲トップへ戻る▲



◎関連ページ

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

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