WOLF RPGエディター(ウディタ)/自作メニュー【サイトトップへ戻る】
■アイテムの一覧表に説明画面を追加
(更新:2023/02/28)


基礎ページ(アイテムの一覧表の自作メニューを作る)で作成したイベント処理に、
アイテムの説明文を表示するウィンドウを追加します。



基礎ページをご覧頂いていない場合は、先に基礎ページをご覧ください。
【アイテムの一覧表の自作メニューを作るのページを開く】

ショートカット
■改造内容の確認
■変数について
■アイテム説明を追加
■「横2×縦12」に追加

動作見本用のサンプルデータ
ダウンロード後に右クリック→[すべて展開]で解凍し、
中に入っている「★このデータについて」をご覧ください。


  
■改造内容の確認

基礎ページの設定にアイテムの説明を表示するウィンドウを追加します。



アイテムの説明文はユーザーDB項目[1]から取得します。





画面の下にアイテムの説明文を表示するスペースを確保するため、
アイテムの一覧の表示位置を上に17ピクセル移動させます。



説明文は特殊文字「<C>」を使って中央表示にして、特殊文字「\f[10]」を使って文字サイズを「10」にします。



ピクチャ説明用のウィンドウアイテムの説明文を表示するピクチャを追加します。

ピクチャー
番号 使用内容
1 ウィンドウ画像
2 説明用ウィンドウ画像
3 アイテムの説明文
10 カーソル画像
20 スクロール可能を示すアイコン[▲]
21 スクロール可能を示すアイコン[▼]
100〜199 アイテム名
200〜299 アイテム名と所持数の間に表示する「×」
300〜399 所持数



なお、可変DB[20:一覧表用]の設定は基礎ページと変わりません。

また当ページにある設定例は、基礎ページと同様にゲーム画面のサイズ「320×240[x2]」に合わせた表示設定になっています。


▲トップへ戻る▲


  
■変数について

変数の設定は基礎ページと変わりません。

コモンイベントのセルフ変数
番号 名前 使用内容
10 キー入力 押したキーのキー番号を取得。
【キー番号の一覧を見る】
11 キー待ち時間 方向キーを押し続けた時に、次にカーソルが移動するまでの時間をカウントします。
カーソルが移動すると「12」が設定され、1フレームごとに「減算1」になり、
「0以下」になると再びカーソルの移動が可能になります。
方向キーを離すと「0」になるので、方向キーを連打するとカーソルが速く移動します。
12 起動時キー押し禁止 自作メニューの起動時に何らかのキーを押し続けている場合は、
一度キーを離さないとキー操作ができないようにする時に使用します。
起動時は「1」を設定し、キーを押していない状態になると「0」になり、
それ以降キー操作ができるようになります。
20 カーソル位置 メニュー画面上のカーソルの位置を設定。
一番上の行が「0」、一番下の行が「11」。
21 スクロール行数 現在スクロールしている行数を設定。
22 スクロール最大行 スクロールできる最大行数を設定。
画面上には12項目を表示する事ができるので、
15種類のアイテムを所持している場合のスクロール最大行は「3」になります。
23 所持有り総数 所持しているアイテムの総数です。
武器や防具の所持有りも一緒にカウントされます。
24 最下行左端位置 スクロールして最も下にある行の左端のカーソル位置を設定。
25 ピクチャ[100〜] アイテム名を表示するピクチャ番号を設定。
26 ピクチャ[200〜] アイテム名と所持数の間に表示する「×」のピクチャ番号を設定。
27 ピクチャ[300〜] 所持数を表示するピクチャ番号を設定。
30 X位置[100〜] アイテム名を表示するピクチャのX表示位置を設定。
31 X位置[200〜] アイテム名と所持数の間に表示する「×」のピクチャのX表示位置を設定。
32 X位置[300〜] 所持数を表示するピクチャのX表示位置を設定。
35 Y位置 アイテム名、「×」、所持数のピクチャのY表示位置を設定。
カーソルのY表示位置の設定でも使用。
40 全ID数 ユーザーDB[2:アイテム][3:武器][4:防具]のデータID数を取得する時に使用。
41 処理中ID アイテム、武器、防具のデータIDを設定し、
ユーザーDBからアイテム名を取得したり、可変DBから所持数を取得する時に使用。
42 所持数取得 可変DBの所持数を取得する時に使用。
43 アイテムID アイテムIDを取得する時に使用。
44 ユーザータイプID 処理中のアイテムのアイテム情報を保存したユーザーDBのタイプ番号を設定。
アイテム「2」、武器「3」、防具「4」。
45 可変タイプID 処理中のアイテムの所持数を保存した可変DBのタイプ番号を設定。
アイテム「7」、武器「8」、防具「9」。
46 計算用 一時的な計算処理で使用。
当ページではアイテム名の拡大率の計算で使用。

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


