WOLF RPGエディター(ウディタ)/演出・システム【サイトトップへ戻る】
■正しいパスワードを聞かないと扉が開かない(文字入力タイプ)
(更新:2024/05/12)
ちゃんとパスワードを聞かずに適当にパスワードを入力すると、
パスワードのパターン数の最大数になるまでパスワードを入力しないと、パスワードが合わないように設定します。
当ページを設定する前に予め[キーボード入力]を使ってパスワードを入力のイベントを設定してください。
【[キーボード入力]を使ってパスワードを入力のページを開く】
数字を入力するタイプのパスワードに関しては、別ページで紹介しています。
【正しいパスワードを聞かないと扉が開かない(数字入力タイプ)のページを開く】
パスワードイベントの基礎情報は別ページに記載しています。
【パスワードイベントの基礎のページを開く】
■処理構造の確認
今回は4文字のパスワードを入力する設定を行います。
実際のパスワードの処理では、入力した文字を数字に変換して処理します。
文字と数字の変換表は以下のとおりです。
数値 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
文字 |
c |
d |
f |
g |
k |
n |
r |
s |
t |
y |
この場合は、例えば「scyk」と入力すると「6094」に変換されて処理されます。
※文字列変数[1:パスワード適当入力文字]への保存は、変換された数字で保存します。
※使用する文字は、数字や「+」などの記号でも問題ありませんが、誤認しやすいものは避けた方が良いでしょう。
例えば、数字の「1」とLの小文字の「l」など。
パスワードを教える時には正しいパスワードを数字で設定した上で、
「数字 → 文字」に変換して正しいパスワードを表示します。
パスワードのパターンは「0000」から「9999」までの1万通りのパスワードが存在します。
今回の設定では、
パスワードを教えるマップイベント「情報ネコ」から正しいパスワードを聞かずにパスワードを入力すると、
最大値である1万パターンのパスワードを入力しないと正しいパスワードにならないように設定します。
正しいパスワードを聞かずに適当なパスワードを入力した場合は、
適当に入力したパスワードの内容が文字列変数[1:パスワード適当入力文字]に保存されます。
そして保存した個数を通常変数[1:パスワード適当入力数]に保存します。
この通常変数[1:パスワード適当入力数]の値が「10000」になった時に、
最大値である1万パターン目のパスワードを入力した事になり、そのパスワードが「正しい」となります。
文字列変数[1:パスワード適当入力文字]への適当入力の文字列の保存は、
まず最初に「>」の文字を設定します。
そして適当に入力したパスワードを「文字 → 数字」に変換した上で「数値」+「>」で保存します。
例えば最初に「gtcs」と入力した場合、「3807」の数字に変換した上で…
と文字列変数[1:パスワード適当入力文字]に保存されます。
次に「kykn」を入力すると「4945」に変換されて…
と文字列変数[1:パスワード適当入力文字]に保存されます。
今回のパスワードは、アルファベットの半角の小文字で入力します。
半角の大文字で入力した場合や全角の大文字や小文字で入力した場合は、半角の小文字に変換して処理します。
適当に入力したパスワードが既に文字列変数[1:パスワード適当入力文字]の中で保存されている場合は、
二重には保存されず、通常変数[1:パスワード適当入力数]の値も増えません。
また入力した文字数が4文字以外である場合や「cdfgknrsty」以外の文字を入力した場合でも、
文字列変数[1:パスワード適当入力文字]には保存されず、通常変数[1:パスワード適当入力数]の値も増えません。
正しいパスワードを教える時には、
文字列変数[1:パスワード適当入力文字]の中に存在しないパスワードを通常変数[2:正しいパスワード]に設定します。
なお、正しいパスワードを入力し、扉のカギが解除された時には、
文字列変数[1:パスワード適当入力文字]と文字列変数[2:パスワード入力文字]に保存された文字列は、
そのまま残しておいてもセーブデータの容量を増やすだけなので…
■文字列操作:S1[パスワード適当入力文字] = ""
■文字列操作:S2[パスワード入力文字] = "" |
の設定で、全て消去します。
▲トップへ戻る▲
■変数の一覧表
使用している変数は以下のとおりです。
文字列変数と通常変数には、先に名前を設定しておくと、イベント設定の作業が楽になります。
【変数の一覧を別ウィンドウで表示】
文字列変数 |
番号 |
名前 |
使用内容 |
0 |
一時文字列 |
一時的に文字列を保存する時に使います。 |
1 |
パスワード適当入力文字 |
適当に入力したパスワードを保存します。 |
2 |
パスワード入力文字 |
プレイヤーが入力したパスワードを設定します。 |
通常変数 |
番号 |
名前 |
使用内容 |
1 |
パスワード適当入力数 |
適当に入力したパスワードの総数を保存します。 |
「9999」になった時に、
次に初めて入力するパスワードを「正しいパスワード」とします。 |
正しいパスワードを教えてもらった場合は、
この変数の値を「999999」にします。 |
2 |
正しいパスワード |
正しいパスワードを設定します。 |
セルフ変数:マップイベント「情報ネコ」 |
番号 |
使用内容 |
0 |
【文章化したパスワードを設定】で使用
パスワードの数字を1桁ずつ出力する時に使います。 |
セルフ変数:マップイベント「扉イベント」 |
番号 |
使用内容 |
0 |
0=扉が開いていない。
1=扉が開いている。 |
1 |
文字列変数[2:パスワード入力文字]で入力された文字列のパスワードをコピーし、
パスワードを数値化します。 |
2 |
【パスワードを入力するイベントを設定】で使用
文字数のカウントで使います。 |
▲トップへ戻る▲
■パスワードを教えるイベントを設定
パスワードを教えるイベントを設定します。
正しいパスワードの設定は、まず通常変数[2:正しいパスワード]に乱数を使って「0〜9999」の値を設定します。
そして通常変数[2:正しいパスワード]の値が文字列変数[1:パスワード適当入力文字]の中に保存されている場合は、
通常変数[2:正しいパスワード]に「加算1」「剰余10000」を設定し、
次の値にして再度文字列変数[1:パスワード適当入力文字]の中に保存されているかどうかを調べます。
実際に文章で表示する時には「数字 → 文字」に変換してから表示します。
【イベントコード表示】
■マップイベント「情報ネコ」
起動条件:決定キーで実行
起動条件変数:なし
■条件分岐(変数): 【1】 V1[パスワード適当入力数] が 999999 未満
-◇分岐: 【1】 [ V1[パスワード適当入力数] が 999999 未満 ]の場合↓
|■変数操作: V1[パスワード適当入力数] = 999999 + 0
|■変数操作: V2[正しいパスワード] = 0 〜 9999
|■回数付きループ [ 1 ]回
||■条件分岐(文字): 【1】 S1[パスワード適当入力文字]が ">\v[2]>"
を含む
||-◇分岐: 【1】 [ S1[パスワード適当入力文字] ">\v[2]>"
を含む ]の場合↓
|||■変数操作: V2[正しいパスワード] += 1 + 0
|||■変数操作: V2[正しいパスワード] %= 10000 + 0
|||■ループ開始へ戻る
|||■
||◇分岐終了◇
||■
|◇ループここまで◇◇
|■
◇分岐終了◇
▼ ■■■■■数字のパスワードを文字に変換
■条件分岐(変数): 【1】 V2[正しいパスワード] が 9 以下
【2】 V2[正しいパスワード] が 99 以下
【3】 V2[正しいパスワード] が 999 以下
-◇分岐: 【1】 [ V2[正しいパスワード] が 9 以下 ]の場合↓
|■文字列操作:S0[[サンプル]一時文字列] = "000\v[2]"
|■
-◇分岐: 【2】 [ V2[正しいパスワード] が 99 以下 ]の場合↓
|■文字列操作:S0[[サンプル]一時文字列] = "00\v[2]"
|■
-◇分岐: 【3】 [ V2[正しいパスワード] が 999 以下 ]の場合↓
|■文字列操作:S0[[サンプル]一時文字列] = "0\v[2]"
|■
-◇上記以外
|■文字列操作:S0[[サンプル]一時文字列] = "\v[2]"
|■
◇分岐終了◇ ■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "0" → "c"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "1" → "d"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "2" → "f"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "3" → "g"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "4" → "k"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "5" → "n"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "6" → "r"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "7" → "s"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "8" → "t"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "9" → "y"
■文章:パスワードは「\s[0]」だよ。 ■ |
▲トップへ戻る▲
■パスワードを入力するイベントを設定
パスワードを入力するイベントを設定します。
今回は半角で10文字まで入力できるように設定します。
【イベントコード表示】
■マップイベント「扉イベント」
起動条件:決定キーで実行
起動条件変数:なし
▼ セルフ[0]:[0=カギがかかっている][1=扉が開いた]
▼ セルフ[1]:入力したパスワード
▼ セルフ[2]:文字数カウント
■条件分岐(変数): 【1】 このEvのSelf0 が 1 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 1 と同じ ]の場合↓
|■場所移動:主人公 ▲現在のマップ X:15 Y:12 [トランジションなし]
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(文字): 【1】 S1[パスワード適当入力文字]が "" と同じ
-◇分岐: 【1】 [ S1[パスワード適当入力文字] "" と同じ ]の場合↓
|▼ 初めて扉を調べた時(一度だけ実行する)
|■文字列操作:S1[パスワード適当入力文字] = ">"
|■文章:扉にはカギがかかっている。
|■文章:扉の横には入力ボタンがある。
|■
◇分岐終了◇
■ピクチャ表示:1 [中心]ウィンドウ「<SQUARE>」サイズ[84,20] X:160 Y:88 / 0(0)フレーム
/
パターン 1 / 透 200 / 通常 / 角 0 / 拡 100% / カラー R[0] G[0]
B[0]
■ピクチャ表示:2 [中心]ウィンドウ「<SQUARE>」サイズ[180,20] X:160 Y:60 /
0(0)フレーム /
パターン 1 / 透 200 / 通常 / 角 0 / 拡 100% / カラー R[0] G[0]
B[100]
■ピクチャ表示:3 [中心]文字列[パスワードを入力して下さい] X:160 Y:60 / 0(0)フレーム
/
パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100]
B[100]
■変数操作: Sys40:キーボ入力文字列 X座標 = 124 + 0
■変数操作: Sys41:キーボ入力文字列 Y座標 = 82 + 0
■文字列操作:S2[パスワード入力文字] = キーボード入力 10バイト [キャンセル可]
■ピクチャ消去:1 〜 3 / 0(0)フレーム
■条件分岐(変数): 【1】 Sys39:[読]キーボ入力状態 0=Enter -1=キャンセル が -1 と同じ
-◇分岐: 【1】 [ Sys39:[読]キーボ入力状態 0=Enter -1=キャンセル が -1 と同じ ]の場合↓
|■文章:入力をキャンセルしました。
|■イベント処理中断
|■
-◇上記以外
|■条件分岐(文字): 【1】 S2[パスワード入力文字]が "" と同じ
|-◇分岐: 【1】 [ S2[パスワード入力文字] "" と同じ ]の場合↓
||■文章:入力をキャンセルしました。
||■イベント処理中断
||■
|◇分岐終了◇
|■
◇分岐終了◇
▼ ■■■■■全角・大文字を半角小文字に変換 ■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "C" → "c"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "c" → "c" ■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "D" → "d"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "d" → "d"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "D" → "d"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "F" → "f"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "f" → "f"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "F" → "f"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "G" → "g"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "g" → "g"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "G" → "g"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "K" → "k"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "k" → "k"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "K" → "k"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "N"
→ "n"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "n" → "n"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "N" → "n"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "R" → "r"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "r" → "r"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "R" → "r"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "S" → "s"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "s" → "s"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "S" → "s"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "T" → "t"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "t" → "t"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "T" → "t"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "Y" → "y"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "y" → "y"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "Y" → "y"
▼ ■■■■■パスワードで使われている文字だけなのかを確認
■文字列操作:S0[[サンプル]一時文字列] = S2[パスワード入力文字] ■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "c" → ""
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "d" → ""
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "f" → ""
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "g" → ""
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "k" → ""
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "n" → ""
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "r" → ""
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "s" → ""
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "t" → ""
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "y" → ""
■条件分岐(文字): 【1】 S0[[サンプル]一時文字列]が "" 以外
-◇分岐: 【1】 [ S0[[サンプル]一時文字列] "" 以外 ]の場合↓
|■文章:パスワードが違います。
|■イベント処理中断
|■
◇分岐終了◇
▼ ■■■■■文字数を確認(4文字以外は処理終了)
■文字列操作:S0[[サンプル]一時文字列] =<ファイル内容読込> [UTF-8] "<<GET_STRING_WIDTH_COUNT>>\s[2]"
■変数操作: このEvのSelf2 = S0[[サンプル]一時文字列] + 0
■条件分岐(変数): 【1】 このEvのSelf2 が 4 以外
-◇分岐: 【1】 [ このEvのSelf2 が 4 以外 ]の場合↓
|■文章:パスワードが違います。
|■イベント処理中断
|■
◇分岐終了◇
▼ ■■■■■数字に変換
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "a" → "0"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "b" → "1"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "c" → "2"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "f" → "3"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "g" → "4"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "k" → "5"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "n" → "6"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "s" → "7"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "t" → "8"
■文字列操作:S2[パスワード入力文字] =<から文字列を置換> "y" → "9"
■変数操作: このEvのSelf1 = S2[パスワード入力文字] + 0
▼ ■■■■■正しいパスワードを聞いていない場合は分岐
■条件分岐(変数): 【1】 V1[パスワード適当入力数] が 999999 未満
-◇分岐: 【1】 [ V1[パスワード適当入力数] が 999999 未満 ]の場合↓
|■条件分岐(文字): 【1】 S1[パスワード適当入力文字]が ">\self[1]>" を含む
|-◇分岐: 【1】 [ S1[パスワード適当入力文字] ">\self[1]>" を含む ]の場合↓
||▼ 前に入力済み。
||■文章:パスワードが違います。
||■イベント処理中断
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 V1[パスワード適当入力数] が 9998 以下
|-◇分岐: 【1】 [ V1[パスワード適当入力数] が 9998 以下 ]の場合↓
||▼ まだ1万回目の適当パスワード入力ではない時
||■変数操作: V1[パスワード適当入力数] += 1 + 0
||■文字列操作:S1[パスワード適当入力文字] += "\self[1]>"
||■文章:パスワードが違います。
||■イベント処理中断
||■
|-◇上記以外
||▼ 1万回目の入力なので、今回のパスワードを正しいパスワードとする
||■変数操作: V2[正しいパスワード] = このEvのSelf1 + 0
||■変数操作: V1[パスワード適当入力数] = 999999 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇
▼ ■■■■■最終判定
■条件分岐(変数): 【1】 このEvのSelf1 が V2[正しいパスワード] と同じ
-◇分岐: 【1】 [ このEvのSelf1 が V2[正しいパスワード] と同じ ]の場合↓
|■文章:カギが解除されました。
|■変数操作: このEvのSelf0 = 1 + 0
|■文字列操作:S1[パスワード適当入力文字] = ""
|■文字列操作:S2[パスワード入力文字] = ""
|■
-◇上記以外
|■文章:パスワードが違います。
|■
◇分岐終了◇
■ |
以上で設定完了です。
▲トップへ戻る▲
■文章になっているパスワードを設定
2種類の言葉を組み合わせて50通りのキーワードを作成します。
2種類の言葉は十の位と一の位で分けて設定します。
数値 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
十の位 |
生命 |
奇跡 |
果実 |
試練 |
未来 |
|
|
|
|
|
一の位 |
の恋 |
の愛 |
の心 |
の光 |
の花 |
の炎 |
の風 |
の丘 |
の音 |
の神 |
例えばパスワードが「奇跡の花」ならば、
「奇跡=1」「の花=4」によって正しいパスワードの数値は「14」になります。
上記の言葉の組み合わせ(50通り)で間違ったキーワードを入力した場合は、
数値化した状態で「>14>20>」と言った形で文字列変数[1:パスワード適当入力文字]に保存されます。
上記の言葉の組み合わせ以外を入力した場合は、
「パスワードが違います。」が表示されるだけで文字列変数[1:パスワード適当入力文字]への保存は行われません。
また十の位同士の「果実未来」や一の位同士の「の心の花」を入力しても「24」にはならず、
「パスワードが違います。」が表示されるだけで文字列変数[1:パスワード適当入力文字]への保存は行われません。
全角文字で最低でも4文字は設定できるようにするため、【キーボード入力】のバイト数は「20」にしています。
【イベントコード表示】
■マップイベント「情報ネコ」
起動条件:決定キーで実行
起動条件変数:なし
▼ セルフ[0]:数字を1桁ずつ出力
■条件分岐(変数): 【1】 V1[パスワード適当入力数] が 999999 未満
-◇分岐: 【1】 [ V1[パスワード適当入力数] が 999999 未満 ]の場合↓
|■変数操作: V1[パスワード適当入力数] = 999999 + 0
|■変数操作: V2[正しいパスワード] = 0 〜 49
|■回数付きループ [ 1 ]回
||■条件分岐(文字): 【1】 S1[パスワード適当入力文字]が ">\v[2]>"
を含む
||-◇分岐: 【1】 [ S1[パスワード適当入力文字] ">\v[2]>"
を含む ]の場合↓
|||■変数操作: V2[正しいパスワード] += 1 + 0
|||■変数操作: V2[正しいパスワード] %= 50 + 0
|||■ループ開始へ戻る
|||■
||◇分岐終了◇
||■
|◇ループここまで◇◇
|■
◇分岐終了◇
▼ ■■■■■数字のパスワードを文字に変換
■変数操作: このEvのSelf0 = V2[正しいパスワード] / 10
■文字列操作:S0[[サンプル]一時文字列] = "\self[0]"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "0" → "生命"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "1" → "奇跡"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "2" → "果実"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "3" → "試練"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "4" → "未来"
■変数操作: このEvのSelf0 = V2[正しいパスワード] % 10
■文字列操作:S0[[サンプル]一時文字列] += "\self[0]"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "0" → "の恋"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "1" → "の愛"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "2" → "の心"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "3" → "の光"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "4" → "の花"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "5" → "の炎"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "6" → "の風"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "7" → "の丘"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "8" → "の音"
■文字列操作:S0[[サンプル]一時文字列] =<から文字列を置換> "9" → "の神"
■文章:オレの好きな言葉は「\s[0]」だぜ。
■ |
【イベントコード表示】
■マップイベント「扉イベント」
起動条件:決定キーで実行
起動条件変数:なし
▼ セルフ[0]:[0=カギがかかっている][1=扉が開いた]
▼ セルフ[1]:入力したパスワード
■条件分岐(変数): 【1】 このEvのSelf0 が 1 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 1 と同じ ]の場合↓
|■場所移動:主人公 ▲現在のマップ X:15 Y:12 [トランジションなし]
|■イベント処理中断
|■
◇分岐終了◇
■条件分岐(文字): 【1】 S1[パスワード適当入力文字]が "" と同じ
-◇分岐: 【1】 [ S1[パスワード適当入力文字] "" と同じ ]の場合↓
|▼ 初めて扉を調べた時(一度だけ実行する)
|■文字列操作:S1[パスワード適当入力文字] = ">"
|■文章:扉にはカギがかかっている。
|■文章:扉の横には入力ボタンがある。
|■
◇分岐終了◇
■ピクチャ表示:1 [中心]ウィンドウ「<SQUARE>」サイズ[84,20] X:160 Y:88 / 0(0)フレーム
/
パターン 1 / 透 200 / 通常 / 角 0 / 拡 100% / カラー R[0] G[0]
B[0]
■ピクチャ表示:2 [中心]ウィンドウ「<SQUARE>」サイズ[180,20] X:160 Y:60 /
0(0)フレーム /
パターン 1 / 透 200 / 通常 / 角 0 / 拡 100% / カラー R[0] G[0]
B[100]
■ピクチャ表示:3 [中心]文字列[パスワードを入力して下さい] X:160 Y:60 / 0(0)フレーム
/
パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100]
B[100]
■変数操作: Sys40:キーボ入力文字列 X座標 = 124 + 0
■変数操作: Sys41:キーボ入力文字列 Y座標 = 82 + 0
■文字列操作:S2[パスワード入力文字] = キーボード入力 20バイト [キャンセル可]
■ピクチャ消去:1 〜 3 / 0(0)フレーム
■条件分岐(変数): 【1】 Sys39:[読]キーボ入力状態 0=Enter -1=キャンセル が -1 と同じ
-◇分岐: 【1】 [ Sys39:[読]キーボ入力状態 0=Enter -1=キャンセル が -1 と同じ ]の場合↓
|■文章:入力をキャンセルしました。
|■イベント処理中断
|■
-◇上記以外
|■条件分岐(文字): 【1】 S2[パスワード入力文字]が "" と同じ
|-◇分岐: 【1】 [ S2[パスワード入力文字] "" と同じ ]の場合↓
||■文章:入力をキャンセルしました。
||■イベント処理中断
||■
|◇分岐終了◇
|■
◇分岐終了◇
▼ ■■■■■パスワードの文字を確認
■条件分岐(文字): 【1】 S2[パスワード入力文字]が "生命" が先頭にある
【2】 S2[パスワード入力文字]が "奇跡" が先頭にある
【3】 S2[パスワード入力文字]が "果実" が先頭にある
【4】 S2[パスワード入力文字]が "試練" が先頭にある
-◇分岐: 【1】 [ S2[パスワード入力文字] "生命" が先頭にある
]の場合↓
|■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
|■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
|■変数操作: このEvのSelf1 = 0 + 0
|■
-◇分岐: 【2】 [ S2[パスワード入力文字] "奇跡" が先頭にある
]の場合↓
|■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
|■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
|■変数操作: このEvのSelf1 = 10 + 0
|■
-◇分岐: 【3】 [ S2[パスワード入力文字] "果実" が先頭にある
]の場合↓
|■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
|■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
|■変数操作: このEvのSelf1 = 20 + 0
|■
-◇分岐: 【4】 [ S2[パスワード入力文字] "試練" が先頭にある
]の場合↓
|■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
|■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
|■変数操作: このEvのSelf1 = 30 + 0
|■
-◇上記以外
|■条件分岐(文字): 【1】 S2[パスワード入力文字]が "未来" が先頭にある
|-◇分岐: 【1】 [ S2[パスワード入力文字] "未来" が先頭にある ]の場合↓
||■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
||■文字列操作:S0[[サンプル]一時文字列] =<1文字切出> S2[パスワード入力文字]
||■変数操作: このEvのSelf1 = 40 + 0
||■
|-◇上記以外
||■文章:パスワードが違います。
||■イベント処理中断
||■
|◇分岐終了◇
|■
◇分岐終了◇
■条件分岐(文字): 【1】 S2[パスワード入力文字]が "の恋" と同じ
【2】 S2[パスワード入力文字]が "の愛" と同じ
【3】 S2[パスワード入力文字]が "の心" と同じ
【4】 S2[パスワード入力文字]が "の光" と同じ
-◇分岐: 【1】 [ S2[パスワード入力文字] "の恋" と同じ ]の場合↓
|■
-◇分岐: 【2】 [ S2[パスワード入力文字] "の愛" と同じ ]の場合↓
|■変数操作: このEvのSelf1 += 1 + 0
|■
-◇分岐: 【3】 [ S2[パスワード入力文字] "の心" と同じ ]の場合↓
|■変数操作: このEvのSelf1 += 2 + 0
|■
-◇分岐: 【4】 [ S2[パスワード入力文字] "の光" と同じ ]の場合↓
|■変数操作: このEvのSelf1 += 3 + 0
|■
-◇上記以外
|■条件分岐(文字): 【1】 S2[パスワード入力文字]が "の花" と同じ
【2】 S2[パスワード入力文字]が "の炎" と同じ
【3】 S2[パスワード入力文字]が "の風" と同じ
【4】 S2[パスワード入力文字]が "の丘" と同じ
|-◇分岐: 【1】 [ S2[パスワード入力文字] "の花" と同じ ]の場合↓
||■変数操作: このEvのSelf1 += 4 + 0
||■
|-◇分岐: 【2】 [ S2[パスワード入力文字] "の炎" と同じ ]の場合↓
||■変数操作: このEvのSelf1 += 5 + 0
||■
|-◇分岐: 【3】 [ S2[パスワード入力文字] "の風" と同じ ]の場合↓
||■変数操作: このEvのSelf1 += 6 + 0
||■
|-◇分岐: 【4】 [ S2[パスワード入力文字] "の丘" と同じ ]の場合↓
||■変数操作: このEvのSelf1 += 7 + 0
||■
|-◇上記以外
||■条件分岐(文字): 【1】 S2[パスワード入力文字]が "の音" と同じ
【2】 S2[パスワード入力文字]が "の神" と同じ
||-◇分岐: 【1】 [ S2[パスワード入力文字] "の音" と同じ ]の場合↓
|||■変数操作: このEvのSelf1 += 8 + 0
|||■
||-◇分岐: 【2】 [ S2[パスワード入力文字] "の神" と同じ ]の場合↓
|||■変数操作: このEvのSelf1 += 9 + 0
|||■
||-◇上記以外
|||■文章:パスワードが違います。
|||■イベント処理中断
|||■
||◇分岐終了◇
||■
|◇分岐終了◇
|■
◇分岐終了◇
▼ ■■■■■正しいパスワードを聞いていない場合は分岐
■条件分岐(変数): 【1】 V1[パスワード適当入力数] が 999999 未満
-◇分岐: 【1】 [ V1[パスワード適当入力数] が 999999 未満 ]の場合↓
|■条件分岐(文字): 【1】 S1[パスワード適当入力文字]が ">\self[1]>" を含む
|-◇分岐: 【1】 [ S1[パスワード適当入力文字] ">\self[1]>" を含む ]の場合↓
||▼ 前に入力済み。
||■文章:パスワードが違います。
||■イベント処理中断
||■
|◇分岐終了◇
|■条件分岐(変数): 【1】 V1[パスワード適当入力数] が 48 以下
|-◇分岐: 【1】 [ V1[パスワード適当入力数] が 48 以下 ]の場合↓
||▼ まだ50回目の適当パスワード入力ではない時
||■変数操作: V1[パスワード適当入力数] += 1 + 0
||■文字列操作:S1[パスワード適当入力文字] += "\self[1]>"
||■文章:パスワードが違います。
||■イベント処理中断
||■
|-◇上記以外
||▼ 50回目の入力なので、今回のパスワードを正しいパスワードとする
||■変数操作: V2[正しいパスワード] = このEvのSelf1 + 0
||■変数操作: V1[パスワード適当入力数] = 999999 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇
▼ ■■■■■最終判定
■条件分岐(変数): 【1】 このEvのSelf1 が V2[正しいパスワード] と同じ
-◇分岐: 【1】 [ このEvのSelf1 が V2[正しいパスワード] と同じ ]の場合↓
|■文章:カギが解除されました。
|■変数操作: このEvのSelf0 = 1 + 0
|■文字列操作:S1[パスワード適当入力文字] = ""
|■
-◇上記以外
|■文章:パスワードが違います。
|■
◇分岐終了◇
■ |
以上で設定完了です。
▲トップへ戻る▲
◎関連ページ
◆パスワードイベントの基礎
┣◆[選択肢]を使ってパスワードを入力
┣◆[キーボード入力]を使ってパスワードを入力
┣◆[キー入力]を使ってパスワードを入力
┣◆オリジナルの入力画面でパスワードを入力
┣◆地面の色を変えて図形を作ってパスワードを入力
┣◆正しいパスワードを聞かないと扉が開かない(数字入力タイプ)
┗◆正しいパスワードを聞かないと扉が開かない(文字入力タイプ)
◆イベントコマンド【文字列操作】 |