[RPGツクールMV Trinity]クラフトシステムを解説!鍛治・料理・錬金術と何でも対応可能!

2019年9月20日

Pocket

小さな我が家へようこそ。いろはです。

今回は「RPGツクールMV Trinity(ツクトリ)」で公開中のゲーム「ニナの神隠し -brand new day-」で実装しているクラフトシステムについてご紹介します。

スポンサーリンク

クラフトシステム

クラフトシステムの内容

クラフトシステムでは、下記のようなことを実現します。
  • プレイヤーに作りたい物を選択させる。
  • 必要な材料を表示し、必要な材料を持っているかチェックする。
  • できるだけ処理を共通化させる。

クラフトシステムの実現方法

部品となるコモンイベント

まず初めに、下記のようなコモンイベント(部品)を作成します。
コモンイベント名 実行内容 備考
作れる物を設定 プレイヤーが作れる物を隠しアイテムで設定する。 キャンセル用の隠しアイテムも設定しておきましょう。隠しアイテムについての記事はこちら!
作れる物をリセット プレイヤーに持たせた隠しアイテムを回収する。 隠しアイテムを回収するときは、追加した順番とは逆の順番に回収しましょう。2回目以降の「アイテム選択の処理」でアイテム表示の順序が変わってしまうことがあります。
所持数チェック 材料となるアイテムを必要な数以上持っているかをチェックする。 このコモンイベントの詳細はこちら!
クラフト時の演出 クラフト時の効果音(SE)などの演出を設定する。 なくても良いですが、演出を後で変えたくなった場合にあると便利です。
スポンサーリンク

大枠のクラフトシステム

部品となるコモンイベントを作成したら、クラフトシステムの大枠となるコモンイベントを作成します。

大枠の実行内容としては下記になります。
    1. 変数「ループ中断」に「0」を代入する
    2. ループ開始
      1. コモンイベント「作れる物を設定」を実行する
      2. 「アイテム選択の処理」でプレイヤーに作りたい物を選択させ、選択された隠しアイテムのアイテムIDを変数「temp」に格納する
      3. コモンイベント「作れる物をリセット」を実行する
      4. アイテム毎のコモンイベントを実行する(後述)。また、キャンセル用の処理も作成する
      5. 変数「ループ中断」が「1」ならループを中断する

アイテム毎のコモンイベント

作れるアイテム毎に下記のようなコモンイベントを作ります。
  1. 変数「temp」の値がnの場合は下記の処理を実行(nには隠しアイテムのアイテムIDを設定)
    1. 必要に応じて体力(HP)のチェックなどを行う
    2. クラフトに必要な材料についてメッセージを表示する
    3. アイテムを作るかどうか、選択肢を表示する
      • 作る場合は以降の処理を続行する
      • やめる場合は「イベント処理の中断」
    4. コモンイベント「所持数チェック」を利用して、必要な材料を持っているかチェックする
      • 材料が揃っている場合は以降の処理を続行する
      • 材料が足りない場合は処理を終了する
    5. コモンイベント「クラフト時の演出」を実行する
    6. 材料のアイテムの所持数を減らし、クラフトしたアイテムを追加する
    7. 変数「ループ中断」に「1」を代入する

まとめ

クラフトシステムは隠しアイテムのアイテムID管理や必要な材料の設定など、クラフト可能なアイテムを増やすほど作業量が多くなり、修正漏れが発生しやすくなるので注意が必要です。

ご参考になれば幸いです。

ツクール広場に作品を投稿していますので、よかったら遊んでみてください。
下記の記事でご紹介しています。
よかったら下記の記事もどうぞです。
以上、いろはでした。
スポンサーリンク

Pocket