▲トップへ戻る▲


  
■アイテム説明を追加

主な改造内容は以下のとおりです。
※「行」は追加設定後の行数です。

設定内容
1 ウィンドウのY表示位置を「103」に変更。
2 説明用のウィンドウを追加。
62 アイコン[▲]のY表示位置を「2」に変更。
67 アイコン[▼]のY表示位置を「204」に変更。
76 アイテム名のY表示位置を上に17ピクセル移動。
103 カーソルののY表示位置を上に17ピクセル移動。
105 ▼ アイテムの説明表示
アイテムの説明表示を追加。



以下の【ピクチャ】の設定画面は、初期設定と異なる部分を黄色で表示しています。

▼説明用のウィンドウの設定


▼説明用の文字列の設定


※文字列は「\f[10]<C>\udb[\cself[44]:\cself[43]:1]」です。



【イベントコード表示】

■変数操作: CSelf12[起動時キー押し禁止] = 1 + 0
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[150,206] X:160 Y:103 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:2 [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[320,34] X:160 Y:223 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]

■ピクチャ表示:10 [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[134,16] X:93 Y:24 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:10 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ ■■■■■■■■■■所持有り総数をチェック
■変数操作: CSelf20[カーソル位置]〜CSelf23[所持有り総数] = 0 + 0
▼ アイテムの所持数1以上
■可変DB書込:[タイプ 一覧表用(20) を初期化]
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持アイテム個数(7)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持アイテム個数 : CSelf41[処理中ID] : 0 ] (7 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 20000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 武器の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持武器個数(8)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持武器個数 : CSelf41[処理中ID] : 0 ] (8 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 30000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 防具の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┗所持防具個数(9)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┗所持防具個数 : CSelf41[処理中ID] : 0 ] (9 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 40000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf22[スクロール最大行] = CSelf23[所持有り総数] - 12
■変数操作: CSelf22[スクロール最大行] 下限= 0 + 0
■変数操作: CSelf24[最下行位置] = CSelf23[所持有り総数] - 1
■変数操作: CSelf24[最下行位置] 下限= 0 + 0
▼ ■■■■■■■■■■アイテム名を表示
●ラベル地点「アイテム名表示」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:20 〜 21 / 0(0)フレーム
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
|■ピクチャ表示:20 [中心]文字列[\f[10]▲] X:160 Y:2 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
|■ピクチャ表示:21 [中心]文字列[\f[10]▼] X:160 Y:204 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■変数操作: CSelf25[ピクチャ[100〜]] = 100 + 0
■変数操作: CSelf26[ピクチャ[200〜]] = 200 + 0
■変数操作: CSelf27[ピクチャ[300〜]] = 300 + 0
■変数操作: CSelf30[X位置[100〜]] = 97 + 0
■変数操作: CSelf31[X位置[200〜]] = 196 + 0
■変数操作: CSelf32[X位置[300〜]] = 223 + 0
■変数操作: CSelf35[Y位置] = 26 - 17
■変数操作: CSelf41[処理中ID] = CSelf21[スクロール行数] + 0
■回数付きループ [ 12 ]回
|■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf41[処理中ID] : 0 ] (20 : - : アイテムID)
|■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
|-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
| |■ループ中断
| |■
|◇分岐終了◇
|■変数操作: CSelf44[ユーザータイプID]〜CSelf45[可変タイプID] = CSelf43[アイテムID] / 10000
|■変数操作: CSelf45[可変タイプID] += 5 + 0
|■変数操作: CSelf43[アイテムID] %= 10000 + 0
|■ピクチャ表示:CSelf25[ピクチャ[100〜]] [左上]文字列[\udb[\cself[44]:\]
       X:CSelf30[X位置[100〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf26[ピクチャ[200〜]] [左上]文字列[×]
       X:CSelf31[X位置[200〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf27[ピクチャ[300〜]] [右上]文字列[\cdb[\cself[45]:\]
       X:CSelf32[X位置[300〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■変数操作: CSelf46[計算用] = 96 * 100
|■変数操作+: CSelf46[計算用] /= ピクチャ:CSelf25[ピクチャ[100〜]] の 画像サイズ(横)
|■変数操作: CSelf46[計算用] 上限= 100 + 0
|■ピクチャ移動:CSelf25[ピクチャ[100〜]] 相対X:0 Y:0 / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 CSelf46[計算用]x100% / カラー 同値
|■変数操作: CSelf25[ピクチャ[100〜]]〜CSelf27[ピクチャ[300〜]] += 1 + 0
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■変数操作: CSelf35[Y位置] += 16 + 0
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■キー処理
●ラベル地点「キー処理」 <<<<<<<<<<<<<<<<<<<<<<<<★
■変数操作: CSelf35[Y位置] = CSelf20[カーソル位置] * 16
■変数操作: CSelf35[Y位置] += 24 - 17
■ピクチャ移動:10 X:93 Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
▼ アイテムの説明表示
■変数操作: CSelf41[処理中ID] = CSelf20[カーソル位置] + 0
■変数操作: CSelf41[処理中ID] += CSelf21[スクロール行数] + 0
■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf41[処理中ID] : 0 ] (20 : - : アイテムID)
■条件分岐(変数): 【1】 CSelf43[アイテムID] が 1 以上
-◇分岐: 【1】 [ CSelf43[アイテムID] が 1 以上 ]の場合↓
|■変数操作: CSelf44[ユーザータイプID] = CSelf43[アイテムID] / 10000
|■変数操作: CSelf43[アイテムID] %= 10000 + 0
|■ピクチャ表示:3 [中心]文字列[\f[10]<C>\udb[\cs] X:160 Y:223 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇

■ループ開始
|■ウェイト:1 フレーム
|■変数操作: CSelf11[キー待ち時間] -= 1 + 0
|■キー入力:CSelf10[キー入力] 上下(8,2) 決定(10) キャンセル(11)
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 0 と同じ
          【2】 CSelf12[起動時キー押し禁止] が 1 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 0 と同じ ]の場合↓
| |■変数操作: CSelf11[キー待ち時間]〜CSelf12[起動時キー押し禁止] = 0 + 0
| |■ループ開始へ戻る
| |■
|-◇分岐: 【2】 [ CSelf12[起動時キー押し禁止] が 1 と同じ ]の場合↓
| |■ループ開始へ戻る
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 10 と同じ 【2】 CSelf10[キー入力] が 11 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 10 と同じ ]の場合↓
| |▼ 決定
| |■ループ中断
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 11 と同じ ]の場合↓
| |▼ キャンセル
| |●ラベル「終了」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf11[キー待ち時間] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キー待ち時間] が 1 以上 ]の場合↓
| |■ループ開始へ戻る
| |■
|◇分岐終了◇
|■変数操作: CSelf11[キー待ち時間] = 12 + 0
|▼ カーソル移動処理
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 8 と同じ 【2】 CSelf10[キー入力] が 2 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 8 と同じ ]の場合↓
| |▼ 上キーを押した
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が 1 以上
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が 1 以上 ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] -= 1 + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] -= 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] += CSelf24[最下行位置] + 0
| |■変数操作: CSelf20[カーソル位置] -= CSelf22[スクロール最大行] + 0
| |■変数操作: CSelf21[スクロール行数] = CSelf22[スクロール最大行] + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 2 と同じ ]の場合↓
| |▼ 下キーを押した
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が 10 以下
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が 10 以下 ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が CSelf24[最下行位置] 以上
| | |-◇分岐: 【1】 [ CSelf20[カーソル位置] が CSelf24[最下行位置] 以上 ]の場合↓
| | | |■変数操作: CSelf20[カーソル位置] = 0 + 0
| | | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | | |■
| | |◇分岐終了◇
| | |■変数操作: CSelf20[カーソル位置] += 1 + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] += 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] -= 11 + 0
| |■変数操作: CSelf21[スクロール行数] = 0 + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■決定の処理
■変数操作: CSelf20[カーソル位置] += CSelf21[スクロール行数] + 0
■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf20[カーソル位置] : 0 ] (20 : - : アイテムID)
■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
|●ラベル「終了」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇分岐終了◇
■変数操作: CSelf44[ユーザータイプID] = CSelf43[アイテムID] / 10000
■変数操作: CSelf43[アイテムID] %= 10000 + 0
■文章:「\udb[\cself[44]:\cself[43]:0]」を決定。
●ラベル地点「終了」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:1 〜 399 / 0(0)フレーム


