WOLF RPGエディター(ウディタ)/演出・システム【サイトトップへ戻る】
■[選択肢]を使ってパスワードを入力
(更新:2023/03/19)


イベントコマンド【選択肢】を使ってパスワードを入力する方法を紹介します。



ショートカット
■0〜9の選択でパスワード入力
■複数の文字列を組み合わせて1つの合言葉を作る
■補足

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


  
■0〜9の選択でパスワード入力

「0〜9」の選択肢を4回表示して、4桁の数値を入力する処理を設定します。





正しいパスワードを伝えるマップイベントを作成します。



【イベントコード表示】

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

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

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



パスワードを入力するマップイベント「パスワード入力」を作成します。

設定例では「扉イベント」を想定して、正しいパスワードを入力すると、
このマップイベントのセルフ変数[0]が「1」になり、カギが開き、場所移動ができるようにしています。



選択肢は、そのまま表示すると下図のように画面の下の方に表示されてしまいます。



そのため、システム変数[4:選択肢ウィンドウ Y座標]を使って選択肢の表示位置を画面の上の方へ移動させています。



【イベントコード表示】

■マップイベント「パスワード入力」

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

▼ セルフ[0]:[0=カギがかかっている][1=扉が開いた]
▼ セルフ[1]:変更前の選択肢のY表示位置を保存

■条件分岐(変数): 【1】 このEvのセルフ変数0 が 1 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数0 が 1 と同じ ]の場合↓
|■場所移動:主人公 ▲現在のマップ X:15 Y:12 [トランジションなし]
|■イベント処理中断
|■
◇分岐終了◇
■文字列操作:S0[[サンプル]一時文字列] = ""
■文章:パスワードを入力して下さい。
■変数操作: このEvのセルフ変数1 = Sys4:選択肢ウィンドウ Y座標 + 0
■変数操作: Sys4:選択肢ウィンドウ Y座標 = 0 + 0
■回数付きループ [ 4 ]回
|■文章:\s[0]
|■文章選択肢:/ 【1】0 / 【2】1 / 【3】2 / 【4】3 / 【5】4 /
        【6】5 / 【7】6 / 【8】7 / 【9】8 / 【10】9
|-◇選択肢:【1】 0 の場合↓
||■
|-◇選択肢:【2】 1 の場合↓
||■
|-◇選択肢:【3】 2 の場合↓
||■
|-◇選択肢:【4】 3 の場合↓
||■
|-◇選択肢:【5】 4 の場合↓
||■
|-◇選択肢:【6】 5 の場合↓
||■
|-◇選択肢:【7】 6 の場合↓
||■
|-◇選択肢:【8】 7 の場合↓
||■
|-◇選択肢:【9】 8 の場合↓
||■
|-◇選択肢:【10】 9 の場合↓
||■
|-◇キャンセルの場合
||■変数操作: Sys4:選択肢ウィンドウ Y座標 = このEvのセルフ変数1 + 0
||■文章:入力がキャンセルされました。
||■イベント処理中断
||■
|◇分岐終了◇
|■文字列操作:S0[[サンプル]一時文字列] += "\sys[20]"
|■変数操作: Sys7:選択肢次回初期位置(0,1,2...) = Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) + 0
|■
◇ループここまで◇◇
■変数操作: Sys4:選択肢ウィンドウ Y座標 = このEvのセルフ変数1 + 0
■変数操作: Sys7:選択肢次回初期位置(0,1,2...) = -1 + 0
■条件分岐(文字): 【1】 S0[[サンプル]一時文字列]が "1234" と同じ
-◇分岐: 【1】 [ S0[[サンプル]一時文字列] "123" と同じ ]の場合↓
|■文章:\s[0]\nカギが解除されました。
|■変数操作: このEvのセルフ変数0 = 1 + 0
|■
-◇上記以外
|■文章:\s[0]\nパスワードが違います。
|■
◇分岐終了◇

上記の…
■変数操作: Sys7:選択肢次回初期位置(0,1,2...) = Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) + 0
の設定によって、例えば「2」を選択した時には、次に数字を選択する時には、最初に「2」が選択された状態になります。

もしも番号を選択して、次の番号を選択する時に、必ず「0」の選択に戻るようにしたい時には…
■変数操作: Sys7:選択肢次回初期位置(0,1,2...) = Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) + 0
の設定を削除してください。



以上で設定完了です。


▲トップへ戻る▲


  
■複数の文字列を組み合わせて1つの合言葉を作る

3つの選択肢で表示された文字列を組み合わせて1つの合言葉を作り、
合言葉が正しいかどうかを判定するイベントを設定します。





今回は以下のように設定します。

選択肢1
山の
海の
天の
地の
選択肢2
光が
闇が
神が
魂が
選択肢3
見つめている
歌い出す
舞い降りる
叫んでいる



合言葉を教えるマップイベントを作成します。

