WOLF RPGエディター(ウディタ)/演出・システム【サイトトップへ戻る】
■オリジナルの入力画面でパスワードを入力
(更新:2023/03/19)


オリジナルのパスワードの入力画面を表示する方法を紹介します。



ショートカット
■パスワードを入力する画面の表示処理をコモンイベントに設定
■パスワードを教えるイベントを設定
■パスワードを入力するイベントを設定
■マウスの操作でパスワードを入力

パスワードイベントの基礎情報は別ページに記載しています。
【パスワードイベントの基礎のページを開く】


  
■パスワードを入力する画面の表示処理をコモンイベントに設定

パスワードを入力する画面(自作メニュー)を表示する処理をコモンイベントに設定します。
【自作メニューの基礎ページを開く】



マップイベントではなく、コモンイベントに設定する事で、同じパスワードの入力画面を複数の扉イベントで使用する事ができ、
入力画面を修正する時も1個のコモンイベントを修正するだけで済みます。

またマップイベントよりもセルフ変数が多くあり、セルフ変数に名前も付けられるので、
少々複雑なイベント処理を作る時にはコモンイベントで制作した方が楽に制作できます。



コモンイベントを呼び出す時には「入力回数」を設定します。

仮に「入力回数=4」の場合は、0〜9のいずれかの数字を4回押すと処理が終了します。



0〜9の数字を選択すると、文字列変数(セルフ変数[5:入力内容])に追加される形で数字が設定されます。

例えば「2→3→4→5」と押すと、文字列変数は「2」「23」「234」「2345」と後ろに数字が足されていきます。



指定した入力回数だけ数字を選択したら、数値系の変数に変換して、呼び出し元のマップイベントに入力した値を返します。

キャンセルキーを押した場合は、入力処理を中断し、呼び出し元のマップイベントには「-1」を返します。



方向キーを押し続けた場合は、12フレームごとにカーソルが移動するようにします。

なお、方向キーを連打した場合は、12フレームより早く移動できるようにします。



セルフ変数
番号 名前 キーボード マウス 使用内容
0 入力回数 数字を何回選択できるのか(桁数)を設定。
0以下は「1」、10以上「9」に補正されます。
1 処理方法 処理方法を選択します。
[0]入力後消去 入力し終わった瞬間に表示が消えます。
[1]入力後残す 入力し終わって処理がマップイベントに戻っても、
表示が残り続けます。
この[1]入力後残すの場合は、
マップイベントの処理が終わる時に、
[-1]消去を実行する必要があります。
[-1]消去 [1]入力後残すで残した画面を消去します。
5 入力内容 選択した数字を保存。
10 入力した回数 数字を選択した回数をカウント。
11 カーソル位置 カーソルの位置(0〜9)を設定。
12 カーソル表示X カーソル用のピクチャのX表示位置を設定。
13 カーソル表示Y カーソル用のピクチャのY表示位置を設定。
14 カーソル計算用 左端か右端にいるかどうかを調べる時に使用。
18 入力結果出力 マップイベントへ返す値を設定。
キャンセルの場合は「-1」を設定。
20 キー入力 キーコードを取得。
21 キー待ちカウント 1フレームごとに「減算1」を実行し、
0以下になるとキーが押せるようになる。
方向キーを押すと「12」が設定され、方向キーを押し続けると、
次にカーソルを移動させるまでに12フレームの時間がかかる。
一度キーを離して再び押すと、素早くカーソルの移動ができる。
決定キーが押された時には「999999」を設定し、
連続的に数字を決定しないようにする。
30 補正量X ゲーム画面の中心から扉の上までのX移動距離を設定。
31 補正量Y ゲーム画面の中心から扉の上までのY移動距離を設定。
32 補正ピクチャ横幅 入力画面のピクチャの横幅を取得し、
ゲーム画面の外に出ないように補正する時に使用。
33 補正ピクチャ横幅 入力画面のピクチャの縦幅を取得し、扉の上に表示する時や、
ゲーム画面の外に出ないように補正する時に使用。
40 マウス:数字を上にある ピクチャ[3]の上にマウスポインタが乗っている場合は「1」を設定。
41 マウス:カーソル位置 マウスポインタがある位置のカーソル位置を設定。
セルフ変数[11:カーソル位置]と異なる場合は、
カーソル移動のSEを演奏。
そしてセルフ変数[11:カーソル位置]セルフ変数[41]の値を設定。
マウス操作のみの時には、
ピクチャ[3]の上にマウスポインタが乗ってない時には「-1」を設定し、
ピクチャ[3]の上にマウスポインタが乗った時にSEを演奏させる。
42 マウス:カーソル横列数 マウスポインタがある位置のカーソルが左から列数(0〜4)を設定。
43 マウス:カーソル縦行数 マウスポインタがある位置のカーソルが上から行数(0〜1)を設定。
44 マウス:[0]の左上X位置 [0]の番号の左上のX表示位置を設定。
45 マウス:[0]の左上Y位置 [0]の番号の左上のY表示位置を設定。
47 左クリック 左クリックを取得。
48 右クリック 右クリックを取得。

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



ピクチャの表示位置は、ゲーム画面のサイズ[320×240[x2]]に合わせて設定します。

ピクチャの表示サイズと表示位置は以下のとおりです。

ピクチャー
番号 使用内容 表示内容 位置 横サイズ 縦サイズ 表示形式
1 下地 SystemFile/WindowBase.png 中心 88 40 160 120 通常
2 カーソル SystemFile/CursorBase.png 中心 14 13 134 113 加算
3 番号の文字列 \E01234
56789
中心     160 120 通常



カーソルの位置は、セルフ変数[11:カーソル位置]に保存されます。
セルフ変数[11:カーソル位置]の値は、選択中の0〜9と同じ値です。

カーソルの表示位置は、セルフ変数[11:カーソル位置]のカーソルの位置から算出します。
X位置 セルフ変数[11:カーソル位置]%5×13+134
Y位置 セルフ変数[11:カーソル位置]÷5×15+113
仮に「セルフ変数[11:カーソル位置]=8」の場合は、
「8%5=3」→「3×13=39」→「39+134=173」でX位置は「173」、
「8÷5=1」→「1×15=15」→「15+113=128」でY位置は「128」になります。



入力画面は扉イベントの上に表示されるように表示位置を補正します。

マップの端などでゲーム画面の外にはみ出しそうな場合は、ゲーム画面の中に収まるように補正されます。

▼補正したあとの表示
 



文字列の表示では、特殊文字「\E」を設定して表示する文字の周りにフチを設定します。
【特殊文字「\E」の説明を見る】

数字は全角文字で表示します。



入力画面は入力した数字を表示しないタイプと表示するタイプがあります。

入力表示なし 入力表示あり+数字表示 入力表示あり+[*]表示

▼入力表示ありの所までジャンプ

▼入力表示なし
【イベントコード表示】【コモン出力ファイル】

■コモンイベント「パスワード入力画面」

起動条件:呼び出しのみ

入力の数 / 結果を返す
設定 名前 初期値 特殊指定
数値1 入力回数 4  
数値2 処理方法 0 [0]入力後消去
[1]入力後残す
[-1]消去
返す値 入力結果 コモンセルフ18[数]:入力結果出力

