トリアコンタン氏作の「カスタムメニュー作成プラグイン」はRPGツクールMZとMV用の両方があります。
使用方法は全く同じなので、以下の画面はMZを使用しますが、MVでも全く同じです。
▼作者による解説
triacontane.blogspot.com/2020/03/blog-post.html
一連の記事
このプラグインにはデフォルトで転職シーンと思われるものが設定されています。
しかし、これはシーン見栄えの確認用らしく、実際に転職がされません。
これを実働させる過程を説明することで、使い方・仕様の理解を深めましょう。
目次
サンプルプロジェクト
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(); // 元のシーンに戻る
を使用すると、「インデックス格納変数」は更新されるので、イベント・スクリプトに使用するにはタイミングに注意が必要です。
次のステップへ
少し凝った宿屋シーンに挑戦します。
コメントを投稿するにはログインしてください。