以上で設定完了です。
テストプレイを実行して、動作確認を行ってください。


▲トップへ戻る▲


  
■「横2×縦12」に追加

横2×縦12」の設定にアイテム説明を追加します。

予め「横2×縦12」の設定を行ってください。
【「横2×縦12」の説明ページを表示】



【イベントコード表示】

■変数操作: CSelf12[起動時キー押し禁止] = 1 + 0
■変数操作: CSelf17[画面上項目数] = 24 + 0
■変数操作: CSelf18[横項目数] = 2 + 0
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[284,206] X:160 Y:103 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:2 [中心]ウィンドウ「SystemFile/WindowBase_amania.png」サイズ[320,34] X:160 Y:223 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]

■ピクチャ表示:10 [左上]ウィンドウ「SystemFile/CursorBase.png」サイズ[134,16] X:93 Y:24 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:10 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ ■■■■■■■■■■所持有り総数をチェック
■変数操作: CSelf20[カーソル位置]〜CSelf23[所持有り総数] = 0 + 0
▼ アイテムの所持数1以上
■可変DB書込:[タイプ 一覧表用(20) を初期化]
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持アイテム個数(7)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持アイテム個数 : CSelf41[処理中ID] : 0 ] (7 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 20000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 武器の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┣所持武器個数(8)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┣所持武器個数 : CSelf41[処理中ID] : 0 ] (8 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 30000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
▼ 防具の所持数1以上
■DB読込(可変): CSelf40[全ID数] = 可変DB[タイプ┗所持防具個数(9)のデータ数]
■変数操作: CSelf41[処理中ID] = 0 + 0
■回数付きループ [ CSelf40[全ID数] ]回
|■DB読込(可変): CSelf42[所持数取得] = 可変DB[ ┗所持防具個数 : CSelf41[処理中ID] : 0 ] (9 : - : 所持個数)
|■条件分岐(変数): 【1】 CSelf42[所持数取得] が 1 以上
|-◇分岐: 【1】 [ CSelf42[所持数取得] が 1 以上 ]の場合↓
| |■変数操作: CSelf43[アイテムID] = CSelf41[処理中ID] + 40000
| |■可変DB書込:DB[ 一覧表用 : CSelf23[所持有り総数] : 0 ] (20 : - : アイテムID) = CSelf43[アイテムID]
| |■変数操作: CSelf23[所持有り総数] += 1 + 0
| |■
|◇分岐終了◇
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■
◇ループここまで◇◇
■変数操作: CSelf22[スクロール最大行] = CSelf23[所持有り総数] - CSelf17[画面上項目数]
■変数操作: CSelf22[スクロール最大行] 下限= 0 + 0
■変数操作: CSelf22[スクロール最大行] += CSelf18[横項目数] - 1
■変数操作: CSelf22[スクロール最大行] /= CSelf18[横項目数] + 0
■変数操作: CSelf24[最下行左端位置] = CSelf23[所持有り総数] - 1
■変数操作: CSelf24[最下行左端位置] /= CSelf18[横項目数] + 0
■変数操作: CSelf24[最下行左端位置] *= CSelf18[横項目数] + 0
■変数操作: CSelf24[最下行左端位置] 下限= 0 + 0
▼ ■■■■■■■■■■アイテム名を表示
●ラベル地点「アイテム名表示」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:20 〜 21 / 0(0)フレーム
■ピクチャ消去:100 〜 399 / 0(0)フレーム
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
|■ピクチャ表示:20 [中心]文字列[\f[10]▲] X:160 Y:2 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
|■ピクチャ表示:21 [中心]文字列[\f[10]▼] X:160 Y:204 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇
■変数操作: CSelf25[ピクチャ[100〜]] = 100 + 0
■変数操作: CSelf26[ピクチャ[200〜]] = 200 + 0
■変数操作: CSelf27[ピクチャ[300〜]] = 300 + 0
■変数操作: CSelf30[X位置[100〜]] = 97 - 67
■変数操作: CSelf31[X位置[200〜]] = 196 - 67
■変数操作: CSelf32[X位置[300〜]] = 223 - 67
■変数操作: CSelf35[Y位置] = 26 - 17
■変数操作: CSelf41[処理中ID] = CSelf21[スクロール行数] + 0
■変数操作: CSelf46[処理数] = 0 + 0
■回数付きループ [ CSelf17[画面上項目数] ]回
|■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf41[処理中ID] : 0 ] (20 : - : アイテムID)
|■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
|-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
| |■ループ中断
| |■
|◇分岐終了◇
|■変数操作: CSelf44[ユーザータイプID]〜CSelf45[可変タイプID] = CSelf43[アイテムID] / 10000
|■変数操作: CSelf45[可変タイプID] += 5 + 0
|■変数操作: CSelf43[アイテムID] %= 10000 + 0
|■変数操作: CSelf50[X計算[100〜]]〜CSelf52[X計算[300〜]] = CSelf46[処理数] % CSelf18[横項目数]
|■変数操作: CSelf50[X計算[100〜]]〜CSelf52[X計算[300〜]] *= 134 + 0
|■変数操作: CSelf50[X計算[100〜]] += CSelf30[X位置[100〜]] + 0
|■変数操作: CSelf51[X計算[200〜]] += CSelf31[X位置[200〜]] + 0
|■変数操作: CSelf52[X計算[300〜]] += CSelf32[X位置[300〜]] + 0
|■変数操作: CSelf55[Y計算] = CSelf46[処理数] / CSelf18[横項目数]
|■変数操作: CSelf55[Y計算] *= 16 + 0
|■変数操作: CSelf55[Y計算] += CSelf35[Y位置] + 0
|■ピクチャ表示:CSelf25[ピクチャ[100〜]] [左上]文字列[\udb[\cself[44]:\]
       X:CSelf50[X計算[100〜]] Y:CSelf55[Y計算] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf26[ピクチャ[200〜]] [左上]文字列[×]
       X:CSelf51[X計算[200〜]] Y:CSelf55[Y計算] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■ピクチャ表示:CSelf27[ピクチャ[300〜]] [右上]文字列[\cdb[\cself[45]:\]
       X:CSelf52[X計算[300〜]] Y:CSelf55[Y計算] / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■変数操作: CSelf46[計算用] = 96 * 100
|■変数操作+: CSelf46[計算用] /= ピクチャ:CSelf25[ピクチャ[100〜]] の 画像サイズ(横)
|■変数操作: CSelf46[計算用] 上限= 100 + 0
|■ピクチャ移動:CSelf25[ピクチャ[100〜]] 相対X:0 Y:0 / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 CSelf46[計算用]x100% / カラー 同値
|■変数操作: CSelf25[ピクチャ[100〜]]〜CSelf27[ピクチャ[300〜]] += 1 + 0
|■変数操作: CSelf41[処理中ID] += 1 + 0
|■変数操作:CSelf46[処理数] += 1 + 0
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■キー処理
●ラベル地点「キー処理」 <<<<<<<<<<<<<<<<<<<<<<<<★
▼ 最下行で項目が存在しない位置へカーソルを移動させた時の補正
■変数操作: CSelf47[計算用] = CSelf20[カーソル位置] + 0
■変数操作: CSelf47[計算用] += CSelf21[スクロール行数] * CSelf18[横項目数]
■条件分岐(変数): 【1】 CSelf47[計算用] が CSelf23[所持有り総数] 以上
-◇分岐: 【1】 [ CSelf47[計算用] が CSelf23[所持有り総数] 以上 ]の場合↓
|■変数操作: CSelf20[カーソル位置] = CSelf23[所持有り総数] - 1
|■変数操作: CSelf20[カーソル位置] -= CSelf22[スクロール最大行] * CSelf18[横項目数]
|■変数操作: CSelf20[カーソル位置] 下限= 0 + 0
|■
◇分岐終了◇
▼ カーソル表示
■変数操作: CSelf30[X位置[100〜]] = CSelf20[カーソル位置] % CSelf18[横項目数]
■変数操作: CSelf30[X位置[100〜]] *= 134 + 0
■変数操作: CSelf30[X位置[100〜]] += 93 - 67
■変数操作: CSelf35[Y位置] = CSelf20[カーソル位置] / CSelf18[横項目数]
■変数操作: CSelf35[Y位置] *= 16 + 0
■変数操作: CSelf35[Y位置] += 24 - 17
■ピクチャ移動:10 X:CSelf30[X位置[100〜]] Y:CSelf35[Y位置] / 0(0)フレーム /
       パターン 1 / 透 255 / 表示形式:同値 / 角 0 / 拡 同値 / カラー 同値
▼ アイテムの説明表示
■変数操作: CSelf41[処理中ID] = CSelf20[カーソル位置] + 0
■変数操作: CSelf41[処理中ID] += CSelf21[スクロール行数] * CSelf18[横項目数]
■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf41[処理中ID] : 0 ] (20 : - : アイテムID)
■条件分岐(変数): 【1】 CSelf43[アイテムID] が 1 以上
-◇分岐: 【1】 [ CSelf43[アイテムID] が 1 以上 ]の場合↓
|■変数操作: CSelf44[ユーザータイプID] = CSelf43[アイテムID] / 10000
|■変数操作: CSelf43[アイテムID] %= 10000 + 0
|■ピクチャ表示:3 [中心]文字列[\f[10]<C>\udb[\cs] X:160 Y:223 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
|■
◇分岐終了◇

■ループ開始
|■ウェイト:1 フレーム
|■変数操作: CSelf11[キー待ち時間] -= 1 + 0
|■キー入力:CSelf10[キー入力] 4方向 決定(10) キャンセル(11)
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 0 と同じ
          【2】 CSelf12[起動時キー押し禁止] が 1 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 0 と同じ ]の場合↓
| |■変数操作: CSelf11[キー待ち時間]〜CSelf12[起動時キー押し禁止] = 0 + 0
| |■ループ開始へ戻る
| |■
|-◇分岐: 【2】 [ CSelf12[起動時キー押し禁止] が 1 と同じ ]の場合↓
| |■ループ開始へ戻る
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 10 と同じ
          【2】 CSelf10[キー入力] が 11 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 10 と同じ ]の場合↓