■条件分岐(変数): 【1】 CSelf1[処理方法] が -1 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が -1 と同じ ]の場合↓
|■ピクチャ消去:1 〜 3 / 0(0)フレーム
|■イベント処理中断
|■
◇分岐終了◇
▼ 入力回数を1〜9の範囲内にする
■変数操作: CSelf0[入力回数] 下限= 1 + 0
■変数操作: CSelf0[入力回数] 上限= 9 + 0
▼ ピクチャをゲーム画面の中央に表示
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase.png」サイズ[88,40] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:2 [中心]ウィンドウ「SystemFile/CursorBase.png」サイズ[14,13] X:134 Y:113 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:3 [中心]文字列[\E01234\n56789] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ 入力画面が扉イベントの上に表示されるように補正(ゲーム画面の中に収まるように補正)
■変数操作+: CSelf32[補正ピクチャ横幅] = ピクチャ:1 の 画像サイズ(横)
■変数操作+: CSelf33[補正ピクチャ縦幅] = ピクチャ:1 の 画像サイズ(縦)
■変数操作: CSelf32[補正ピクチャ横幅]〜CSelf33[補正ピクチャ縦幅] /= 2 + 0
■変数操作+: CSelf30[補正量X] = このマップイベント の 画面X座標
■変数操作+: CSelf31[補正量Y] = このマップイベント の 画面Y座標
■変数操作: CSelf30[補正量X] -= 160 + 0
■変数操作: CSelf31[補正量Y] -= 132 + CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf32[補正ピクチャ横幅] = 160 - CSelf32[補正ピクチャ横幅]
■変数操作: CSelf33[補正ピクチャ縦幅] = 120 - CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf30[補正量X] 下限= CSelf32[補正ピクチャ横幅] * -1
■変数操作: CSelf30[補正量X] 上限= CSelf32[補正ピクチャ横幅] + 0
■変数操作: CSelf31[補正量Y] 下限= CSelf33[補正ピクチャ縦幅] * -1
■ピクチャ移動:1 〜 3 相対X:CSelf30[補正量X] Y:CSelf31[補正量Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
▼ 入力処理
■変数操作: CSelf10[入力した回数]〜CSelf11[カーソル位置] = 0 + 0
■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
■文字列操作:CSelf5[入力内容] = ""
■ループ開始
|■変数操作: CSelf12[カーソル表示X] = CSelf11[カーソル位置] % 5
|■変数操作: CSelf12[カーソル表示X] *= 13 + 0
|■変数操作: CSelf12[カーソル表示X] += 134 + CSelf30[補正量X]
|■変数操作: CSelf13[カーソル表示Y] = CSelf11[カーソル位置] / 5
|■変数操作: CSelf13[カーソル表示Y] *= 15 + 0
|■変数操作: CSelf13[カーソル表示Y] += 113 + CSelf31[補正量Y]
|■ピクチャ移動:2 X:CSelf12[カーソル表示X] Y:CSelf13[カーソル表示Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
|■ウェイト:1 フレーム
|■変数操作: CSelf21[キー待ちカウント] -= 1 + 0
|■キー入力:CSelf20[キー入力] 4方向 決定(10) キャンセル(11)
|▼ キー待ち処理
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 0 と同じ 【2】 CSelf21[キー待ちカウント] が 1 以上
|-◇分岐: 【1】 [ CSelf20[キー入力] が 0 と同じ ]の場合↓
||■変数操作: CSelf21[キー待ちカウント] = 0 + 0
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf21[キー待ちカウント] が 1 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|▼ 決定・キャンセル
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 10 と同じ 【2】 CSelf20[キー入力] が 11 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 10 と同じ ]の場合↓
||▼ 決定キーを押した
||■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
||■サウンド:SE0「[システム]決定音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] += "\cself[11]"
||■変数操作: CSelf10[入力した回数] += 1 + 0
||■条件分岐(変数): 【1】 CSelf10[入力した回数] が CSelf0[入力回数] 以上
||-◇分岐: 【1】 [ CSelf10[入力した回数] が CSelf0[入力回数] 以上 ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 11 と同じ ]の場合↓
||▼ キャンセルキーを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇
|▼ カーソル移動
|■変数操作: CSelf21[キー待ちカウント] = 12 + 0
|■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: CSelf14[カーソル計算用] = CSelf11[カーソル位置] % 5
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 4 と同じ 【2】 CSelf20[キー入力] が 6 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 4 と同じ ]の場合↓
||▼ 左キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 0 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 0 と同じ ]の場合↓
|||▼ 左端にカーソルがある→右端へ移動
|||■変数操作: CSelf11[カーソル位置] += 4 + 0
|||■
||-◇上記以外
|||▼ 左へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] -= 1 + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 6 と同じ ]の場合↓
||▼ 右キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 4 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 4 と同じ ]の場合↓
|||▼ 右端にカーソルがある→左端へ移動
|||■変数操作: CSelf11[カーソル位置] -= 4 + 0
|||■
||-◇上記以外
|||▼ 右へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] += 1 + 0
|||■
||◇分岐終了◇
||■
|-◇上記以外
||▼ 上キーか下キーを押した
||■変数操作: CSelf11[カーソル位置] += 5 + 0
||■変数操作: CSelf11[カーソル位置] %= 10 + 0
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ 処理終了
■変数操作: CSelf18[入力結果出力] = CSelf5[入力内容] + 0
■条件分岐(変数): 【1】 CSelf1[処理方法] が 0 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が 0 と同じ ]の場合↓
|■ピクチャ消去:1 〜 3 / 0(0)フレーム
|■
-◇上記以外
|■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(0)フレーム
|■
◇分岐終了◇


  
入力表示を[*]にする場合は、[次チェックPへジャンプ]を押した所にある、
コメント「入力表示を「*」にする場合は、以下のループを「1」回にする」の所のループ回数を[1]回に変えてください。

▼入力表示あり
【イベントコード表示】【コモン出力ファイル】

■コモンイベント「パスワード入力画面」

起動条件:呼び出しのみ

入力の数 / 結果を返す
設定 名前 初期値 特殊指定
数値1 入力回数 4  
数値2 処理方法 0 [0]入力後消去
[1]入力後残す
[-1]消去
返す値 入力結果 コモンセルフ18[数]:入力結果出力

■条件分岐(変数): 【1】 CSelf1[処理方法] が -1 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が -1 と同じ ]の場合↓
|■ピクチャ消去:1 〜 5 / 0(0)フレーム
|■イベント処理中断
|■
◇分岐終了◇
▼ 入力回数を1〜9の範囲内にする
■変数操作: CSelf0[入力回数] 下限= 1 + 0
■変数操作: CSelf0[入力回数] 上限= 9 + 0
▼ ピクチャをゲーム画面の中央に表示
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase.png」サイズ[88,54] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:2 [中心]ウィンドウ「SystemFile/CursorBase.png」サイズ[14,13] X:134 Y:123 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:3 [中心]文字列[\E01234\n56789] X:160 Y:128 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:4 [中心]ウィンドウ「<SQUARE>」サイズ[76,14] X:160 Y:105 / 0(0)フレーム /
       パターン 1 / 透 200 / 通常 / 角 0 / 拡 100% / カラー R[0] G[0] B[0]
■ピクチャ表示:5 [中心]文字列[] X:160 Y:105 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ 入力画面が扉イベントの上に表示されるように補正(ゲーム画面の中に収まるように補正)
■変数操作+: CSelf32[補正ピクチャ横幅] = ピクチャ:1 の 画像サイズ(横)
■変数操作+: CSelf33[補正ピクチャ縦幅] = ピクチャ:1 の 画像サイズ(縦)
■変数操作: CSelf32[補正ピクチャ横幅]〜CSelf33[補正ピクチャ縦幅] /= 2 + 0
■変数操作+: CSelf30[補正量X] = このマップイベント の 画面X座標
■変数操作+: CSelf31[補正量Y] = このマップイベント の 画面Y座標
■変数操作: CSelf30[補正量X] -= 160 + 0
■変数操作: CSelf31[補正量Y] -= 132 + CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf32[補正ピクチャ横幅] = 160 - CSelf32[補正ピクチャ横幅]
■変数操作: CSelf33[補正ピクチャ縦幅] = 120 - CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf30[補正量X] 下限= CSelf32[補正ピクチャ横幅] * -1
■変数操作: CSelf30[補正量X] 上限= CSelf32[補正ピクチャ横幅] + 0
■変数操作: CSelf31[補正量Y] 下限= CSelf33[補正ピクチャ縦幅] * -1
■ピクチャ移動:1 〜 5 相対X:CSelf30[補正量X] Y:CSelf31[補正量Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
▼ 入力処理
■変数操作: CSelf10[入力した回数]〜CSelf11[カーソル位置] = 0 + 0
■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
■文字列操作:CSelf5[入力内容] = ""
■文字列操作:CSelf6[入力表示] = ""
■ループ開始
|■変数操作: CSelf12[カーソル表示X] = CSelf11[カーソル位置] % 5
|■変数操作: CSelf12[カーソル表示X] *= 13 + 0
|■変数操作: CSelf12[カーソル表示X] += 134 + CSelf30[補正量X]
|■変数操作: CSelf13[カーソル表示Y] = CSelf11[カーソル位置] / 5
|■変数操作: CSelf13[カーソル表示Y] *= 15 + 0
|■変数操作: CSelf13[カーソル表示Y] += 121 + CSelf31[補正量Y]
|■ピクチャ移動:2 X:CSelf12[カーソル表示X] Y:CSelf13[カーソル表示Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
|■ウェイト:1 フレーム
|■変数操作: CSelf21[キー待ちカウント] -= 1 + 0
|■キー入力:CSelf20[キー入力] 4方向 決定(10) キャンセル(11)
|▼ キー待ち処理
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 0 と同じ 【2】 CSelf21[キー待ちカウント] が 1 以上
|-◇分岐: 【1】 [ CSelf20[キー入力] が 0 と同じ ]の場合↓
||■変数操作: CSelf21[キー待ちカウント] = 0 + 0
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf21[キー待ちカウント] が 1 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|▼ 決定・キャンセル
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 10 と同じ 【2】 CSelf20[キー入力] が 11 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 10 と同じ ]の場合↓
||▼ 決定キーを押した
||■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
||■サウンド:SE0「[システム]決定音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] += "\cself[11]"
||■ピクチャ表示:5 [中心]文字列[\cself[5]]相対X:0 Y:0 / 0(0)フレーム /
        パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
