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 |
|
■DB読込(ユーザ): CSelf50[[並替]タイプ番号] = ユーザDB[タイプアイテム並び順(18) のタイプ番号]
▼ ―――――――――――――――――――――――――――――――――――
▼ 【処理の内容】
▼ 指定した装備可能箇所の装備一覧を計算し、その名前一覧と、
▼ 指定キャラの装備可能状態を、可変DB「万能ウィンドウ一時DB」に格納します。
▼
▼ 【このコモンイベント内で操作しているデータベース】
▼
▼ 【ここから呼び出している別コモンイベント】
▼
▼ 【どのコモンイベントから主に呼び出されているか】
▼ ―――――――――――――――――――――――――――――――――――
■デバッグ文の全消去
■可変DB書込:[タイプ 万能ウィンドウ一時DB(19) を初期化]
■変数操作: CSelf32[万能DB登録位置] = 0 + 0
▼ ■■■■■■■■■■■■■■■■■■■■全名前をセルフ[5]に保存
■文字列操作:CSelf5[全アイテム名出力] = ""
▼ ■■■■■■■■■■全ての武器名を出力
■DB読込(ユーザ): CSelf51[[並替]全データ数] = ユーザDB[タイプ武器(3)のデータ数]
■変数操作: CSelf52[[並替]データID] = -1 + 0
■変数操作: CSelf53[[並替]アイテムコード] = -1 + 0
■回数付きループ [ CSelf51[[並替]全データ数] ]回
|■変数操作: CSelf52[[並替]データID]〜CSelf53[[並替]アイテムコード] += 1 + 0
|■DB読込(ユーザ): CSelf9[一時装備名] = ユーザDB[ 武器 : CSelf52[[並替]データID]
: 0 ] (3 : - : 武器の名前)
|■条件分岐(文字): 【1】 CSelf9[一時装備名]が "" と同じ
【2】 CSelf5[全名前出力]が "|\cself[9]|" を含む
|-◇分岐: 【1】 [ CSelf9[一時装備名] "" と同じ ]の場合↓
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf5[全名前出力] "|\cself[9]|" を含む ]の場合↓
||■デバッグ文:【エラー】「\cself[9]」の名前が2つ以上あります。
||■ループ開始へ戻る
||■
|◇分岐終了◇
|■文字列操作:CSelf5[全名前出力] += "|\cself[9]|\cself[53]"
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■全ての防具名を出力
■DB読込(ユーザ): CSelf51[[並替]全データ数] = ユーザDB[タイプ防具(4)のデータ数]
■変数操作: CSelf52[[並替]データID] = -1 + 0
■変数操作: CSelf53[[並替]アイテムコード] = 9999 + 0
■回数付きループ [ CSelf51[[並替]全データ数] ]回
|■変数操作: CSelf52[[並替]データID]〜CSelf53[[並替]アイテムコード] += 1 + 0
|■DB読込(ユーザ): CSelf9[一時装備名] = ユーザDB[ 防具 : CSelf52[[並替]データID]
: 0 ] (4 : - : 防具の名前)
|■条件分岐(文字): 【1】 CSelf9[一時装備名]が "" と同じ
【2】 CSelf5[全名前出力]が "|\cself[9]|" を含む
|-◇分岐: 【1】 [ CSelf9[一時装備名] "" と同じ ]の場合↓
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf5[全名前出力] "|\cself[9]|" を含む ]の場合↓
||■デバッグ文:【エラー】「\cself[9]」の名前が2つ以上あります。
||■ループ開始へ戻る
||■
|◇分岐終了◇
|■文字列操作:CSelf5[全名前出力] += "|\cself[9]|\cself[53]"
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■■■■■■■■■■■ユーザーDB「アイテム並び順」の順番で万能ウィンドウに登録
■DB読込(ユーザ): CSelf51[[並替]全データ数] = ユーザDB[タイプCSelf50[[並替]タイプ番号](-)のデータ数]
■変数操作: CSelf52[[並替]データID] = -1 + 0
■回数付きループ [ CSelf51[[並替]全データ数] ]回
|■変数操作: CSelf52[[並替]データID] += 1 + 0
|■DB読込(ユーザ): CSelf9[一時装備名] =
ユーザDB[ CSelf50[[並替]タイプ番号] : CSelf52[[並替]データID]
: 0 ] (- : - : ×NoData)
|■条件分岐(文字): 【1】 CSelf9[一時装備名]が "" と同じ
【2】 CSelf5[全名前出力]が "|\cself[9]|" を含む
|-◇分岐: 【1】 [ CSelf9[一時装備名] "" と同じ ]の場合↓
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf5[全名前出力] "|\cself[9]|" を含む ]の場合↓
||■
|-◇上記以外
||■ループ開始へ戻る
||■
|◇分岐終了◇
|■文字列操作:CSelf8[一時説明文] = CSelf5[全名前出力]
|■文字列操作:CSelf8[一時説明文] =<の指定文字以降を切り出し> "|\cself[9]|"
|■変数操作: CSelf11[一時TMP] = CSelf8[一時説明文] + 0
|■変数操作: CSelf30[DB読み取り位置] = CSelf11[一時TMP] % 10000
|■変数操作: CSelf38[武器=0 防具=1] = CSelf11[一時TMP] / 10000
|■条件分岐(変数): 【1】 CSelf38[武器=0 防具=1] が 0 と同じ
【2】 CSelf38[武器=0 防具=1] が 1 と同じ
|-◇分岐: 【1】 [ CSelf38[武器=0 防具=1] が 0 と同じ ]の場合↓
||■DB読込(可変): CSelf34[所持個数] = 可変DB[ ┣所持武器個数 : CSelf30[DB読み取り位置] : 所持個数 ] (8 : - : 0)
||■
|-◇分岐: 【2】 [ CSelf38[武器=0 防具=1] が 1 と同じ ]の場合↓
||■DB読込(可変): CSelf34[所持個数] = 可変DB[ ┗所持防具個数 : CSelf30[DB読み取り位置] : 所持個数 ] (9 : - : 0)
||■
|◇分岐終了◇
|▼ 所持個数が1以上なら判定
|■条件分岐(変数): 【1】 CSelf34[所持個数] が 1 以上
|-◇分岐: 【1】 [ CSelf34[所持個数] が 1 以上 ]の場合↓
||■デバッグ文:装備有り>\cself[38]-\cself[34] 装備欄\cself[1]
||■条件分岐(変数): 【1】 CSelf1[装備欄] が 0 以上
||-◇分岐: 【1】 [ CSelf1[装備欄] が 0 以上 ]の場合↓
|||▼ ■■■■■■■■■■■■■■■■■■■■■
|||▼ 装備箇所判定
|||▼ ■■■■■■■■■■■■■■■■■■■■■
|||▼ 装備箇所が違う場合は表示されない
|||■条件分岐(変数): 【1】 CSelf1[装備欄] が 0 と同じ
【2】 CSelf1[装備欄] が 1 以上
|||-◇分岐: 【1】 [ CSelf1[装備欄] が 0 と同じ ]の場合↓
||||▼ 武器欄には防具は絶対に装備できないので次へ
||||▼ 逆に装備欄0なら、武器はそのままスルー
||||■条件分岐(変数): 【1】 CSelf38[武器=0 防具=1] が 1 と同じ
||||-◇分岐: 【1】 [ CSelf38[武器=0 防具=1] が 1 と同じ ]の場合↓
|||||■ループ開始へ戻る
|||||■
||||◇分岐終了◇
||||■
|||-◇分岐: 【2】 [ CSelf1[装備欄] が 1 以上 ]の場合↓
||||▼ 防具類の場合
||||■条件分岐(変数): 【1】 CSelf1[装備欄] が 3 以下
【2】 CSelf1[装備欄] が 4 以上
||||-◇分岐: 【1】 [ CSelf1[装備欄] が 3 以下 ]の場合↓
|||||■条件分岐(変数): 【1】 CSelf38[武器=0 防具=1] が 0 と同じ
【2】 CSelf38[武器=0 防具=1] が 1 と同じ
|||||-◇分岐: 【1】 [ CSelf38[武器=0 防具=1] が 0 と同じ ]の場合↓
||||||■DB読込(ユーザ): CSelf37[装備箇所判定] =
ユーザDB[ 武器 : CSelf30[DB読み取り位置] : 装備可能箇所1〜4
] (3 : - : 3)
||||||■
|||||-◇分岐: 【2】 [ CSelf38[武器=0 防具=1] が 1 と同じ ]の場合↓
||||||■DB読込(ユーザ): CSelf37[装備箇所判定] =
ユーザDB[ 防具 : CSelf30[DB読み取り位置] : 装備可能箇所1〜4
] (4 : - : 3)
||||||■
|||||◇分岐終了◇
|||||■変数操作: CSelf12[ループ回数] = CSelf1[装備欄] - 1
|||||■
||||-◇分岐: 【2】 [ CSelf1[装備欄] が 4 以上 ]の場合↓
|||||■条件分岐(変数): 【1】 CSelf38[武器=0 防具=1] が 0 と同じ
【2】 CSelf38[武器=0 防具=1] が 1 と同じ
|||||-◇分岐: 【1】 [ CSelf38[武器=0 防具=1] が 0 と同じ ]の場合↓
||||||■DB読込(ユーザ): CSelf37[装備箇所判定] =
ユーザDB[ 武器 : CSelf30[DB読み取り位置] : 装備可能箇所5〜8
] (3 : - : 4)
||||||■
|||||-◇分岐: 【2】 [ CSelf38[武器=0 防具=1] が 1 と同じ ]の場合↓
||||||■DB読込(ユーザ): CSelf37[装備箇所判定] =
ユーザDB[ 防具 : CSelf30[DB読み取り位置] : 装備可能箇所5〜8
] (4 : - : 4)
||||||■
|||||◇分岐終了◇
|||||■変数操作: CSelf12[ループ回数] = CSelf1[装備欄] - 4
|||||■
||||◇分岐終了◇
||||■変数操作: CSelf39[装備箇所判定フラグ] = 1 + 0
||||■回数付きループ [ CSelf12[ループ回数] ]回
|||||■変数操作: CSelf39[装備箇所判定フラグ] *= 2 + 0
|||||■
||||◇ループここまで◇◇
||||■デバッグ文:■Bit>[\cself[38],\cself[30]] \cself[37] \cself[39]
||||■条件分岐(変数): 【1】 CSelf37[装備箇所判定] が CSelf39[装備箇所判定フラグ] のビットを満たす
||||-◇分岐: 【1】 [ CSelf37[装備箇所判定] が CSelf39[装備箇所判定フラグ] のビットを満たす ]の場合↓
|||||▼ ビットを満たす場合はそのまま通過
|||||■デバッグ文:【装備】ビット成立 > \cself[30]
|||||■
||||-◇上記以外
|||||▼ ビットを満たさないのは表示なし(該当する装備欄の装備ではない)
|||||■ループ開始へ戻る
|||||■
||||◇分岐終了◇
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||▼ もし装備可能キャラ指定があれば判定
||■条件分岐(変数): 【1】 CSelf0[対象主人公(全部なら-1)] が 0 以上
||-◇分岐: 【1】 [ CSelf0[対象主人公(全部なら-1)] が 0 以上 ]の場合↓
|||■変数操作: CSelf33[装備可能判定(0=OK)] = 1 + 0
|||■条件分岐(変数): 【1】 CSelf38[武器=0 防具=1] が 0 と同じ
【2】 CSelf38[武器=0 防具=1] が 1 と同じ
|||-◇分岐: 【1】 [ CSelf38[武器=0 防具=1] が 0 と同じ ]の場合↓
||||■DB読込(ユーザ): CSelf35[装備のタイプ] = ユーザDB[ 武器 : CSelf30[DB読み取り位置] : 装備のタイプ ] (3 : - : 2)
||||■
|||-◇分岐: 【2】 [ CSelf38[武器=0 防具=1] が 1 と同じ ]の場合↓
||||■DB読込(ユーザ): CSelf35[装備のタイプ] = ユーザDB[ 防具 : CSelf30[DB読み取り位置] : 装備のタイプ ] (4 : - : 2)
||||■
|||◇分岐終了◇
|||■条件分岐(変数): 【1】 CSelf35[装備のタイプ] が -2 以下
【2】 CSelf35[装備のタイプ] が -1 と同じ
【3】 CSelf35[装備のタイプ] が 0 以上
|||-◇分岐: 【1】 [ CSelf35[装備のタイプ] が -2 以下 ]の場合↓
||||▼ 誰でも装備可能
||||■変数操作: CSelf33[装備可能判定(0=OK)] = 0 + 0
||||■
|||-◇分岐: 【2】 [ CSelf35[装備のタイプ] が -1 と同じ ]の場合↓
||||▼ 絶対装備不能
||||■変数操作: CSelf33[装備可能判定(0=OK)] = 1 + 0
||||■
|||-◇分岐: 【3】 [ CSelf35[装備のタイプ] が 0 以上 ]の場合↓
||||▼ 装備タイプが設定されている場合
||||▼
||||▼ ここから10個分の装備タイプを調査。同じ値のが1つでもあれば装備可能判定が「0」になる
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ1 ] (0 : - : 36)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *=
CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ2 ] (0 : - : 37)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *=
CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ3 ] (0 : - : 38)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *=
CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ4 ] (0 : - : 39)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *=
CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ5 ] (0 : - : 40)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *=
CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ6 ] (0 : - : 41)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *=
CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ7 ] (0 : - : 42)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *=
CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ8 ] (0 : - : 43)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *=
CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ9 ] (0 : - : 44)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *=
CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■DB読込(可変): CSelf36[一時主人公装備タイプ] =
可変DB[ 主人公ステータス : CSelf0[対象主人公(全部なら-1)]
: 装備可能タイプ10 ] (0 : - : 45)
||||■変数操作: [リ] CSelf33[装備可能判定(0=OK)] *= CSelf36[一時主人公装備タイプ] - CSelf35[装備のタイプ]
||||■
|||◇分岐終了◇
|||▼ ■装備可能判定を反転させる。
|||■条件分岐(変数): 【1】 CSelf33[装備可能判定(0=OK)] が 0 と同じ
|||-◇分岐: 【1】 [ CSelf33[装備可能判定(0=OK)] が 0 と同じ ]の場合↓
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 1
||||■
|||-◇上記以外
||||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 0
||||■
|||◇分岐終了◇
|||■
||-◇上記以外
|||▼ 特に対象主人公が設定されていなかったら全グレー
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 0
|||■
||◇分岐終了◇
||▼ 名前・コード・数量を格納
||■条件分岐(変数): 【1】 CSelf38[武器=0 防具=1] が 0 と同じ
【2】 CSelf38[武器=0 防具=1] が 1 と同じ
||-◇分岐: 【1】 [ CSelf38[武器=0 防具=1] が 0 と同じ ]の場合↓
|||▼ 武器の場合
|||■DB読込(ユーザ): CSelf9[一時装備名] = ユーザDB[ 武器 : CSelf30[DB読み取り位置] : 武器の名前 ] (3 : - : 0)
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 項目文 ] (19 : - : 0) = CSelf9[一時装備名]
|||▼ 武器コードは20000〜
|||■変数操作: CSelf11[一時TMP] = CSelf30[DB読み取り位置] + 0
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 項目コード ] (19 : - : 1) = CSelf11[一時TMP]
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 項目コード ] (19 : - : 1) += 20000
|||▼ 説明文
|||■DB読込(ユーザ): CSelf8[一時説明文] = ユーザDB[ 武器 : CSelf30[DB読み取り位置] : 武器の説明[2行まで可] ] (3 : - : 1)
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 説明文 ] (19 : - : 6) = CSelf8[一時説明文]
|||■
||-◇分岐: 【2】 [ CSelf38[武器=0 防具=1] が 1 と同じ ]の場合↓
|||▼ 防具の場合
|||■DB読込(ユーザ): CSelf9[一時装備名] = ユーザDB[ 防具 : CSelf30[DB読み取り位置] : 防具の名前 ] (4 : - : 0)
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 項目文 ] (19 : - : 0) = CSelf9[一時装備名]
|||▼ 防具コードは20000〜
|||■変数操作: CSelf11[一時TMP] = CSelf30[DB読み取り位置] + 0
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 項目コード ] (19 : - : 1) = CSelf11[一時TMP]
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 項目コード ] (19 : - : 1) += 30000
|||▼ 説明文
|||■DB読込(ユーザ): CSelf8[一時説明文] = ユーザDB[ 防具 : CSelf30[DB読み取り位置] : 防具の説明[2行まで可] ] (4 : - : 1)
|||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 説明文 ] (19 : - : 6) = CSelf8[一時説明文]
|||■
||◇分岐終了◇
||▼ 数量を格納
||■可変DB書込:DB[ 万能ウィンドウ一時DB :
CSelf32[万能DB登録位置] : 残り個数/消費ポイント ] (19 :
- : 3) = CSelf34[所持個数]
||■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 付与文字列[前] ] (19 : - : 4) = x
||▼ チェック位置を+1
||■変数操作: CSelf32[万能DB登録位置] += 1 + 0
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ 最後に「装備を外す」を追加
■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 項目文 ] (19 : - : 0) = <装備を外す>
■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 説明文 ] (19 : - : 6) = 装備を解除します。
■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 選択可能状態[1=可] ] (19 : - : 2) = 1
▼ 装備解除はコード「-2」
■可変DB書込:DB[ 万能ウィンドウ一時DB : CSelf32[万能DB登録位置] : 項目コード ] (19 : - : 1) = -2
■変数操作: CSelf32[万能DB登録位置] += 1 + 0
▼ 万能ウィンドウ個数に登録
■可変DB書込:DB[ 基本システム用変数 : 万能ウィンドウ項目個数 : 0 ] (18 : 17
: 数値) = CSelf32[万能DB登録位置]
■文字列操作:CSelf5[全名前出力] = ""
■ |