FieldRPGツクールMV、RPGツクールMZのプラグインを配布してます。その他、制作したフリーゲームや執筆したライトノベルの紹介やコラム等を増やしていく予定です。※ブログのコメント欄はサポートに向いていないため停止中です。ブラグインのサポートは公式フォーラムもしくはツクマテにて承っております。本項ではRPGツクールMZ(以下MZ)のプラグイン制作について、移植やRPGツクールMV(以下MV)プラグインの両立に関する方針の説明と、各種資料の提示を行います。自作のプラグインについて動作確認済みのプラグインMVプラグインをMZ向けに移植し動作確認したプラグイン、もしくは新規にMZ向けに作成したプラグインはこちらに配置します。これらはすぐにMZで使用可能です。ライセンスは引き続き全て『MITライセンス』となります。https://docs.google.com/spreadsheets/d/1BnTyJr3Z1WoW4FMKtvKaICl4SQ5ehL5RxTDSV81oVQc/edit#gid=1411848872公式プラグイン『PluginCommonBase.js』をベースプラグイン指定している場合があります。その場合は当該プラグインを先に適用してください。動作確認していないプラグインMVプラグインに@targetアノテーションを機械的に付与したプラグインを以下に配置しました。対象は現在公開しているすべてのMVプラグインです。これらはMZで動作するとは限らないのでご注意ください。移植に関してリクエストがあれば随時受け付けますが、対応時期についてはお約束できません。上記のシートにないプラグインでMZでの正常な動作が確認できたプラグインがあればぜひご一報ください。https://github.com/triacontane/RPGMakerMV/tree/mz_masterリポジトリの運用方針(プラグイン開発者向け)MZプラグインは、従来のMVプラグインから派生させた『mz_master』ブランチで運用します。双方のブランチで軽微な修正が入った場合は、cherry-pickでもう片方のブランチに反映させます。差分が拡大したプラグインは反映を断念する場合があります。Requestを頂ける場合は、マージ先のブランチを間違わないようお願いします。MZプラグインの『mz_master』ブランチhttps://github.com/triacontane/RPGMakerMV/tree/mz_masterMVプラグインの『master』ブランチhttps://github.com/triacontane/RPGMakerMV公式プラグインについて私が作成した公式プラグインについては、GitHub上での公開は行いません。本体に付属しているのでそちらからご利用ください。公式プラグインの紹介記事はこちらです。https://triacontane.blogspot.com/2020/08/rpgmz.htmlMZの非公式スクリプトリファレンス公式プラグインおよびプラグイン講座作成に際して、非公式のスクリプトリファレンスを作成しました。データベースやゲームデータへのアクセス方法やイベントコード、特徴コードなどをまとめています。今作の発売にあたり、いくつかの公式プラグインを作成、提供しました。本項では、公式プラグインの機能や使い方を紹介します。公式プラグインはRPGツクールMZをインストールしたフォルダの『dlc\BasicResources\plugins\official』配下に置いてあります。必要に応じてプロジェクトフォルダにコピーしてください。MZ\dlc\BasicResources\plugins\officialPluginCommonBase.js他のプラグインから参照されることを前提としたベースプラグインです。プラグインパラメータ、コマンドの型解析や制御文字の処理を一括で提供します。本プラグインを導入すると様々な場面で以下の制御文字が使えるようになります。n番目の変数の値に変換されます。false)に変換されます。false)に変換されます。D制御文字を利用可能な場面は以下の通りです。他の公式プラグインで追加した制御文字も同様となります。PluginCommonBase.jsをベースとして取り込んだプラグインのみプラグインパラメータの型解析(開発者向け情報)プラグインパラメータを自動で型解析し変換します。パラメータ取得時に制御文字の変換を自動で行います。以下のメソッドを呼んで戻り値を取得します。引数には必ず「document.currentScript」を指定します。PluginManagerEx.createParameter(document.currentScript);ただし、パラメータ名の末尾が(大文字小文字問わず)以下の値の場合、制御文字や型の変換は行われず、そのままの値を返します。textnamenotedescscriptプラグインコマンドパラメータの型解析(開発者向け情報)プラグインコマンドパラメータを自動で型解析し変換します。パラメータ取得時に制御文字の変換を自動で行います。PluginManager.registerCommandの代わりに以下を使用します。引数には必ず「document.currentScript」を指定します。任意の処理});メモ欄の解析(開発者向け情報)指定したオブジェクトからメモ欄情報を取得します。制御文字の変換を自動で行います。名称は複数指定することも可能です。tagName2...);動的コモンイベントの実行(開発者向け情報)動的コモンイベント(並列処理可能なリスト型のコモンイベント)です。同一IDのコモンイベントも好きなだけ並列実行できます。実行が終わったものから自動で破棄されます。$gameMap.setupDynamicCommon(commonEventId);TextScriptBase.jsテキストやスクリプトなどの複数行の文字列をプラグインパラメータとして登録、管理できるデータベースです。登録したテキストは以下の制御文字で参照できます。制御文字の添字には指定した識別子もしくは番号を指定します。識別子[aaa]で登録したテキストに置き換わります。識別子[bbb]で登録したテキストをその場でスクリプトとして評価した結果に置き換わります。スクリプトを実行する場合、引数を渡すことができます。引数は自働で型変換され、配列「args」から参照できます。'ccc']が変数argsに格納されます。スクリプトを直接記述して埋め込むこともできます。スクリプトxxxの実行結果に置き換わります。スクリプト中で記号「<」「>」を使う場合は以下の通りエスケープする必要があります。&lt;MaterialBase.js主にプラグインで使用する画像、音声素材を登録、管理できるデータベースです。以下の制御文字を使用すると登録した素材のファイル名に置き換わります。識別子[aaa]で登録した画像素材のファイル名に置き換わります。識別子[bbb]で登録した音声素材のファイル名に置き換わります。登録した素材はプラグインコマンドにより別の素材に変更できます。設定した値はプラグインコマンドから「ピクチャ」や「BGM」として表示、再生できます。詳細はプラグインコマンドの説明を確認してください。別プラグイン「EventCommandByCode.js」を使えばより広い用途に使用できます。UniqueDataLoader.jsdataフォルダ配下に存在する任意のjsonファイルを読み込みます。jsonファイルはJSONとしてparse可能なテキストファイルとして作成してください。定義したファイルはゲーム起動時に読み込まれます。データは指定した名称のグローバル変数に格納されます。グローバル変数名に「window」を指定すると、各オブジェクトがそれぞれグローバル変数として定義されますが、名称の競合には注意してください。データベースコンバータMZで作成したデータや独自のプラグインで追加したデータの読み込みなどに使えます。読み込んだデータは、独自のプラグインやスクリプトで以下の通り参照できます。グローバル変数を[$dataUniques]プロパティ名を[property]にした場合の参照例$dataUniques.propertyすべての固有データを正常に読み込むと以下のメソッドが呼ばれます。必要であれば再定義してください。Scene_Boot.prototype.onUniqueDataLoadEventCommandByCode.jsコードとパラメータを直接指定してイベントコマンドを実行できます。各コマンドのパラメータに変数(制御文字)が使えたり、通常のイベントコマンドでは指定できない範囲外の値を無理やり指定できます。想定外の値を設定してコマンドを呼んだ場合の動作は保証できません。イベントエディタ上で複数行になるコマンドおよびネストが深くなるコマンドは指定できません。具体的なコードとパラメータの情報は、以下が参考になります。https://docs.google.com/spreadsheets/d/1aqY-xzFqT0vnZE-OkfsMYsP9Ud91vWTrBLU-uDkJ-Ls/edit#gid=2095105278また、コードを『365』、パラメータの一番目にコマンドを指定することで『MV版のプラグインコマンド』を呼び出せます。MZに正式対応していないプラグインを使用する際に役立ちます。OverpassTile.jsマップ上で橋などの立体交差を表現できます。ツクールMV公式プラグイン「OverpassTile.js」のMZ向け機能強化版です。リージョンだけでなく地形タグも指定可能で、さらにイベントの起動や衝突判定に関する考慮がなされています。立体交差に対して必ず移動できます。橋の上にいる場合、立体交差と橋の入り口に対して必ず移動できます。橋の下にいる場合、橋の入り口に対して必ず移動できません。上記の条件で移動可否を判定しなかった場合マップの本来の通行設定に従います。高さが異なる(橋の上と下にいる)イベントは起動、衝突しません。OverpassTileEventAttach.js公式プラグインではありませんが「OverpassTile.js」と組み合わせて使用する、立体交差イベントアタッチメントです。イベントのメモ欄に以下の通り指定すると対象イベントが立体交差として扱われます。<Overpass>ただし、グラフィックが指定されていないページもしくは有効なページがない場合は立体交差になりません。プライオリティは原則「通常キャラの上」を選択してください。取得元(MITライセンス)https://raw.githubusercontent.com/triacontane/RPGMakerMV/mz_master/OverpassTileEventAttach.jsOverpassTileEventAttach.js同じく「OverpassTile.js」と組み合わせて使用する、乗り物考慮アタッチメントです。小型船、大型船は下層のみ、飛行船は上層のみに配置され高さが異なる状態からの乗船ができなくなります。取得元(MITライセンス)https://raw.githubusercontent.com/triacontane/RPGMakerMV/mz_master/OverpassTileVehicleAttach.jsExtraWindow.js任意のウィンドウを指定したシーンに追加表示できます。座標やフォントサイズ、開閉アニメの有無など基本的な情報を設定できます。ウィンドウの表示テキストには制御文字が使用でき、変数値が変更されると自動的に再描画されます。ExtraImage.js任意の画像を指定したシーンに追加表示できます。座標や拡大率、原点など基本的な情報を指定できます。各パラメータに制御文字を指定すると指定した変数から値を取得できます。RegionBase.jsリージョンおよび地形タグのデータベースを提供します。Trinityに準じています。リージョンおよび地形タグをトリガーにして以下の機能を提供します。以下のスクリプトでデータベースをスクリプトや外部プラグインから参照できます。未設定もしくは添え字が0の場合の中身はundefinedとなるので注意してください。$dataSystem.regions[ID];$dataSystem.terrainTags[ID];ライセンスについて私が個人的にGitHubで公開していたプラグインは全てMITライセンスでした。公式プラグインはMITラインセンスではありません。使用にあたっては提供元の利用規約を確認してください。(Atom)自己紹介トリアコンタン兼業ラノベ作家を目指すSEです。小説執筆の傍ら、RPGツクールでゲームやプラグイン素材の制作もやってます。得意ジャンルはライトホラー&ライトミステリ。