||▼ 入力表示を「*」にする場合は、以下のループを「1」回にする
||■回数付きループ [ 0 ]回
|||■文字列操作:CSelf6[入力表示] += "*"
|||■ピクチャエフェクト:5 [描画座標シフト(最終値)] Xシフト 0 / Yシフト 3 (0)フレーム
|||■ピクチャ表示:5 [中心]文字列[\cself[6]]相対X:0 Y:0 / 0(0)フレーム /
        パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 100x100% / カラー 同値
|||■
||◇ループここまで◇◇
||■変数操作: CSelf10[入力した回数] += 1 + 0
||■条件分岐(変数): 【1】 CSelf10[入力した回数] が CSelf0[入力回数] 以上
||-◇分岐: 【1】 [ CSelf10[入力した回数] が CSelf0[入力回数] 以上 ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 11 と同じ ]の場合↓
||▼ キャンセルキーを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇
|▼ カーソル移動
|■変数操作: CSelf21[キー待ちカウント] = 12 + 0
|■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: CSelf14[カーソル計算用] = CSelf11[カーソル位置] % 5
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 4 と同じ 【2】 CSelf20[キー入力] が 6 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 4 と同じ ]の場合↓
||▼ 左キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 0 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 0 と同じ ]の場合↓
|||▼ 左端にカーソルがある→右端へ移動
|||■変数操作: CSelf11[カーソル位置] += 4 + 0
|||■
||-◇上記以外
|||▼ 左へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] -= 1 + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 6 と同じ ]の場合↓
||▼ 右キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 4 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 4 と同じ ]の場合↓
|||▼ 右端にカーソルがある→左端へ移動
|||■変数操作: CSelf11[カーソル位置] -= 4 + 0
|||■
||-◇上記以外
|||▼ 右へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] += 1 + 0
|||■
||◇分岐終了◇
||■
|-◇上記以外
||▼ 上キーか下キーを押した
||■変数操作: CSelf11[カーソル位置] += 5 + 0
||■変数操作: CSelf11[カーソル位置] %= 10 + 0
||■
|◇分岐終了◇
|■
◇ループここまで◇◇
▼ 処理終了
■変数操作: CSelf18[入力結果出力] = CSelf5[入力内容] + 0
■条件分岐(変数): 【1】 CSelf1[処理方法] が 0 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が 0 と同じ ]の場合↓
|■ピクチャ消去:1 〜 5 / 0(0)フレーム
|■
-◇上記以外
|■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(0)フレーム
|■
◇分岐終了◇


▲トップへ戻る▲


  
■パスワードを教えるイベントを設定

パスワードを教えるイベントを設定します。

今回はネコのイベントに話しかけるとパスワードを教えてくれるように設定します。



【イベントコード表示】

■マップイベント「情報ネコ」

起動条件:決定キーで実行
起動条件変数:なし

■文章:パスワードは「1234」だよ。


▲トップへ戻る▲


  
■パスワードを入力するイベントを設定

パスワードを入力するイベントを設定します。

今回はカギのかかった扉を開けるイベントを作成します。

予め扉の地形チップを設定してください。





扉の下部に以下のマップイベントを設定してください。





【イベントコード表示】

■マップイベント「扉イベント」

起動条件:決定キーで実行
起動条件変数:なし

▼ セルフ[0]:[0=カギがかかっている][1=扉が開いた]
▼ セルフ[1]:[0=初めて扉を調べた]
▼ セルフ[2]:入力した数値を取得

■条件分岐(変数): 【1】 このEvのセルフ変数0 が 1 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数0 が 1 と同じ ]の場合↓
|■場所移動:主人公 ▲現在のマップ X:15 Y:12 [トランジションなし]
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(変数): 【1】 このEvのセルフ変数1 が 0 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数1 が 0 と同じ ]の場合↓
|▼ 初めて扉を調べた時(一度だけ実行する)
|■変数操作: このEvのセルフ変数1 = 1 + 0
|■文章:扉にはカギがかかっている。
|■文章:扉の横には入力ボタンがある。
|■
◇分岐終了◇
■イベントの挿入[名]: このEvのセルフ変数2 = ["パスワード入力画面"] <コモンEv 215> / 4 / 1:入力後残す
▼ パスワード判定
■条件分岐(変数): 【1】 このEvのセルフ変数2 が -1 と同じ 【2】 このEvのセルフ変数2 が 1234 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数2 が -1 と同じ ]の場合↓
|■イベントの挿入[名]: このEvのセルフ変数2 = ["パスワード入力画面"] <コモンEv 215> / 4 / -1:消去
|■文章:入力をキャンセルしました。
|■
-◇分岐: 【2】 [ このEvのセルフ変数2 が 1234 と同じ ]の場合↓
|■変数操作: このEvのセルフ変数0 = 1 + 0
|■文章:カギが解除されました。
|■
-◇上記以外
|■文章:パスワードが違います。
|■
◇分岐終了◇
■イベントの挿入[名]: このEvのセルフ変数2 = ["パスワード入力画面"] <コモンEv 215> / 4 / -1:消去


以上で設定完了です。


▲トップへ戻る▲


  
■マウスの操作でパスワードを入力

■パスワードを入力する画面の表示処理をコモンイベントに設定で設定したコモンイベントにマウスの操作処理を追加します。





ピクチャ[3](番号の文字列)の上にマウスポインタが乗っている場合は、
数字[0]の左上からマウスポインタがある位置までどれくらいの距離(ピクセル値)があるのかを算出して、
マウスポインタがある場所のカーソルの位置を算出します。

ピクチャ[3](番号の文字列)の上にマウスポインタが乗っている時に方向キーを押すと、
カーソルの移動と共にマウスポインタもカーソルがある位置へ移動します。

ゲーム画面上で右クリックを押すと、入力処理が強制終了します。



下記の設定例は、
■パスワードを入力する画面の表示処理をコモンイベントに設定に追加している設定は黄色
■パスワードを入力する画面の表示処理をコモンイベントに設定から削除している設定は紫色
■パスワードを入力する画面の表示処理をコモンイベントに設定と同じ設定は灰色で表示しています。



設定例には「キーボードとマウスの両方に対応した設定例」と「マウスのみに対応した設定例」があり、
さらにそれぞれに「入力表示なし」と「入力表示あり」があるため、4つの設定例があります。

▼キーボード操作&マウス操作+入力表示ありの所までジャンプ
▼マウス操作のみ+入力表示なしの所までジャンプ
▼マウス操作のみ+入力表示ありの所までジャンプ

▼キーボード操作&マウス操作+入力表示なし
【イベントコード表示】【コモン出力ファイル】

■コモンイベント「パスワード入力画面」

起動条件:呼び出しのみ

入力の数 / 結果を返す
設定 名前 初期値 特殊指定
数値1 入力回数 4  
数値2 処理方法 0 [0]入力後消去
[1]入力後残す
[-1]消去
返す値 入力結果 コモンセルフ18[数]:入力結果出力