今回の設定例では、正解の合言葉を「天の光が舞い降りる」とします。



【イベントコード表示】

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

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

■文章:合言葉は「天の光が舞い降りる」だよ。



合言葉を伝えるマップイベントを作成します。

今回は正解の合言葉を言った時に、通常変数[1:合言葉OK]が「1」になるように設定します。

イベントを設定する前に通常変数[1:合言葉OK]文字列変数[1:合言葉2つ目]を準備しておいてください。

【イベントコード表示】

■マップイベント「合言葉確認」

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

■条件分岐(変数): 【1】 V1[合言葉OK] が 1 と同じ
-◇分岐: 【1】 [ V1[合言葉OK] が 1 と同じ ]の場合↓
|■文章:通って良いぞ。
|■イベント処理中断
|■
◇分岐終了◇
■文章:合言葉は?
●ラベル地点「選択肢1」 <<<<<<<<<<<<<<<<<<<<<<<<★
■文字列操作:S0[[サンプル]一時文字列] = ""
■文章:
■文章選択肢:/ 【1】山の / 【2】海の / 【3】天の / 【4】地の
-◇選択肢:【1】 山の の場合↓
|■文字列操作:S0[[サンプル]一時文字列] = SysS40[[読]選択肢1の内容]
|■
-◇選択肢:【2】 海の の場合↓
|■文字列操作:S0[[サンプル]一時文字列] = SysS41[[読]選択肢2の内容]
|■
-◇選択肢:【3】 天の の場合↓
|■文字列操作:S0[[サンプル]一時文字列] = SysS42[[読]選択肢3の内容]
|■
-◇選択肢:【4】 地の の場合↓
|■文字列操作:S0[[サンプル]一時文字列] = SysS43[[読]選択肢4の内容]
|■
-◇キャンセルの場合
|■文章:ちょっと思い出せないから、また来る。
|■イベント処理中断
|■
◇分岐終了◇
●ラベル地点「選択肢2」 <<<<<<<<<<<<<<<<<<<<<<<<★
■文字列操作:S1[合言葉2つ目] = ""
■文章:\s[0]
■文章選択肢:/ 【1】光が / 【2】闇が / 【3】神が / 【4】魂が
-◇選択肢:【1】 光が の場合↓
|■文字列操作:S1[合言葉2つ目] = SysS40[[読]選択肢1の内容]
|■
-◇選択肢:【2】 闇が の場合↓
|■文字列操作:S1[合言葉2つ目] = SysS41[[読]選択肢2の内容]
|■
-◇選択肢:【3】 神が の場合↓
|■文字列操作:S1[合言葉2つ目] = SysS42[[読]選択肢3の内容]
|■
-◇選択肢:【4】 魂が の場合↓
|■文字列操作:S1[合言葉2つ目] = SysS43[[読]選択肢4の内容]
|■
-◇キャンセルの場合
|●ラベル「選択肢1」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇分岐終了◇
■文章:\s[0]\s[1]
■文章選択肢:/ 【1】見つめている / 【2】歌い出す / 【3】舞い降りる / 【4】叫んでいる
-◇選択肢:【1】 見つめている の場合↓
|■文字列操作:S1[合言葉2つ目] += SysS40[[読]選択肢1の内容]
|■
-◇選択肢:【2】 歌い出す の場合↓
|■文字列操作:S1[合言葉2つ目] += SysS41[[読]選択肢2の内容]
|■
-◇選択肢:【3】 舞い降りる の場合↓
|■文字列操作:S1[合言葉2つ目] += SysS42[[読]選択肢3の内容]
|■
-◇選択肢:【4】 叫んでいる の場合↓
|■文字列操作:S1[合言葉2つ目] += SysS43[[読]選択肢4の内容]
|■
-◇キャンセルの場合
|●ラベル「選択肢2」に飛ぶ >>>>>>>>>>>>>>>>>>>>>>>>>
|■
◇分岐終了◇
■文字列操作:S0[[サンプル]一時文字列] += S1[合言葉2つ目]
■文章:合言葉は「\s[0]」だ!
■条件分岐(文字): 【1】 S0[[サンプル]一時文字列]が "天の光が舞い降りる" と同じ
-◇分岐: 【1】 [ S0[[サンプル]一時文字列] "天の光が舞い降りる" と同じ ]の場合↓
|■変数操作: V1[合言葉OK] = 1 + 0
|■文章:よし、通って良いぞ。
|■
-◇上記以外
|■文章:違うよ。
|■
◇分岐終了◇


以上で設定完了です。


▲トップへ戻る▲


  
■補足

マウスで選択肢を選択する場合は、
事前にシステム変数[73:文・選択肢のマウス入力(1なら受付)]の値を「1」にしておく必要があります。

【イベントコード表示】

■変数操作: Sys73:文・選択肢のマウス入力(1なら受付) = 1 + 0


▲トップへ戻る▲



◎関連ページ

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

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

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