| |▼ 決定
| |■ループ中断
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 11 と同じ ]の場合↓
| |▼ キャンセル
| |●ラベル「終了」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf11[キー待ち時間] が 1 以上
|-◇分岐: 【1】 [ CSelf11[キー待ち時間] が 1 以上 ]の場合↓
| |■ループ開始へ戻る
| |■
|◇分岐終了◇
|■変数操作: CSelf11[キー待ち時間] = 12 + 0
|▼ カーソル移動処理
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 8 と同じ 【2】 CSelf10[キー入力] が 2 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 8 と同じ ]の場合↓
| |▼ 上キーを押した
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が CSelf18[横項目数] 以上
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が CSelf18[横項目数] 以上 ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] -= CSelf18[横項目数] + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が 1 以上
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が 1 以上 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] -= 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] += CSelf24[最下行左端位置] + 0
| |■変数操作: CSelf20[カーソル位置] -= CSelf22[スクロール最大行] * CSelf18[横項目数]
| |■変数操作: CSelf21[スクロール行数] = CSelf22[スクロール最大行] + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 2 と同じ ]の場合↓
| |▼ 下キーを押した
| |■変数操作: CSelf47[計算用] = CSelf17[画面上項目数] - CSelf18[横項目数]
| |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が CSelf47[計算用] 未満
| |-◇分岐: 【1】 [ CSelf20[カーソル位置] が CSelf47[計算用] 未満 ]の場合↓
| | |■条件分岐(変数): 【1】 CSelf20[カーソル位置] が CSelf24[最下行左端位置] 以上
| | |-◇分岐: 【1】 [ CSelf20[カーソル位置] が CSelf24[最下行左端位置] 以上 ]の場合↓
| | | |■変数操作: CSelf20[カーソル位置] %= CSelf18[横項目数] + 0
| | | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | | |■
| | |◇分岐終了◇
| | |■変数操作: CSelf20[カーソル位置] += CSelf18[横項目数] + 0
| | |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■条件分岐(変数): 【1】 CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満
| |-◇分岐: 【1】 [ CSelf21[スクロール行数] が CSelf22[スクロール最大行] 未満 ]の場合↓
| | |■変数操作: CSelf21[スクロール行数] += 1 + 0
| | |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] -= CSelf17[画面上項目数] - CSelf18[横項目数]
| |■変数操作: CSelf21[スクロール行数] = 0 + 0
| |●ラベル「アイテム名表示」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■条件分岐(変数): 【1】 CSelf10[キー入力] が 4 と同じ 【2】 CSelf10[キー入力] が 6 と同じ
|-◇分岐: 【1】 [ CSelf10[キー入力] が 4 と同じ ]の場合↓
| |▼ 左キーを押した
| |■変数操作: CSelf47[計算用] = CSelf20[カーソル位置] % CSelf18[横項目数]
| |■条件分岐(変数): 【1】 CSelf47[計算用] が 0 と同じ
| |-◇分岐: 【1】 [ CSelf47[計算用] が 0 と同じ ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] += CSelf18[横項目数] + 0
| | |■
| |◇分岐終了◇
| |■変数操作: CSelf20[カーソル位置] -= 1 + 0
| |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|-◇分岐: 【2】 [ CSelf10[キー入力] が 6 と同じ ]の場合↓
| |▼ 右キーを押した
| |■変数操作: CSelf20[カーソル位置] += 1 + 0
| |■変数操作: CSelf47[計算用] = CSelf20[カーソル位置] % CSelf18[横項目数]
| |■条件分岐(変数): 【1】 CSelf47[計算用] が 0 と同じ
| |-◇分岐: 【1】 [ CSelf47[計算用] が 0 と同じ ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] -= CSelf18[横項目数] + 0
| | |■
| |◇分岐終了◇
| |▼ 最下行で項目が存在しない位置へカーソルを移動させた時に左端へ移動
| |■変数操作: CSelf47[計算用] = CSelf20[カーソル位置] + 0
| |■変数操作: CSelf47[計算用] += CSelf21[スクロール行数] * CSelf18[横項目数]
| |■条件分岐(変数): 【1】 CSelf47[計算用] が CSelf23[所持有り総数] 以上
| |-◇分岐: 【1】 [ CSelf47[計算用] が CSelf23[所持有り総数] 以上 ]の場合↓
| | |■変数操作: CSelf20[カーソル位置] /= CSelf18[横項目数] + 0
| | |■変数操作: CSelf20[カーソル位置] *= CSelf18[横項目数] + 0
| | |■
| |◇分岐終了◇
| |●ラベル「キー処理」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
| |■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ ■■■■■■■■■■決定の処理
■変数操作: CSelf20[カーソル位置] += CSelf21[スクロール行数] * CSelf18[横項目数]
■DB読込(可変): CSelf43[アイテムID] = 可変DB[ 一覧表用 : CSelf20[カーソル位置] : 0 ] (20 : - : アイテムID)
■条件分岐(変数): 【1】 CSelf43[アイテムID] が 0 と同じ
-◇分岐: 【1】 [ CSelf43[アイテムID] が 0 と同じ ]の場合↓
|●ラベル「終了」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇分岐終了◇
■変数操作: CSelf44[ユーザータイプID] = CSelf43[アイテムID] / 10000
■変数操作: CSelf43[アイテムID] %= 10000 + 0
■文章:「\udb[\cself[44]:\cself[43]:0]」を決定。
●ラベル地点「終了」 <<<<<<<<<<<<<<<<<<<<<<<<★
■ピクチャ消去:1 〜 399 / 0(0)フレーム


以上で設定完了です。


▲トップへ戻る▲



◎関連ページ

◆アイテムの一覧表の自作メニューを作る
┣◆アイテムの一覧表を「横2×縦12」に改造
┣◆アイテムの一覧表に説明画面を追加
┣◆アイテムの一覧表をマウスで操作
┗◆アイテムの一覧表にスクロールバーを追加

◆自作メニューの基礎講座(4×3の自作メニュー作り)

◆万能ウィンドウについて
┗◆万能ウィンドウの設定例

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