■条件分岐(変数): 【1】 CSelf1[処理方法] が -1 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が -1 と同じ ]の場合↓
|■ピクチャ消去:1 〜 3 / 0(0)フレーム
|■イベント処理中断
|■
◇分岐終了◇
▼ 入力回数を1〜9の範囲内にする
■変数操作: CSelf0[入力回数] 下限= 1 + 0
■変数操作: CSelf0[入力回数] 上限= 9 + 0
▼ ピクチャをゲーム画面の中央に表示
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase.png」サイズ[88,40] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:2 [中心]ウィンドウ「SystemFile/CursorBase.png」サイズ[14,13] X:134 Y:113 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:3 [中心]文字列[\E01234\n56789] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ 入力画面が扉イベントの上に表示されるように補正(ゲーム画面の中に収まるように補正)
■変数操作+: CSelf32[補正ピクチャ横幅] = ピクチャ:1 の 画像サイズ(横)
■変数操作+: CSelf33[補正ピクチャ縦幅] = ピクチャ:1 の 画像サイズ(縦)
■変数操作: CSelf32[補正ピクチャ横幅]〜CSelf33[補正ピクチャ縦幅] /= 2 + 0
■変数操作+: CSelf30[補正量X] = このマップイベント の 画面X座標
■変数操作+: CSelf31[補正量Y] = このマップイベント の 画面Y座標
■変数操作: CSelf30[補正量X] -= 160 + 0
■変数操作: CSelf31[補正量Y] -= 132 + CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf32[補正ピクチャ横幅] = 160 - CSelf32[補正ピクチャ横幅]
■変数操作: CSelf33[補正ピクチャ縦幅] = 120 - CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf30[補正量X] 下限= CSelf32[補正ピクチャ横幅] * -1
■変数操作: CSelf30[補正量X] 上限= CSelf32[補正ピクチャ横幅] + 0
■変数操作: CSelf31[補正量Y] 下限= CSelf33[補正ピクチャ縦幅] * -1
■ピクチャ移動:1 〜 3 相対X:CSelf30[補正量X] Y:CSelf31[補正量Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
▼ [0]がある位置(左上)を設定
■変数操作+: CSelf44[マウス:[0]の左上X位置] = ピクチャ:3 の 画像サイズ(横)
■変数操作+: CSelf45[マウス:[0]の左上Y位置] = ピクチャ:3 の 画像サイズ(縦)
■変数操作: CSelf44[マウス:[0]の左上X位置]〜CSelf45[マウス:[0]の左上Y位置] /= -2 + 0
■変数操作: CSelf44[マウス:[0]の左上X位置] += 159 + CSelf30[補正量X]
■変数操作: CSelf45[マウス:[0]の左上Y位置] += 119 + CSelf31[補正量Y]

▼ 入力処理
■変数操作: CSelf10[入力した回数]〜CSelf11[カーソル位置] = 0 + 0
■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
■文字列操作:CSelf5[入力内容] = ""
■ループ開始
|■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
|-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
||▼ マウスポインタがある位置にカーソル位置を移動
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] =
       Sys71:マウスX位置 - CSelf44[マウス:[0]の左上X位置]
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] /= 13 + 0
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] 上限= 4 + 0
||■変数操作: CSelf43[マウス:カーソル縦行数] = Sys72:マウスY位置 - CSelf45[マウス:[0]の左上Y位置]
||■変数操作: CSelf43[マウス:カーソル縦行数] /= 15 + 0
||■変数操作: CSelf43[マウス:カーソル縦行数] 上限= 1 + 0
||■変数操作: CSelf41[マウス:カーソル位置] += CSelf43[マウス:カーソル縦行数] * 5
||■条件分岐(変数): 【1】 CSelf11[カーソル位置] が CSelf41[マウス:カーソル位置] 以外
||-◇分岐: 【1】 [ CSelf11[カーソル位置] が CSelf41[マウス:カーソル位置] 以外 ]の場合↓
|||■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|||■
||◇分岐終了◇
||■変数操作: CSelf11[カーソル位置] = CSelf41[マウス:カーソル位置] + 0
||■
|◇分岐終了◇

|■変数操作: CSelf12[カーソル表示X] = CSelf11[カーソル位置] % 5
|■変数操作: CSelf12[カーソル表示X] *= 13 + 0
|■変数操作: CSelf12[カーソル表示X] += 134 + CSelf30[補正量X]
|■変数操作: CSelf13[カーソル表示Y] = CSelf11[カーソル位置] / 5
|■変数操作: CSelf13[カーソル表示Y] *= 15 + 0
|■変数操作: CSelf13[カーソル表示Y] += 113 + CSelf31[補正量Y]
|■ピクチャ移動:2 X:CSelf12[カーソル表示X] Y:CSelf13[カーソル表示Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
|■ウェイト:1 フレーム
|■変数操作: CSelf21[キー待ちカウント] -= 1 + 0
|■変数操作+: CSelf47[左クリック] = マウス左クリック状態
|■変数操作+: CSelf48[右クリック] = マウス右クリック状態
|■条件分岐(変数): 【1】 CSelf47[左クリック] が 2 と同じ 【2】 CSelf48[右クリック] が 2 と同じ
|-◇分岐: 【1】 [ CSelf47[左クリック] が 2 と同じ ]の場合↓
||▼ 左クリックを押した
||■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
||■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
||-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
|||●ラベル「決定実行」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf48[右クリック] が 2 と同じ ]の場合↓
||▼ 右クリックを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇

|■キー入力:CSelf20[キー入力] 4方向 決定(10) キャンセル(11)
|▼ キー待ち処理
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 0 と同じ 【2】 CSelf21[キー待ちカウント] が 1 以上
|-◇分岐: 【1】 [ CSelf20[キー入力] が 0 と同じ ]の場合↓
||■変数操作: CSelf21[キー待ちカウント] = 0 + 0
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf21[キー待ちカウント] が 1 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|▼ 決定・キャンセル
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 10 と同じ 【2】 CSelf20[キー入力] が 11 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 10 と同じ ]の場合↓
||▼ 決定キーを押した
||●ラベル地点「決定実行」 <<<<<<<<<<<<<<<<<<<<<<<<★
||■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
||■サウンド:SE0「[システム]決定音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] += "\cself[11]"
||■変数操作: CSelf10[入力した回数] += 1 + 0
||■条件分岐(変数): 【1】 CSelf10[入力した回数] が CSelf0[入力回数] 以上
||-◇分岐: 【1】 [ CSelf10[入力した回数] が CSelf0[入力回数] 以上 ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 11 と同じ ]の場合↓
||▼ キャンセルキーを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇
|▼ カーソル移動
|■変数操作: CSelf21[キー待ちカウント] = 12 + 0
|■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: CSelf14[カーソル計算用] = CSelf11[カーソル位置] % 5
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 4 と同じ 【2】 CSelf20[キー入力] が 6 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 4 と同じ ]の場合↓
||▼ 左キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 0 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 0 と同じ ]の場合↓
|||▼ 左端にカーソルがある→右端へ移動
|||■変数操作: CSelf11[カーソル位置] += 4 + 0
|||■
||-◇上記以外
|||▼ 左へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] -= 1 + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 6 と同じ ]の場合↓
||▼ 右キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 4 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 4 と同じ ]の場合↓
|||▼ 右端にカーソルがある→左端へ移動
|||■変数操作: CSelf11[カーソル位置] -= 4 + 0
|||■
||-◇上記以外
|||▼ 右へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] += 1 + 0
|||■
||◇分岐終了◇
||■
|-◇上記以外
||▼ 上キーか下キーを押した
||■変数操作: CSelf11[カーソル位置] += 5 + 0
||■変数操作: CSelf11[カーソル位置] %= 10 + 0
||■
|◇分岐終了◇
|▼ カーソル位置にマウスポインタを移動
|■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
|-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
||■変数操作: Sys71:マウスX位置 = CSelf11[カーソル位置] % 5
||■変数操作: Sys71:マウスX位置 *= 13 + 0
||■変数操作: Sys71:マウスX位置 += 134 + CSelf30[補正量X]
||■変数操作: Sys72:マウスY位置 = CSelf11[カーソル位置] / 5
||■変数操作: Sys72:マウスY位置 *= 15 + 0
||■変数操作: Sys72:マウスY位置 += 113 + CSelf31[補正量Y]
||■
|◇分岐終了◇

|■
◇ループここまで◇◇
▼ 処理終了
■変数操作: CSelf18[入力結果出力] = CSelf5[入力内容] + 0
■条件分岐(変数): 【1】 CSelf1[処理方法] が 0 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が 0 と同じ ]の場合↓
|■ピクチャ消去:1 〜 3 / 0(0)フレーム
|■
-◇上記以外
|■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(0)フレーム
|■
◇分岐終了◇


  
▼キーボード操作&マウス操作+入力表示あり
【イベントコード表示】【コモン出力ファイル】

