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 |
|
■DB読込(ユーザ): CSelf50[[並替]タイプ番号] = ユーザDB[タイプ技能並び順(18)
のタイプ番号]
▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】
▼ 指定キャラクターの技能一覧を計算し、その技能一覧と選択可能状態を
▼ 可変DB「万能ウィンドウ一時DB」に格納します。
▼
▼ 【このコモンイベント内で操作しているデータベース】
▼
▼ 【ここから呼び出している別コモンイベント】
▼
▼ 【どのコモンイベントから主に呼び出されているか】
▼ ―――――――――――――――――――――――――――――――――――
■可変DB書込:[タイプ 万能ウィンドウ一時DB(19) を初期化]
■変数操作: CSelf32[万能ウィンドウ登録位置] = 0 + 0
▼ ■■■■■■■■■■ユーザーDB【技能並び順】の並び順を設定
■文字列操作:CSelf5[[並替]全名前] = ""
■DB読込(ユーザ): CSelf51[[並替]全データ数] = ユーザDB[タイプCSelf50[[並替]タイプ番号](-)のデータ数]
■変数操作: CSelf52[[並替]データID] = -1 + 0
■回数付きループ [ CSelf51[[並替]全データ数] ]回
|■変数操作: CSelf52[[並替]データID] += 1 + 0
|■DB読込(ユーザ):CSelf9[一時項目名] = ユーザDB[ CSelf50[[並替]タイプ番号]
: CSelf52[[並替]データID] : 0 ](-:-:×NoData)
|■DB読込(ユーザ):CSelf8[付与HP名] = ユーザDB[ CSelf50[[並替]タイプ番号] :
CSelf52[[並替]データID] : 1 ](-:-:×NoData)
|■文字列操作:CSelf8[付与HP名] =<から文字列を置換> "\n" → ""
|■条件分岐(文字): 【1】 CSelf9[一時項目名]が "" と同じ 【2】 CSelf5[[並替]全名前]が ">|\cself[9]|<" を含む
|-◇分岐: 【1】 [ CSelf9[一時項目名] "" と同じ ]の場合↓
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf5[[並替]全名前] ">|\cself[9]|<" を含む ]の場合↓
||■条件分岐(文字): 【1】 CSelf9[一時項目名]が ">|\cself[9]|<\cself[8]|" を含む
||-◇分岐: 【1】 [ CSelf9[一時項目名] ">|\cself[9]|<\cself[8]|" を含む ]の場合↓
|||■デバッグ文:【エラー】「\cself[9]」が【技能並び順】に2つ以上あります。
|||■ループ開始へ戻る
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■文字列操作:CSelf5[[並替]全名前] += "|\cself[52]>|\cself[9]|<\cself[8]|\n"
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■ユーザーDB【0:技能】に名前があるかチェック
■DB読込(ユーザ): CSelf51[[並替]全データ数] = ユーザDB[タイプ技能(0)のデータ数]
■変数操作: CSelf52[[並替]データID] = -1 + 0
■回数付きループ [ CSelf51[[並替]全データ数] ]回
|■変数操作: CSelf52[[並替]データID] += 1 + 0
|■DB読込(ユーザ): CSelf9[一時項目名] = ユーザDB[ 技能 : CSelf52[[並替]データID] : 0 ] (0 : - : 技能の名前)
|■条件分岐(文字): 【1】 CSelf9[一時項目名]が "" と同じ
|-◇分岐: 【1】 [ CSelf9[一時項目名] "" と同じ ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|■文字列操作:CSelf6[[並替]切出] = CSelf5[[並替]全名前]
|■文字列操作:CSelf6[[並替]切出] =<から指定文字まで切り出し> ">|\cself[9]|<"
|■文字列操作:CSelf8[付与HP名] = CSelf5[[並替]全名前]
|■文字列操作:CSelf8[付与HP名] =<の指定文字以降を切り出し> "\cself[6]>|\cself[9]|<"
|■条件分岐(文字): 【1】 CSelf8[付与HP名]が ">|\cself[9]|<" を含む
|-◇分岐: 【1】 [ CSelf8[付与HP名] ">|\cself[9]|<" を含む ]の場合↓
||■DB読込(ユーザ): CSelf8[付与HP名] = ユーザDB[ 技能 : CSelf52[[並替]データID]
: 1 ] (0 : - : 説明)
||■文字列操作:CSelf8[付与HP名] =<から文字列を置換> "\n"
→ ""
||■文字列操作:CSelf5[[並替]全名前] =<から文字列を置換> ">|\cself[9]|<\cself[8]|"
→ ">||\cself[52]<"
||■
|-◇上記以外
||■文字列操作:CSelf5[[並替]全名前] =<から文字列を置換> ">|\cself[9]|<"
→ ">||\cself[52]<"
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■習得済みをチェック
■変数操作: CSelf30[処理対象個数] = -1 + 0
■DB読込(可変): CSelf36[現在レベル] = 可変DB[ 主人公ステータス : CSelf0[対象主人公ID] : レベル ] (0 : - : 4)
■回数付きループ [ 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 以上 ]の場合↓
|||▼ レベルが既定以上になっていれば万能ウィンドウに登録
|||■条件分岐(変数): 【1】 CSelf35[習得レベル] が CSelf36[現在レベル]
以下
|||-◇分岐: 【1】 [ CSelf35[習得レベル] が CSelf36[現在レベル] 以下 ]の場合↓
||||■文字列操作:CSelf5[[並替]全名前] =<から文字列を置換> ">||\cself[34]<" → "><||\cself[34]<"
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■習得済みを可変DB【万能ウィンドウ】へ保存
■DB読込(ユーザ): CSelf51[[並替]全データ数] = ユーザDB[タイプCSelf50[[並替]タイプ番号](-)のデータ数]
■変数操作: CSelf52[[並替]データID] = -1 + 0
■回数付きループ [ CSelf51[[並替]全データ数] ]回
|■変数操作: CSelf52[[並替]データID] += 1 + 0
|■条件分岐(文字): 【1】 CSelf5[[並替]全名前]が "|\cself[52]><||" を含む
|-◇分岐: 【1】 [ CSelf5[[並替]全名前] "|\cself[52]><||" を含む ]の場合↓
||■
|-◇上記以外
||■ループ開始へ戻る
||■
|◇分岐終了◇
|■文字列操作:CSelf5[[並替]全名前] =<の指定文字以降を切り出し> "|\cself[52]><||"
|■変数操作: CSelf34[技能コード] = CSelf5[[並替]全名前] + 0
|▼ 万能ウィンドウの書き込み先位置を+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] が 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)
|||■条件分岐(変数): 【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
■文字列操作:CSelf5[[並替]全名前] = ""
■ |