事前のお知らせ

MZ攻略本レベル4 プラグイン応用

カスタムメニュー作成プラグイン入門その1:RPGツクールMZ・MV

トリアコンタン氏作の「カスタムメニュー作成プラグイン」はRPGツクールMZとMV用の両方があります。
使用方法は全く同じなので、以下の画面はMZを使用しますが、MVでも全く同じです。

▼作者による解説
triacontane.blogspot.com/2020/03/blog-post.html

このプラグインにはデフォルトで転職シーンと思われるものが設定されています。
しかし、これはシーン見栄えの確認用らしく、実際に転職がされません。
これを実働させる過程を説明することで、使い方・仕様の理解を深めましょう。

サンプルプロジェクト

zipを解凍したものを新規プロジェクトに上書きして使ってください。

MZ用ZIPダウンロード

MV用ZIPダウンロード

プラグイン本体

RPGツクールMZ用

▼カスタムメニュー作成(トリアコンタン様作) - SceneCustomMenu.js
plugin-mz.fungamemake.com/archives/2597

RPGツクールMV用

▼カスタムメニュー作成(トリアコンタン様作) - SceneCustomMenu.js
plugin.fungamemake.com/archives/23762

プラグインパラメーターの設定

シーン1(Scene_ActorList)>ウィンドウ一覧>member_window

  • 選択項目格納変数 >変数ID1
  • 共通ヘルプテキスト >「転職するアクターを選択してください。」

シーン2(Scene_ActorListNext)>ウィンドウ一覧>window1

  • 選択可能スクリプト >空白
  • 共通ヘルプテキスト >「転職する職業を選択してください。」
  • 選択項目格納変数 >変数ID2
  • 決定イベント>スクリプト >
    $gameActors.actor($gameVariables.value(1).actorId()).changeClass($gameVariables.value(2).id, true); this.popScene(); // 元のシーンに戻る

コモンイベントを使う場合

今回の例では強引に一行にスクリプトが収まりましたが、可読性も低くメンテナンスがしにくいです。
コモンイベントで、下記のようなスクリプトを入れると読みやすいです。

const selectActorId = $gameVariables.value(1).actorId();
const selectClassId = $gameVariables.value(2).id;
$gameActors.actor(selectActorId).changeClass(selectClassId, true);
SceneManager.callCustomMenu('Scene_ActorList'); //元のシーンに戻る代わりに、同じシーンを呼び出す。シーンを再開する必要がなければ不要

コモンイベントを動作させるには、「決定イベント>スクリプト」を空白にしておく必要があるので、ご注意ください。

仕様確認

選択項目格納変数

「選択項目格納変数」には、指定した変数にオブジェクト情報が入ります。
ここから、必要な情報だけを引き出して、スクリプト等に応用します。

今回は下記が代入されます。

  • 変数ID1:選択したアクターのobject
  • 変数ID2:選択した職業のobject

変数1と2からIDを引き出すために、下記のスクリプトで変換しています。

  • $gameVariables.value(1).actorId()
  • $gameVariables.value(2).id

このようなobjectから、部分的なデータを引き出す方法見つけるには、デベロッパーツールのコンソールを使用します。
コンソールで $gameVariables.value(1) と入れるとobjectの中身が表示されるので、そこから引き出すためのワードを探します。

参考記事:
fungamemake.com/archives/12570

決定イベントの優先順

決定イベントの中にはコモンイベントとスクリプトがあります。
両方を指定しても、両方は動作しないようです。

スクリプトが指定されている場合、コモンイベントは実行されません。
コモンイベントを実行するには、スクリプトの項目を空にする必要があります。

シーンを開く

◆スクリプト:SceneManager.callCustomMenu('Scene_ActorList');

というように、スクリプトコマンドで、シーンを呼びます。

MZとMVの違いについて

MZ用「カスタムメニュー作成プラグイン」には公式プラグインの PluginCommonBase.js が必要です。

RPGツクールMVでは転職時の仕様が不自然で、下記のプラグイン導入をお勧めします。

▼ 職業の変更によるスキル習得(トリアコンタン様作)
plugin.fungamemake.com/archives/23667
イベントコマンド『職業の変更』を行ったとき、変更先の職業が習得できるスキルを自働で習得します。

おまけ

今回は「選択項目格納変数」を使用しましたが、オブジェクト情報からIDを引き出すスクリプトが必要でした。
これを簡易にするのに「インデックス格納変数」を使用する方法もあります。
インデックスは0から始まり、リストの上から下へ数字が上がっていきます。
職業IDはシンプルにこちらに+1する方が簡潔になります。
アクターのリストは、今回のケースでは現在のパーティの並び順から取得するので、アクターIDを簡単に取得することは出来ません。

スクリプト
this.popScene(); // 元のシーンに戻る
を使用すると、「インデックス格納変数」は更新されるので、イベント・スクリプトに使用するにはタイミングに注意が必要です。

次のステップへ

カスタムメニュー作成プラグイン入門その2-1

少し凝った宿屋シーンに挑戦します。

スポンサードリンク

スポンサードリンク

-MZ攻略本レベル4 プラグイン応用

Copyright© RPGツクールMZ・MV初心者的備忘録 - ムノクラのメモ帳 , 2021 All Rights Reserved.