■コモンイベント「パスワード入力画面」

起動条件:呼び出しのみ

入力の数 / 結果を返す
設定 名前 初期値 特殊指定
数値1 入力回数 4  
数値2 処理方法 0 [0]入力後消去
[1]入力後残す
[-1]消去
返す値 入力結果 コモンセルフ18[数]:入力結果出力

■条件分岐(変数): 【1】 CSelf1[処理方法] が -1 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が -1 と同じ ]の場合↓
|■ピクチャ消去:1 〜 5 / 0(0)フレーム
|■イベント処理中断
|■
◇分岐終了◇
▼ 入力回数を1〜9の範囲内にする
■変数操作: CSelf0[入力回数] 下限= 1 + 0
■変数操作: CSelf0[入力回数] 上限= 9 + 0
▼ ピクチャをゲーム画面の中央に表示
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase.png」サイズ[88,54] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:2 [中心]ウィンドウ「SystemFile/CursorBase.png」サイズ[14,13] X:134 Y:123 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:3 [中心]文字列[\E01234\n56789] X:160 Y:128 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:4 [中心]ウィンドウ「<SQUARE>」サイズ[76,14] X:160 Y:105 / 0(0)フレーム /
       パターン 1 / 透 200 / 通常 / 角 0 / 拡 100% / カラー R[0] G[0] B[0]
■ピクチャ表示:5 [中心]文字列[] X:160 Y:105 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ 入力画面が扉イベントの上に表示されるように補正(ゲーム画面の中に収まるように補正)
■変数操作+: CSelf32[補正ピクチャ横幅] = ピクチャ:1 の 画像サイズ(横)
■変数操作+: CSelf33[補正ピクチャ縦幅] = ピクチャ:1 の 画像サイズ(縦)
■変数操作: CSelf32[補正ピクチャ横幅]〜CSelf33[補正ピクチャ縦幅] /= 2 + 0
■変数操作+: CSelf30[補正量X] = このマップイベント の 画面X座標
■変数操作+: CSelf31[補正量Y] = このマップイベント の 画面Y座標
■変数操作: CSelf30[補正量X] -= 160 + 0
■変数操作: CSelf31[補正量Y] -= 132 + CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf32[補正ピクチャ横幅] = 160 - CSelf32[補正ピクチャ横幅]
■変数操作: CSelf33[補正ピクチャ縦幅] = 120 - CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf30[補正量X] 下限= CSelf32[補正ピクチャ横幅] * -1
■変数操作: CSelf30[補正量X] 上限= CSelf32[補正ピクチャ横幅] + 0
■変数操作: CSelf31[補正量Y] 下限= CSelf33[補正ピクチャ縦幅] * -1
■ピクチャ移動:1 〜 5 相対X:CSelf30[補正量X] Y:CSelf31[補正量Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
▼ [0]がある位置(左上)を設定
■変数操作+: CSelf44[マウス:[0]の左上X位置] = ピクチャ:3 の 画像サイズ(横)
■変数操作+: CSelf45[マウス:[0]の左上Y位置] = ピクチャ:3 の 画像サイズ(縦)
■変数操作: CSelf44[マウス:[0]の左上X位置]〜CSelf45[マウス:[0]の左上Y位置] /= -2 + 0
■変数操作: CSelf44[マウス:[0]の左上X位置] += 159 + CSelf30[補正量X]
■変数操作: CSelf45[マウス:[0]の左上Y位置] += 127 + CSelf31[補正量Y]

▼ 入力処理
■変数操作: CSelf10[入力した回数]〜CSelf11[カーソル位置] = 0 + 0
■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
■文字列操作:CSelf5[入力内容] = ""
■文字列操作:CSelf6[入力表示] = ""
■ループ開始
|■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
|-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
||▼ マウスポインタがある位置にカーソル位置を移動
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] =
       Sys71:マウスX位置 - CSelf44[マウス:[0]の左上X位置]
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] /= 13 + 0
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] 上限= 4 + 0
||■変数操作: CSelf43[マウス:カーソル縦行数] = Sys72:マウスY位置 - CSelf45[マウス:[0]の左上Y位置]
||■変数操作: CSelf43[マウス:カーソル縦行数] /= 15 + 0
||■変数操作: CSelf43[マウス:カーソル縦行数] 上限= 1 + 0
||■変数操作: CSelf41[マウス:カーソル位置] += CSelf43[マウス:カーソル縦行数] * 5
||■条件分岐(変数): 【1】 CSelf11[カーソル位置] が CSelf41[マウス:カーソル位置] 以外
||-◇分岐: 【1】 [ CSelf11[カーソル位置] が CSelf41[マウス:カーソル位置] 以外 ]の場合↓
|||■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|||■
||◇分岐終了◇
||■変数操作: CSelf11[カーソル位置] = CSelf41[マウス:カーソル位置] + 0
||■
|◇分岐終了◇

|■変数操作: CSelf12[カーソル表示X] = CSelf11[カーソル位置] % 5
|■変数操作: CSelf12[カーソル表示X] *= 13 + 0
|■変数操作: CSelf12[カーソル表示X] += 134 + CSelf30[補正量X]
|■変数操作: CSelf13[カーソル表示Y] = CSelf11[カーソル位置] / 5
|■変数操作: CSelf13[カーソル表示Y] *= 15 + 0
|■変数操作: CSelf13[カーソル表示Y] += 121 + CSelf31[補正量Y]
|■ピクチャ移動:2 X:CSelf12[カーソル表示X] Y:CSelf13[カーソル表示Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
|■ウェイト:1 フレーム
|■変数操作: CSelf21[キー待ちカウント] -= 1 + 0
|■変数操作+: CSelf47[左クリック] = マウス左クリック状態
|■変数操作+: CSelf48[右クリック] = マウス右クリック状態
|■条件分岐(変数): 【1】 CSelf47[左クリック] が 2 と同じ 【2】 CSelf48[右クリック] が 2 と同じ
|-◇分岐: 【1】 [ CSelf47[左クリック] が 2 と同じ ]の場合↓
||▼ 左クリックを押した
||■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
||■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
||-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
|||●ラベル「決定実行」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf48[右クリック] が 2 と同じ ]の場合↓
||▼ 右クリックを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇

|■キー入力:CSelf20[キー入力] 4方向 決定(10) キャンセル(11)
|▼ キー待ち処理
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 0 と同じ 【2】 CSelf21[キー待ちカウント] が 1 以上
|-◇分岐: 【1】 [ CSelf20[キー入力] が 0 と同じ ]の場合↓
||■変数操作: CSelf21[キー待ちカウント] = 0 + 0
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf21[キー待ちカウント] が 1 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|▼ 決定・キャンセル
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 10 と同じ 【2】 CSelf20[キー入力] が 11 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 10 と同じ ]の場合↓
||▼ 決定キーを押した
||●ラベル地点「決定実行」 <<<<<<<<<<<<<<<<<<<<<<<<★
||■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
||■サウンド:SE0「[システム]決定音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] += "\cself[11]"
||■ピクチャ表示:5 [中心]文字列[\cself[5]]相対X:0 Y:0 / 0(0)フレーム /
        パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
||▼ 入力表示を「*」にする場合は、以下のループを「1」回にする
||■回数付きループ [ 0 ]回
|||■文字列操作:CSelf6[入力表示] += "*"
|||■ピクチャエフェクト:5 [描画座標シフト(最終値)] Xシフト 0 / Yシフト 3 (0)フレーム
|||■ピクチャ表示:5 [中心]文字列[\cself[6]]相対X:0 Y:0 / 0(0)フレーム /
        パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 100x100% / カラー 同値
