[RPGツクールMV Trinity]隠しアイテムの使い方を解説!選択肢を表示させよう![2019/3/9追記あり]
小さな我が家へようこそ。いろはです。
最近は主にドラクエビルダーズ2をプレイしていましたが、「RPGツクールMV Trinity」でのゲーム開発も進行中です。
開発状況は50%といったところでしょうか。
大枠のゲームシステムはできて、後はイベントの作り込みやパラメーター、ゲームバランスの調整、テストなどをすれば完成です。
アップデートされてから無限ロードは発生していませんが、データ破損しないかヒヤヒヤです。
今回は少しわかりづらい「隠しアイテム」と「アイテム選択の処理」の使い方をご紹介します。
目次
隠しアイテム
アイテムには下記のいずれかの「アイテムタイプ」を設定します。
- 通常アイテム
- 大事なもの
- 隠しアイテムA
- 隠しアイテムB
ドラクエの「やくそう」などは「通常アイテム」に該当します。
そして、ストーリー上、重要なキーアイテムは「大事なもの」に設定するのが基本です。
では、「隠しアイテムA」と「隠しアイテムB」は何かと言うと、プレイヤーが持っていてもアイテム欄に表示されないアイテムになります。
これは主に「アイテム選択の処理」と組み合わせて使います。
アイテム選択の処理
「アイテム選択の処理」では、指定した「アイテムタイプ」の中から、持っているアイテムをプレイヤーに選択させ、選択されたアイテムの「アイテムID」を指定した変数に格納します。
これを利用すれば、「脱出ゲームで正しいアイテムが選択されたらステージクリア」のようなことができます。
選択肢を表示させる方法
「選択肢の表示」の処理を使えば一度に最大6個までの選択肢を表示できます。
しかし、それより多くの選択肢を一度に表示させたい場合があります。
そのような場合に「隠しアイテム」と「アイテム選択の処理」が使えます。
また、この方法では条件によって選べる選択肢を増減させることもできます。
下記のような手順で一度に7個以上の選択肢を表示できます。
- 選択肢として表示させたい内容を「隠しアイテムA」または「隠しアイテムB」として作成
- 作成した隠しアイテムをプレイヤーに持たせる
- 「アイテム選択の処理」で「隠しアイテムA」または「隠しアイテムB」のアイテム(選択肢)を表示する
- 「アイテム選択の処理」で変数に格納された「アイテムID」を判定して条件分岐
- プレイヤーに持たせた隠しアイテムを回収する
アイテム選択の処理で表示順序が変わる!?[2019/3/9追記分]
隠しアイテムを回収するとき、追加した順番とは逆の順番に回収しないと、2回目以降の「アイテム選択の処理」で表示される選択肢の順序が変わってしまうことがあります。
「RPGツクールMV Trinity」の仕様/処理に依存する部分となりますが、バージョン1.0.5では、隠しアイテムを回収するときは、最後に追加したものから回収していくと順番が変わらないことを確認できました。
サンプル(カロリーゼロ理論)
サンプルとして、「隠しアイテム」と「アイテム選択の処理」を利用して、一度に7個の選択肢を表示させるイベントを作りました。
好きな食べ物を質問されて、7個の選択肢の中から選んで答えると、それぞれの食べ物についてコメントを表示するだけの簡単なものです。
実行内容としては下記になります。
- 下記の隠しアイテムを追加する
- メッセージ「好きな食べ物は?」を表示する
- 「アイテム選択の処理」で「隠しアイテムA」の中からアイテムを選択させ、選択された「アイテムID」を変数「temp(変数ID:1)」に格納する
- 変数「temp」の値に応じて条件分岐、選択されたアイテム(食べ物)に応じたメッセージを表示する
- 追加した隠しアイテムを減らす
アイテムID | 名前 | アイテムタイプ |
---|---|---|
300 | ドーナツ | 隠しアイテムA |
301 | カステラ | 隠しアイテムA |
302 | ポテトチップス | 隠しアイテムA |
303 | アイスクリーム | 隠しアイテムA |
304 | 肉まん | 隠しアイテムA |
305 | 唐揚げ | 隠しアイテムA |
306 | 柿の種 | 隠しアイテムA |
実際にこのイベントで選択肢を表示させたときのスクリーンショットがこちら。
条件によって選択肢を増減させたい場合は、最初の隠しアイテムを追加するところで判定処理を入れれば対応できます。
制御文字を使って選択されたアイテム名をメッセージ表示する方法
メッセージ中のアイテム名や通貨単位などは制御文字を利用して表示させると、後でアイテム名や通貨単位を変更する場合に楽です。
「アイテム選択の処理」で選択されたアイテム名を、メッセージ中に表示させる制御文字の書き方をご紹介します。
サンプルでも使っていますが、変数ID「1」の変数にアイテムIDを格納している場合は「\ni[\V[1]]」で該当するアイテム名が表示されます。
(\はバックスラッシュです)
制御文字「\V[n]」で変数ID「n」の変数の値、「\ni[n]」でアイテムID「n」のアイテム名を表示できます。
つまり、「\ni[\V[n]]」とすると、「アイテム選択の処理」で選択された「アイテムID」に応じたアイテム名を表示させる書き方になります。
([n]にはアイテムIDを格納している変数の変数IDを入力)
実際に選択肢の中から「ドーナツ」を選択したときの表示がこちら。
制御文字で正しくアイテム名「ドーナツ」を表示できていますね。
あ、このイベントはサンプルとして作ったものなので、私が開発中のゲームで実際には発生しません。
まとめ
一度に表示させる選択肢が6個以内で済むならアイテムIDを覚えておく必要のない「選択肢の表示」の方が簡単ですが、7個以上の選択肢を表示させたい場合や、条件によって選べる選択肢を増減させたい場合には、ご紹介した方法が使えます。
ご参考になれば幸いです。
ツクール広場に作品を投稿していますので、よかったら遊んでみてください。
下記の記事でご紹介しています。
よかったら下記の記事もどうぞです。
- [RPGツクールMV Trinity]簡単にゲームを作れる!?PS4版を評価!
- [RPGツクールMV Trinity]便利!複数アイテムの所持数をチェックするコモンイベントを作りました!
- [RPGツクールMV Trinity]ミニゲームを作ろう!釣りのコモンイベントを紹介!
- [RPGツクールMV Trinity]リージョンの使い方を解説!イベント数の削減や移動制限を設定しよう!
- [RPGツクールMV Trinity]採取システムを解説!ランダムでリスポーンする木や岩の作り方!
- [RPGツクールMV Trinity]クラフトシステムを解説!鍛治・料理・錬金術と何でも対応可能!
- [RPGツクールMV Trinity]インテリアシステムを解説!拠点を自由に飾り付けしよう!
- [RPGツクールMV Trinity]条件分岐のボタン入力の使用例を紹介!MDプレイヤーでBGM設定!
- [RPGツクールMV Trinity]HPゲージのHUD表示の方法を紹介!
- [RPGツクールMV Trinity]変数に文字を入れたい?制御文字で似たようなことができます!
- [RPGツクールMV Trinity]作品「マレビトフェスティバル」が完成!夏祭りがテーマのミニゲーム系の短編です!
- [RPGツクールMV Trinity][ニナの神隠し]制作日記~システムからストーリーを考える~
- [RPGツクールMV Trinity]MVプレイヤーで作品をプレイ!おすすめは?
以上、いろはでした。
ディスカッション
コメント一覧
こんにちは。
この記事を参考にしてやってみました。
ただ、
> バージョン1.0.5では、隠しアイテムを回収するときは、最後に追加したものから回収していくと順番が変わらないことを確認できました。
とありますが、なぜか当方環境では以下の操作をすると変わってしまうので困ってます。
通常アイテムを数種類(例えばabcde)用意します。
隠しアイテムも数種類(例えばABCDE)用意します。
予め通常アイテムを全て持った状態にします。
(通常アイテム欄はabcde)
ここで、アイテム選択の処理をするために、その隠しアイテムを全て持たせます(隠しアイテムはABCDE)。
そしてアイテム選択の処理後、この隠しアイテムをこの記事の前述の方法で廃棄させます。(EDCBAの順に削除して隠しアイテム欄は空)
通常アイテムを1種類消します。(例えばeを削除してabcd)
この状態で再度アイテム選択の処理をさせるべく、その隠しアイテムを全て持たせます。
そうしたら、アイテムの順番がおかしくなり、アイテムの順序がBACDEになってしまいます。
うまい方法はないのでしょうかね?
こんにちは。
現在のバージョン1.15で新規プロジェクトを作成し、下記の順に操作しましたが、私の環境では再現できませんでした(A,B,C,D,Eの順で表示)
1. a,b,c,d,eの順で通常アイテムを追加
2. A,B,C,D,Eの順で隠しアイテムを追加
3. アイテム選択の処理(A,B,C,D,Eの順で表示されることを確認)
4. E,D,C,B,Aの順で隠しアイテムを削除
5. eの通常アイテムを削除
6. A,B,C,D,Eの順で隠しアイテムを追加
7. アイテム選択の処理(A,B,C,D,Eの順で表示されることを確認)
※5.の手順で、eではなくcを削除しても再現できませんでした。
記事にも書きましたが、「RPGツクールMV Trinity」の仕様/処理にも依存する部分なので、謎ですね・・・
チェックすみません。
消すアイテムが1つまでだともしかしたら再現出来なかったかもしれません。
通常アイテムを「2つ」消してみて下さい。
2つだとズレるはずです。
(これは色んな方法で検証したところどれでもなった覚えです。Twitterでも検証動画を上げてます)
通常アイテムをabcdeと用意、隠しアイテムをABCDEと用意、隠しアイテムをEDCBAと消去、通常アイテムのdeを消去、隠しアイテムをABCDEを再度戻す。
これで恐らくアイテム選択ウインドウを開くとBACDE、にずれるかと思います。
ツクトリ、色々試さないと完全には把握できない癖もあったりするのでなんか済みません。
通常アイテムを2つ以上消したら私の環境でも再現できました。
下記の手順を試したところ、順番が入れ替わらないようにできましたが、いかがでしょうか。
1. a,b,c,d,eの順で通常アイテムを追加
2. H1,H2,H3,H4,H5の順で隠しアイテムAを追加
3. A,B,C,D,Eの順で隠しアイテムBを追加
4. 隠しアイテムBのアイテム選択の処理(A,B,C,D,Eの順で表示されることを確認)
5. E,D,C,B,Aの順で隠しアイテムBを削除
6. H5,H4,H3,H2,H1の順で隠しアイテムBを削除
7. d,eの順で通常アイテムを削除
8. H1,H2,H3,H4,H5の順で隠しアイテムAを追加
9. A,B,C,D,Eの順で隠しアイテムBを追加
10. 隠しアイテムBのアイテム選択の処理(A,B,C,D,Eの順で表示されることを確認)
通常アイテムの種類と同じ数だけ隠しアイテムAを用意する必要がありますが、ご確認ください。
色々試行ありがとうございます。
当方だと自力試行が限界だった中、本当にすごいです。
ただこの場合、二つほどネックがある気がするのですが大丈夫でしょうか?
1)通常アイテムの所持数は、ゲーム中通して変化が極めて多いので、その時いくつあるかは不定である点(これ重要)
もう一つは製作側の都合っちゃ都合ですが
2)今まで隠しアイテムAでしていた処理を、全てBに置き換えないといけない、忘れるとどっかでバグを引き起こすかも
ですね。
特に1)への対応ってなんかうまい方法はあるでしょうかね?
あと2)は2)で、調合システムのあるゲームを作ってるのですが、調合先アイテムの一覧を出す時に1回、それの使用材料を表示して確認をさせるために1回(これはどれを選んでも決定ボタンで確定、キャンセルボタンでキャンセルとして扱う。よって厳密には選択処理ではなく閲覧専用のアイテムリストの代わりに使用している)。それ以外にもクエストの選択、仲間の出し入れ処理、と半端なく使ってるので本当に手直しまみれになりそうです。
なんだかんだでこれってほとんどバグに近い挙動なので、KADOKAWAさんが修正する、が一番かと思うのですけどね。
一応KADOKAWAの方にもアイテム選択肢の項目ズレの件について報告出していますので、早く直ると良いのですがね。
> 色々試行ありがとうございます。
いえいえ、お役に立てたなら幸いです。
> 1)通常アイテムの所持数は、ゲーム中通して変化が極めて多いので、その時いくつあるかは不定である点(これ重要)
2.と8.の手順で、必ず通常アイテムの種類の最大数だけ隠しアイテムAを追加すれば大丈夫だと思います。
(無駄は多いし大変ですが)
> 2)今まで隠しアイテムAでしていた処理を、全てBに置き換えないといけない、忘れるとどっかでバグを引き起こすかも
2.と8.の手順で追加するアイテムは通常アイテムでも大丈夫でした。
ただ、この場合はアイテム図鑑を表示できるようにしている場合、2.と8.の手順で追加するアイテムも図鑑に表示されてしまう点がネックですね。
> なんだかんだでこれってほとんどバグに近い挙動なので、KADOKAWAさんが修正する、が一番かと思うのですけどね。
> 一応KADOKAWAの方にもアイテム選択肢の項目ズレの件について報告出していますので、早く直ると良いのですがね。
ですね。
私の作品もアイテムの種類が多めなので、表示順が変わらないようにしてもらいたいです。
本当に本当にありがとうございました。
結局根気よく全ての隠しアイテムAをBに書き換え、ダミー扱いのAアイテム(65個程)を補給する処理と廃棄する処理をそれぞれコモンイベントとして追加し、同処理を試したところ、一応2個まではアイテム順序に影響が出ないことが確認できました。
注意深く何度も見返してやりましたが、ミスってないことを祈るばかりです。
(一応デバッグ用のチートツールで調合アイテムを生成して調合を行い、調合を行うことで素材アイテムの一部(2種類)の残が0になる方法で検証しました。
これで先のことに集中できそうです。
未解決の潜在的なバグが残ると、どうにもそっちに気が散ってしまい、モチベーション低下や最悪エターに襲われるので、そうならずになによりでした。
でもそもそもどうしてこんなバグが起きるのか、不思議でしょうがないですね。
解決したみたいで良かったです。
作品制作 応援してます!