公式が用意している新機能講座の下記の記事内にも『「アイテム選択の処理」でテレポートスキルを作成しましょう』があります。
tkool.jp/mv/course/03.html
こちらは「隠しアイテム」と「アイテム選択の処理」を使用した例です。
この手法の難点は下記です。
- アイテムを用意する必要がある。
- 選択肢にヘルプが表示されない。
- 選択肢を追加(隠しアイテムを追加)する条件は、全て条件分岐を設定する必要がある。
これを解消・軽減するために、「選択肢の表示」を拡張するプラグインを使用して、簡単に作ります。
この記事はRPGツクールMV向けです。
RPGツクールMZ向けの記事もございます。
また、RPGツクールMZ・MVでエスケープ(テレポ、リレミト)を再現もございます。
目次
サンプルプロジェクト
「選択肢の表示」を拡張するプラグインを使用
難点を軽減するために、「選択肢の表示」を拡張するプラグインを使用します。
MPP 選択肢拡張(木星ペンギン様作) - MPP_ChoiceEX.js
plugin.fungamemake.com/archives/2202
「選択肢の表示」に下記の機能を追加します。
- ツクールの仕様の上限である6個であるのを繋げて表示
- 選択肢を表示する条件を簡易につけられる
- 選択肢を無効化する条件を簡易につけられる
- 選択肢のヘルプを表示できる
- 選択肢の表示位置・行数を指定できる
コモンイベント作成
下記のようなコモンイベントを作成します。
◆選択肢の表示:キャンセル, if(s[1])赤い城, if(s[2])雪の村, if(s[3])紫の城, if(s[4])砂漠の町, if(s[5])オアシス (ウィンドウ, 右, #1, -)
:キャンセルのとき
◆
:if(s[1])赤い城のとき
◆場所移動:フィールド1 (107,25) (向き: 下)
◆
:if(s[2])雪の村のとき
◆場所移動:フィールド1 (71,10) (向き: 下)
◆
:if(s[3])紫の城のとき
◆場所移動:フィールド1 (21,122) (向き: 下)
◆
:if(s[4])砂漠の町のとき
◆場所移動:フィールド1 (94,102) (向き: 下)
◆
:if(s[5])オアシスのとき
◆場所移動:フィールド1 (124,117) (向き: 下)
◆
:キャンセルのとき
◆
:分岐終了
◆選択肢の表示:if(s[6])砂漠の廃城, if(s[7])港町, if(s[8])森の城, if(s[9])海の城, if(s[10])壁の町, if(s[11])魔王の城 (ウィンドウ, 右, -, -)
:if(s[6])砂漠の廃城のとき
◆場所移動:フィールド1 (105,127) (向き: 下)
◆
:if(s[7])港町のとき
◆場所移動:フィールド1 (50,78) (向き: 下)
◆
:if(s[8])森の城のとき
◆場所移動:フィールド1 (70,67) (向き: 下)
◆
:if(s[9])海の城のとき
◆場所移動:フィールド1 (93,84) (向き: 下)
◆
:if(s[10])壁の町のとき
◆場所移動:フィールド1 (53,49) (向き: 下)
◆
:if(s[11])魔王の城のとき
◆場所移動:フィールド1 (51,124) (向き: 下)
◆
:分岐終了
選択肢の文字の最初に条件式を入れることで、選択肢の表示/非表示を決めています。
今回は「if(s[11])」等と入れることで、スイッチID11がONの時に表示(OFFの時は非表示)という指定をしています。
ヘルプ引用
『デフォルト』の処理は、なし以外を設定したものが適用されます。
『デフォルト』の処理が複数ある場合、
後に設定された選択肢のものが適用されます。
『キャンセル』の処理は、禁止以外を設定したものが適用されます。
『キャンセル』の処理が複数ある場合、
後に設定された選択肢のものが適用されます。
このため、1つ目のデフォルトやキャンセルを有効にする為に、2つ目以降の選択肢の表示で「デフォルト:なし」「キャンセル:禁止」とします。
メインメニューへ表示
コモンイベントを実行するアイテムやスキルを作る場合は、下記のようになります。
今回は、アイテムなしでメインメニューに追加するプラグインを使用します。
Torigoya メニューからコモンイベント呼び出し(Ruたん様作) - Torigoya_CommonMenu.js
plugin.fungamemake.com/archives/27472
今回の例ではコモンイベント1なので、入れるだけで有効になります。
メニューへの表示名は「項目名」で指定してください。
ベント番号を変えるにはプラグインパラメーター「呼び出すコモにベント」で指定してください。
下記のような画面になります。
選択肢のヘルプを表示
ここまでで十分完成なのですが、筆者のように記憶力が悪く、町の名前を見ても「どこだっけ?」となるプレイヤーを助けるためにヘルプを表示しましょう。
テキストのリストに選択肢に注釈を入力していきます。
◆選択肢の表示:キャンセル, if(s[1])赤い城, if(s[2])雪の村, if(s[3])紫の城, if(s[4])砂漠の町, if(s[5])オアシス (ウィンドウ, 右, #1, -)
:キャンセルのとき
◆
:if(s[1])赤い城のとき
◆注釈:選択肢ヘルプ
: :この国の首都
◆場所移動:フィールド1 (107,25) (向き: 下)
◆
:if(s[2])雪の村のとき
◆注釈:選択肢ヘルプ
: :主人公の出身地
◆場所移動:フィールド1 (71,10) (向き: 下)
◆
:if(s[3])紫の城のとき
◆注釈:選択肢ヘルプ
: :成金っぽい城
◆場所移動:フィールド1 (21,122) (向き: 下)
◆
:if(s[4])砂漠の町のとき
◆注釈:選択肢ヘルプ
: :夜がお楽しみの町
◆場所移動:フィールド1 (94,102) (向き: 下)
◆
:if(s[5])オアシスのとき
◆注釈:選択肢ヘルプ
: :人が何故か集まってくる
◆場所移動:フィールド1 (124,117) (向き: 下)
◆
:キャンセルのとき
◆
:分岐終了
◆選択肢の表示:if(s[6])砂漠の廃城, if(s[7])港町, if(s[8])森の城, if(s[9])海の城, if(s[10])壁の町, if(s[11])魔王の城 (ウィンドウ, 右, -, -)
:if(s[6])砂漠の廃城のとき
◆注釈:選択肢ヘルプ
: :廃墟となった砂漠の城
◆場所移動:フィールド1 (105,127) (向き: 下)
◆
:if(s[7])港町のとき
◆注釈:選択肢ヘルプ
: :魚が美味い!
◆場所移動:フィールド1 (50,78) (向き: 下)
◆
:if(s[8])森の城のとき
◆注釈:選択肢ヘルプ
: :森と岩山に囲まれた城
◆場所移動:フィールド1 (70,67) (向き: 下)
◆
:if(s[9])海の城のとき
◆注釈:選択肢ヘルプ
: :海兵が強い
◆場所移動:フィールド1 (93,84) (向き: 下)
◆
:if(s[10])壁の町のとき
◆注釈:選択肢ヘルプ
: :被害妄想に囚われた人々が住む
◆場所移動:フィールド1 (53,49) (向き: 下)
◆
:if(s[11])魔王の城のとき
◆注釈:選択肢ヘルプ
: :言わずと知れた魔王の城
◆場所移動:フィールド1 (51,124) (向き: 下)
◆
:分岐終了
実行すると下記のような画面になります。

コメントを投稿するにはログインしてください。