|||■
||◇ループここまで◇◇
||■変数操作: CSelf10[入力した回数] += 1 + 0
||■条件分岐(変数): 【1】 CSelf10[入力した回数] が CSelf0[入力回数] 以上
||-◇分岐: 【1】 [ CSelf10[入力した回数] が CSelf0[入力回数] 以上 ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 11 と同じ ]の場合↓
||▼ キャンセルキーを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇
|▼ カーソル移動
|■変数操作: CSelf21[キー待ちカウント] = 12 + 0
|■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: CSelf14[カーソル計算用] = CSelf11[カーソル位置] % 5
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 4 と同じ 【2】 CSelf20[キー入力] が 6 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 4 と同じ ]の場合↓
||▼ 左キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 0 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 0 と同じ ]の場合↓
|||▼ 左端にカーソルがある→右端へ移動
|||■変数操作: CSelf11[カーソル位置] += 4 + 0
|||■
||-◇上記以外
|||▼ 左へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] -= 1 + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 6 と同じ ]の場合↓
||▼ 右キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 4 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 4 と同じ ]の場合↓
|||▼ 右端にカーソルがある→左端へ移動
|||■変数操作: CSelf11[カーソル位置] -= 4 + 0
|||■
||-◇上記以外
|||▼ 右へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] += 1 + 0
|||■
||◇分岐終了◇
||■
|-◇上記以外
||▼ 上キーか下キーを押した
||■変数操作: CSelf11[カーソル位置] += 5 + 0
||■変数操作: CSelf11[カーソル位置] %= 10 + 0
||■
|◇分岐終了◇
|▼ カーソル位置にマウスポインタを移動
|■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
|-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
||■変数操作: Sys71:マウスX位置 = CSelf11[カーソル位置] % 5
||■変数操作: Sys71:マウスX位置 *= 13 + 0
||■変数操作: Sys71:マウスX位置 += 134 + CSelf30[補正量X]
||■変数操作: Sys72:マウスY位置 = CSelf11[カーソル位置] / 5
||■変数操作: Sys72:マウスY位置 *= 15 + 0
||■変数操作: Sys72:マウスY位置 += 113 + CSelf31[補正量Y]
||■
|◇分岐終了◇

|■
◇ループここまで◇◇
▼ 処理終了
■変数操作: CSelf18[入力結果出力] = CSelf5[入力内容] + 0
■条件分岐(変数): 【1】 CSelf1[処理方法] が 0 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が 0 と同じ ]の場合↓
|■ピクチャ消去:1 〜 5 / 0(0)フレーム
|■
-◇上記以外
|■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(0)フレーム
|■
◇分岐終了◇


  
▼マウス操作のみ+入力表示なし
【イベントコード表示】【コモン出力ファイル】

■コモンイベント「パスワード入力画面」

起動条件:呼び出しのみ

入力の数 / 結果を返す
設定 名前 初期値 特殊指定
数値1 入力回数 4  
数値2 処理方法 0 [0]入力後消去
[1]入力後残す
[-1]消去
返す値 入力結果 コモンセルフ18[数]:入力結果出力

■条件分岐(変数): 【1】 CSelf1[処理方法] が -1 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が -1 と同じ ]の場合↓
|■ピクチャ消去:1 〜 3 / 0(0)フレーム
|■イベント処理中断
|■
◇分岐終了◇
▼ 入力回数を1〜9の範囲内にする
■変数操作: CSelf0[入力回数] 下限= 1 + 0
■変数操作: CSelf0[入力回数] 上限= 9 + 0
▼ ピクチャをゲーム画面の中央に表示
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase.png」サイズ[88,40] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:2 [中心]ウィンドウ「SystemFile/CursorBase.png」サイズ[14,13] X:134 Y:113 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:3 [中心]文字列[\E01234\n56789] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ 入力画面が扉イベントの上に表示されるように補正(ゲーム画面の中に収まるように補正)
■変数操作+: CSelf32[補正ピクチャ横幅] = ピクチャ:1 の 画像サイズ(横)
■変数操作+: CSelf33[補正ピクチャ縦幅] = ピクチャ:1 の 画像サイズ(縦)
■変数操作: CSelf32[補正ピクチャ横幅]〜CSelf33[補正ピクチャ縦幅] /= 2 + 0
■変数操作+: CSelf30[補正量X] = このマップイベント の 画面X座標
■変数操作+: CSelf31[補正量Y] = このマップイベント の 画面Y座標
■変数操作: CSelf30[補正量X] -= 160 + 0
■変数操作: CSelf31[補正量Y] -= 132 + CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf32[補正ピクチャ横幅] = 160 - CSelf32[補正ピクチャ横幅]
■変数操作: CSelf33[補正ピクチャ縦幅] = 120 - CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf30[補正量X] 下限= CSelf32[補正ピクチャ横幅] * -1
■変数操作: CSelf30[補正量X] 上限= CSelf32[補正ピクチャ横幅] + 0
■変数操作: CSelf31[補正量Y] 下限= CSelf33[補正ピクチャ縦幅] * -1
■ピクチャ移動:1 〜 3 相対X:CSelf30[補正量X] Y:CSelf31[補正量Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
▼ [0]がある位置(左上)を設定
■変数操作+: CSelf44[マウス:[0]の左上X位置] = ピクチャ:3 の 画像サイズ(横)
■変数操作+: CSelf45[マウス:[0]の左上Y位置] = ピクチャ:3 の 画像サイズ(縦)
■変数操作: CSelf44[マウス:[0]の左上X位置]〜CSelf45[マウス:[0]の左上Y位置] /= -2 + 0
■変数操作: CSelf44[マウス:[0]の左上X位置] += 159 + CSelf30[補正量X]
■変数操作: CSelf45[マウス:[0]の左上Y位置] += 119 + CSelf31[補正量Y]

▼ 入力処理
■変数操作: CSelf10[入力した回数]〜CSelf11[カーソル位置] = 0 + 0
■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
■文字列操作:CSelf5[入力内容] = ""
■ループ開始
|■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
|-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
||▼ マウスポインタがある位置にカーソル位置を移動
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] =
       Sys71:マウスX位置 - CSelf44[マウス:[0]の左上X位置]
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] /= 13 + 0
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] 上限= 4 + 0
||■変数操作: CSelf43[マウス:カーソル縦行数] = Sys72:マウスY位置 - CSelf45[マウス:[0]の左上Y位置]
||■変数操作: CSelf43[マウス:カーソル縦行数] /= 15 + 0
||■変数操作: CSelf43[マウス:カーソル縦行数] 上限= 1 + 0
||■変数操作: CSelf41[マウス:カーソル位置] += CSelf43[マウス:カーソル縦行数] * 5
||■条件分岐(変数): 【1】 CSelf11[カーソル位置] が CSelf41[マウス:カーソル位置] 以外
||-◇分岐: 【1】 [ CSelf11[カーソル位置] が CSelf41[マウス:カーソル位置] 以外 ]の場合↓
|||■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|||■
||◇分岐終了◇
||■変数操作: CSelf11[カーソル位置] = CSelf41[マウス:カーソル位置] + 0
||■ピクチャ移動:2 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 / 透 255 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||■
|-◇上記以外
||■変数操作: CSelf11[カーソル位置] = -1 + 0
||■ピクチャ移動:2 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 / 透 0 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||■
|◇分岐終了◇

|■変数操作: CSelf12[カーソル表示X] = CSelf11[カーソル位置] % 5
|■変数操作: CSelf12[カーソル表示X] *= 13 + 0
|■変数操作: CSelf12[カーソル表示X] += 134 + CSelf30[補正量X]
|■変数操作: CSelf13[カーソル表示Y] = CSelf11[カーソル位置] / 5
|■変数操作: CSelf13[カーソル表示Y] *= 15 + 0
|■変数操作: CSelf13[カーソル表示Y] += 113 + CSelf31[補正量Y]
|■ピクチャ移動:2 X:CSelf12[カーソル表示X] Y:CSelf13[カーソル表示Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
|■ウェイト:1 フレーム
|■変数操作: CSelf21[キー待ちカウント] -= 1 + 0
|■変数操作+: CSelf47[左クリック] = マウス左クリック状態
|■変数操作+: CSelf48[右クリック] = マウス右クリック状態
|■条件分岐(変数): 【1】 CSelf47[左クリック] が 2 と同じ 【2】 CSelf48[右クリック] が 2 と同じ
|-◇分岐: 【1】 [ CSelf47[左クリック] が 2 と同じ ]の場合↓
||▼ 左クリックを押した
||■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
||■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
||-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
|||■サウンド:SE0「[システム]決定音」(0 チャンネル) 再生 / 遅延:0フレーム
|||■文字列操作:CSelf5[入力内容] += "\cself[11]"
|||■変数操作: CSelf10[入力した回数] += 1 + 0
|||■条件分岐(変数): 【1】 CSelf10[入力した回数] が CSelf0[入力回数] 以上
|||-◇分岐: 【1】 [ CSelf10[入力した回数] が CSelf0[入力回数] 以上 ]の場合↓
||||■ループ中断
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf48[右クリック] が 2 と同じ ]の場合↓
||▼ 右クリックを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇

