トリアコンタン氏作の「カスタムメニュー作成プラグイン」はRPGツクールMZとMV用の両方があります。
使用方法は全く同じなので、以下の画面はMVを使用しますが、MZでも全く同じです。
▼作者による解説
triacontane.blogspot.com/2020/03/blog-post.html
一連の記事
カスタムメニュー作成プラグインは応用範囲が広い反面、何から手を付けたら良いのか分からない人も多いでしょう。
今回は、先日ツクマテでリクドウ氏が宿屋シーンを提示してくださったので、こちらを再現(少し簡易に)するよう制作過程を書いていきます。
カスタムメニュー作成プラグイン入門その2-1 の続きです。
目次
サンプルプロジェクト
zipを解凍したものを新規プロジェクトに上書きして使ってください。
プラグイン本体
RPGツクールMZ用
▼カスタムメニュー作成(トリアコンタン様作) - SceneCustomMenu.js
plugin-mz.fungamemake.com/archives/2597
RPGツクールMV用
▼カスタムメニュー作成(トリアコンタン様作) - SceneCustomMenu.js
plugin.fungamemake.com/archives/23762
目標画面
所持金ウィンドウを追加(gold)
選択肢を表示するウィンドウ(window1)の下に所持金を表示するウィンドウを追加します。
プラグインパラメーター>シーン>ウィンドウ一覧 を開きます。
3行目をダブルクリックします。
ウィンドウ識別子
「gold」に変更します。
相対Y座標ウィンドウ
「window1」と入力します。
どうやらY座標に数値が入っていても、相対Y座標のほうが優先される仕様のようです。
横幅
「360」に変更します。
これはwindow1と同じ幅です。
一覧ウィンドウID
ここで指定したウィンドウがアクティブの時に表示されます。
「window1」と入力します。
項目描画スクリプト
ドロップリストから下記を選びます。
this.drawText(`Text:${item.name}`, r.x, r.y, r.width, 'right'); // 任意のテキスト描画(制御文字変換なし。右揃え)
これを下記に書き換えます。
this.drawText($gameParty.gold() + ' ' + TextManager.currencyUnit, r.x, r.y, r.width, 'right'); // 所持金描画(制御文字変換なし。右揃え)
所持金とデータベースで設定する通貨単位を表示するスクリプトに書き換えました。
動作確認1
無事に所持金が表示されました。
会話ウィンドウを追加(message)
少しショートカットをします。
ウィンドウ一覧から、goldウィンドウをコピー&ペーストします。
すると、同じパラメーターが複製されます。
これを変更していきます。
ウィンドウ拡張子
「message」に変更します。
相対Y座標ウィンドウ
「gold」に変更します。
行数
「2」に変更します。
項目描画スクリプト
ドロップリストから下記を選びます。
this.drawTextEx(`Text:${item.name}`, r.x, r.y, r.width); // 任意のテキスト描画(制御文字変換あり)
これを下記に書き換えます。
this.drawTextEx('いらっしゃいませ。\n一泊10Gです。', r.x, r.y, r.width);
動作確認2
無事に表示されました。
店員画像を追加(face)
ウィンドウ一覧から、messageウィンドウをコピー&ペーストします。
ウィンドウ拡張子
「face」に変更します。
相対Y座標ウィンドウ
「message」に変更します。
高さ
「300」に変更します。
行数
「0」に変更します。
項目描画スクリプト
ドロップリストから下記を選びます。
this.drawFace(item.faceName(), item.faceIndex(), r.x, r.y); // フェイスグラフィック
下記のdrawFaceの情報を元に書き換えます。
(「RPGツクール リファレンス drawFace」で検索…リファレンス内に検索機能がないので…)
katai5plate.github.io/RPGMV-CoreScript-Reference/jsdoc/Window_Base.html
this.drawFace('People1', 5, r.x, r.y); // 顔画像People1のインデックス5
動作確認3
顔画像の座標を中央にしたい場合、座標を計算します。
- ウィンドウ幅:330
- ウィンドウ高:300
- パディング上下左右:18
- 顔画像サイズ:144x144
画像が収まる実質サイズ
(330-18x2)x(300-18x2)
=294x264
中央の座標
147,132
顔画像サイズの半分を戻す
147-72,132-72
75,60
this.drawFace('People1', 5, r.x + 75, r.y + 60);
補助情報
前回の記事で「コモンイベントを予約してマップシーンに戻る処理をしない」ことにしたのは、イベント終了時の画面にシーンのウィンドウを表示したかったためです。
マップシーンに戻ってから、イベント内容を実行すると、これら全てが非表示になります。
下記はMVで実行した後の画像です。
これを見ると、戻ってから実行したほうが良かったように感じます。
しかし、MZではパーティが回復したり、所持金が更新される挙動が見られます。
ケースバイケースで選んでください。
次のステップ
白紙からシーンを作成し、複数のウィンドウにカーソル選択が移動する動作を作ります。
おまけ
左下のウィンドウには顔画像では小さいので、ピクチャを表示するスクリプトを紹介します。
this.drawPicture('ファイル名', r.x, r.y);
MVとMZだと収録素材を分けるのが面倒なので、ここは各自でチャレンジしてください。
当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。









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