|■キー入力:CSelf20[キー入力] 4方向 決定(10) キャンセル(11)
|▼ キー待ち処理
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 0 と同じ 【2】 CSelf21[キー待ちカウント] が 1 以上
|-◇分岐: 【1】 [ CSelf20[キー入力] が 0 と同じ ]の場合↓
||■変数操作: CSelf21[キー待ちカウント] = 0 + 0
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf21[キー待ちカウント] が 1 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|▼ 決定・キャンセル
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 10 と同じ 【2】 CSelf20[キー入力] が 11 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 10 と同じ ]の場合↓
||▼ 決定キーを押した
||■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
||■サウンド:SE0「[システム]決定音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] += "\cself[11]"
||■変数操作: CSelf10[入力した回数] += 1 + 0
||■条件分岐(変数): 【1】 CSelf10[入力した回数] が CSelf0[入力回数] 以上
||-◇分岐: 【1】 [ CSelf10[入力した回数] が CSelf0[入力回数] 以上 ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 11 と同じ ]の場合↓
||▼ キャンセルキーを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇
|▼ カーソル移動
|■変数操作: CSelf21[キー待ちカウント] = 12 + 0
|■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: CSelf14[カーソル計算用] = CSelf11[カーソル位置] % 5
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 4 と同じ 【2】 CSelf20[キー入力] が 6 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 4 と同じ ]の場合↓
||▼ 左キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 0 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 0 と同じ ]の場合↓
|||▼ 左端にカーソルがある→右端へ移動
|||■変数操作: CSelf11[カーソル位置] += 4 + 0
|||■
||-◇上記以外
|||▼ 左へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] -= 1 + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 6 と同じ ]の場合↓
||▼ 右キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 4 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 4 と同じ ]の場合↓
|||▼ 右端にカーソルがある→左端へ移動
|||■変数操作: CSelf11[カーソル位置] -= 4 + 0
|||■
||-◇上記以外
|||▼ 右へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] += 1 + 0
|||■
||◇分岐終了◇
||■
|-◇上記以外
||▼ 上キーか下キーを押した
||■変数操作: CSelf11[カーソル位置] += 5 + 0
||■変数操作: CSelf11[カーソル位置] %= 10 + 0
||■
|◇分岐終了◇

|■
◇ループここまで◇◇
▼ 処理終了
■変数操作: CSelf18[入力結果出力] = CSelf5[入力内容] + 0
■条件分岐(変数): 【1】 CSelf1[処理方法] が 0 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が 0 と同じ ]の場合↓
|■ピクチャ消去:1 〜 3 / 0(0)フレーム
|■
-◇上記以外
|■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(0)フレーム
|■
◇分岐終了◇


  
▼マウス操作のみ+入力表示あり
【イベントコード表示】【コモン出力ファイル】

■コモンイベント「パスワード入力画面」

起動条件:呼び出しのみ

入力の数 / 結果を返す
設定 名前 初期値 特殊指定
数値1 入力回数 4  
数値2 処理方法 0 [0]入力後消去
[1]入力後残す
[-1]消去
返す値 入力結果 コモンセルフ18[数]:入力結果出力

■条件分岐(変数): 【1】 CSelf1[処理方法] が -1 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が -1 と同じ ]の場合↓
|■ピクチャ消去:1 〜 5 / 0(0)フレーム
|■イベント処理中断
|■
◇分岐終了◇
▼ 入力回数を1〜9の範囲内にする
■変数操作: CSelf0[入力回数] 下限= 1 + 0
■変数操作: CSelf0[入力回数] 上限= 9 + 0
▼ ピクチャをゲーム画面の中央に表示
■ピクチャ表示:1 [中心]ウィンドウ「SystemFile/WindowBase.png」サイズ[88,54] X:160 Y:120 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:2 [中心]ウィンドウ「SystemFile/CursorBase.png」サイズ[14,13] X:134 Y:123 / 0(0)フレーム /
       パターン 1 / 透 255 / 加算 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:3 [中心]文字列[\E01234\n56789] X:160 Y:128 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャ表示:4 [中心]ウィンドウ「<SQUARE>」サイズ[76,14] X:160 Y:105 / 0(0)フレーム /
       パターン 1 / 透 200 / 通常 / 角 0 / 拡 100% / カラー R[0] G[0] B[0]
■ピクチャ表示:5 [中心]文字列[] X:160 Y:105 / 0(0)フレーム /
       パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]
■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(30)フレーム
▼ 入力画面が扉イベントの上に表示されるように補正(ゲーム画面の中に収まるように補正)
■変数操作+: CSelf32[補正ピクチャ横幅] = ピクチャ:1 の 画像サイズ(横)
■変数操作+: CSelf33[補正ピクチャ縦幅] = ピクチャ:1 の 画像サイズ(縦)
■変数操作: CSelf32[補正ピクチャ横幅]〜CSelf33[補正ピクチャ縦幅] /= 2 + 0
■変数操作+: CSelf30[補正量X] = このマップイベント の 画面X座標
■変数操作+: CSelf31[補正量Y] = このマップイベント の 画面Y座標
■変数操作: CSelf30[補正量X] -= 160 + 0
■変数操作: CSelf31[補正量Y] -= 132 + CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf32[補正ピクチャ横幅] = 160 - CSelf32[補正ピクチャ横幅]
■変数操作: CSelf33[補正ピクチャ縦幅] = 120 - CSelf33[補正ピクチャ縦幅]
■変数操作: CSelf30[補正量X] 下限= CSelf32[補正ピクチャ横幅] * -1
■変数操作: CSelf30[補正量X] 上限= CSelf32[補正ピクチャ横幅] + 0
■変数操作: CSelf31[補正量Y] 下限= CSelf33[補正ピクチャ縦幅] * -1
■ピクチャ移動:1 〜 5 相対X:CSelf30[補正量X] Y:CSelf31[補正量Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
▼ [0]がある位置(左上)を設定
■変数操作+: CSelf44[マウス:[0]の左上X位置] = ピクチャ:3 の 画像サイズ(横)
■変数操作+: CSelf45[マウス:[0]の左上Y位置] = ピクチャ:3 の 画像サイズ(縦)
■変数操作: CSelf44[マウス:[0]の左上X位置]〜CSelf45[マウス:[0]の左上Y位置] /= -2 + 0
■変数操作: CSelf44[マウス:[0]の左上X位置] += 159 + CSelf30[補正量X]
■変数操作: CSelf45[マウス:[0]の左上Y位置] += 127 + CSelf31[補正量Y]

▼ 入力処理
■変数操作: CSelf10[入力した回数]〜CSelf11[カーソル位置] = 0 + 0
■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
■文字列操作:CSelf5[入力内容] = ""
■文字列操作:CSelf6[入力表示] = ""
■ループ開始
|■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
|■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
|-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
||▼ マウスポインタがある位置にカーソル位置を移動
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] =
       Sys71:マウスX位置 - CSelf44[マウス:[0]の左上X位置]
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] /= 13 + 0
||■変数操作: CSelf41[マウス:カーソル位置]〜CSelf42[マウス:カーソル横列数] 上限= 4 + 0
||■変数操作: CSelf43[マウス:カーソル縦行数] = Sys72:マウスY位置 - CSelf45[マウス:[0]の左上Y位置]
||■変数操作: CSelf43[マウス:カーソル縦行数] /= 15 + 0
||■変数操作: CSelf43[マウス:カーソル縦行数] 上限= 1 + 0
||■変数操作: CSelf41[マウス:カーソル位置] += CSelf43[マウス:カーソル縦行数] * 5
||■条件分岐(変数): 【1】 CSelf11[カーソル位置] が CSelf41[マウス:カーソル位置] 以外
||-◇分岐: 【1】 [ CSelf11[カーソル位置] が CSelf41[マウス:カーソル位置] 以外 ]の場合↓
|||■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|||■
||◇分岐終了◇
||■変数操作: CSelf11[カーソル位置] = CSelf41[マウス:カーソル位置] + 0
||■ピクチャ移動:2 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 / 透 255 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||■
|-◇上記以外
||■変数操作: CSelf11[カーソル位置] = -1 + 0
||■ピクチャ移動:2 相対X:0 Y:0 / 0(0)フレーム / パターン 同値 / 透 0 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||■
|◇分岐終了◇

|■変数操作: CSelf12[カーソル表示X] = CSelf11[カーソル位置] % 5
|■変数操作: CSelf12[カーソル表示X] *= 13 + 0
|■変数操作: CSelf12[カーソル表示X] += 134 + CSelf30[補正量X]
|■変数操作: CSelf13[カーソル表示Y] = CSelf11[カーソル位置] / 5
|■変数操作: CSelf13[カーソル表示Y] *= 15 + 0
|■変数操作: CSelf13[カーソル表示Y] += 121 + CSelf31[補正量Y]
|■ピクチャ移動:2 X:CSelf12[カーソル表示X] Y:CSelf13[カーソル表示Y] / 0(0)フレーム /
       パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
|■ウェイト:1 フレーム
|■変数操作: CSelf21[キー待ちカウント] -= 1 + 0
|■変数操作+: CSelf47[左クリック] = マウス左クリック状態
|■変数操作+: CSelf48[右クリック] = マウス右クリック状態
|■条件分岐(変数): 【1】 CSelf47[左クリック] が 2 と同じ 【2】 CSelf48[右クリック] が 2 と同じ
|-◇分岐: 【1】 [ CSelf47[左クリック] が 2 と同じ ]の場合↓
||▼ 左クリックを押した
||■変数操作+: CSelf40[マウス:数字を上にある] = ピクチャ:3 の マウス重なってる?(1=YES)
||■条件分岐(変数): 【1】 CSelf40[マウス:数字を上にある] が 1 と同じ
||-◇分岐: 【1】 [ CSelf40[マウス:数字を上にある] が 1 と同じ ]の場合↓
|||■サウンド:SE0「[システム]決定音」(0 チャンネル) 再生 / 遅延:0フレーム
|||■文字列操作:CSelf5[入力内容] += "\cself[11]"
|||■ピクチャ表示:5 [中心]文字列[\cself[5]]相対X:0 Y:0 / 0(0)フレーム /
        パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
|||■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
|||▼ 入力表示を「*」にする場合は、以下のループを「1」回にする
|||■回数付きループ [ 0 ]回
||||■文字列操作:CSelf6[入力表示] += "*"
||||■ピクチャエフェクト:5 [描画座標シフト(最終値)] Xシフト 0 / Yシフト 3 (0)フレーム
||||■ピクチャ表示:5 [中心]文字列[\cself[6]]相対X:0 Y:0 / 0(0)フレーム /
         パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 100x100% / カラー 同値
||||■
|||◇ループここまで◇◇
|||■変数操作: CSelf10[入力した回数] += 1 + 0
|||■条件分岐(変数): 【1】 CSelf10[入力した回数] が CSelf0[入力回数] 以上
|||-◇分岐: 【1】 [ CSelf10[入力した回数] が CSelf0[入力回数] 以上 ]の場合↓
||||■ループ中断
||||■
|||◇分岐終了◇
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf48[右クリック] が 2 と同じ ]の場合↓
||▼ 右クリックを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇

|■キー入力:CSelf20[キー入力] 4方向 決定(10) キャンセル(11)
|▼ キー待ち処理
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 0 と同じ 【2】 CSelf21[キー待ちカウント] が 1 以上
|-◇分岐: 【1】 [ CSelf20[キー入力] が 0 と同じ ]の場合↓
||■変数操作: CSelf21[キー待ちカウント] = 0 + 0
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf21[キー待ちカウント] が 1 以上 ]の場合↓
||■ループ開始へ戻る
||■
|◇分岐終了◇
|▼ 決定・キャンセル
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 10 と同じ 【2】 CSelf20[キー入力] が 11 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 10 と同じ ]の場合↓
||▼ 決定キーを押した
||■変数操作: CSelf21[キー待ちカウント] = 999999 + 0
||■サウンド:SE0「[システム]決定音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] += "\cself[11]"
||■ピクチャ表示:5 [中心]文字列[\cself[5]]相対X:0 Y:0 / 0(0)フレーム /
        パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 同値 / カラー 同値
||■チェックポイント■■■■■■■■■■■■■■■■■■■■■■■■
||▼ 入力表示を「*」にする場合は、以下のループを「1」回にする
||■回数付きループ [ 0 ]回
|||■文字列操作:CSelf6[入力表示] += "*"
|||■ピクチャエフェクト:5 [描画座標シフト(最終値)] Xシフト 0 / Yシフト 3 (0)フレーム
|||■ピクチャ表示:5 [中心]文字列[\cself[6]]相対X:0 Y:0 / 0(0)フレーム /
        パターン 同値 / 透 同値 / 表示形式:同値 / 角 同値 / 拡 100x100% / カラー 同値
|||■
||◇ループここまで◇◇
||■変数操作: CSelf10[入力した回数] += 1 + 0
||■条件分岐(変数): 【1】 CSelf10[入力した回数] が CSelf0[入力回数] 以上
||-◇分岐: 【1】 [ CSelf10[入力した回数] が CSelf0[入力回数] 以上 ]の場合↓
|||■ループ中断
|||■
||◇分岐終了◇
||■ループ開始へ戻る
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 11 と同じ ]の場合↓
||▼ キャンセルキーを押した
||■サウンド:SE2「[システム]キャンセル音」(0 チャンネル) 再生 / 遅延:0フレーム
||■文字列操作:CSelf5[入力内容] = "-1"
||■ループ中断
||■
|◇分岐終了◇
|▼ カーソル移動
|■変数操作: CSelf21[キー待ちカウント] = 12 + 0
|■サウンド:SE1「[システム]カーソル移動」(0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: CSelf14[カーソル計算用] = CSelf11[カーソル位置] % 5
|■条件分岐(変数): 【1】 CSelf20[キー入力] が 4 と同じ 【2】 CSelf20[キー入力] が 6 と同じ
|-◇分岐: 【1】 [ CSelf20[キー入力] が 4 と同じ ]の場合↓
||▼ 左キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 0 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 0 と同じ ]の場合↓
|||▼ 左端にカーソルがある→右端へ移動
|||■変数操作: CSelf11[カーソル位置] += 4 + 0
|||■
||-◇上記以外
|||▼ 左へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] -= 1 + 0
|||■
||◇分岐終了◇
||■
|-◇分岐: 【2】 [ CSelf20[キー入力] が 6 と同じ ]の場合↓
||▼ 右キーを押した
||■条件分岐(変数): 【1】 CSelf14[カーソル計算用] が 4 と同じ
||-◇分岐: 【1】 [ CSelf14[カーソル計算用] が 4 と同じ ]の場合↓
|||▼ 右端にカーソルがある→左端へ移動
|||■変数操作: CSelf11[カーソル位置] -= 4 + 0
|||■
||-◇上記以外
|||▼ 右へカーソルを移動
|||■変数操作: CSelf11[カーソル位置] += 1 + 0
|||■
||◇分岐終了◇
||■
|-◇上記以外
||▼ 上キーか下キーを押した
||■変数操作: CSelf11[カーソル位置] += 5 + 0
||■変数操作: CSelf11[カーソル位置] %= 10 + 0
||■
|◇分岐終了◇

|■
◇ループここまで◇◇
▼ 処理終了
■変数操作: CSelf18[入力結果出力] = CSelf5[入力内容] + 0
■条件分岐(変数): 【1】 CSelf1[処理方法] が 0 と同じ
-◇分岐: 【1】 [ CSelf1[処理方法] が 0 と同じ ]の場合↓
|■ピクチャ消去:1 〜 5 / 0(0)フレーム
|■
-◇上記以外
|■ピクチャエフェクト:2 [点滅A(明滅)] R100/G100/B100 明滅間隔(0)フレーム
|■
◇分岐終了◇


▲トップへ戻る▲



◎関連ページ

◆パスワードイベントの基礎
┣◆[選択肢]を使ってパスワードを入力
┣◆[キーボード入力]を使ってパスワードを入力
┣◆[キー入力]を使ってパスワードを入力
┣◆オリジナルの入力画面でパスワードを入力
┣◆地面の色を変えて図形を作ってパスワードを入力
┣◆正しいパスワードを聞かないと扉が開かない(数字入力タイプ)
┗◆正しいパスワードを聞かないと扉が開かない(文字入力タイプ)

◆イベントコマンド【文字列操作】

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