事前のお知らせ

攻略本レベル3 プラグイン初級 攻略本レベル3 プラグイン初級:RPGツクールMZ

モンスター闘技場の作り方 #RPGツクールMZ #RPGツクールMV

ここでは、いわゆる「モンスター闘技場」の作り方をまとめます。
「モンスター闘技場」とは、下記のものを指します。

  • モンスター同士が戦う。
  • プレイヤーは参戦しない。
  • プレイヤーは戦闘結果の勝者1名(体?)を予想する。
  • 予想が当たっていれば、報酬が出る。

サンプルプロジェクト

MZ用ZIPダウンロード(15MB)

MV用ZIPダウンロード(16MB)

以下ではイベント内容を載せます。
MVも99%同じですが、一箇所だけスクリプトが異なります。

必要なもの

ステート

  • 観客 - アクターが戦闘に参加しないよう、行動できないようにします。
  • 闘技場(出場者) - 出場モンスターに付与します。「行動成約:味方を攻撃」にしてプレイヤーを攻撃しないようにします。

プラグイン

ステートで「味方を攻撃」を指定しても、自身を攻撃してしまうので、これを回避するプラグインを使用します。
プラグインの設定内容は、サンプルプロジェクトを参照ください。

MZ用

▼混乱ステート拡張(トリアコンタン様作) - ConfusionExtend.js
plugin-mz.fungamemake.com/archives/2581

MV用

▼混乱ステート拡張(トリアコンタン様作) - ConfusionExtend.js
plugin.fungamemake.com/archives/1157

▼混乱ステート時に自分を攻撃しない(ecf5DTTzl6h6lJj02様作) - ConfusionTargetEx.js
plugin.fungamemake.com/archives/27962

変数

  • 生存インデックス(勝利者インデックス) - 戦闘終了時に勝者のインデックス番号を代入します。
  • 勝者名 - 戦闘終了時に勝者の名前を代入します。
  • 予想 - 戦闘開始前に勝者を予想し、代入します。

バトルイベント(コモンイベント)

ターン0/スパン:バトル

敵味方にステートを付与します。
同時にステータスウィンドウを非表示にすることで、雰囲気を出します。

スクリプト://アクターステータスウィンドウを非表示(この戦闘のみ)
スクリプトSceneManager._scene._statusWindow.hide();
スクリプト//MVでは BattleManager._statusWindow.hide();
敵キャラのステート変更:敵グループ全体, + 闘技場
ステートの変更:パーティ全体, + 観客

ターン終了/スパン:ターン

敵グループが残り1体になったか判定し、勝者のインデックスと名前を取得します。
また、勝利者が決定した時点で、戦闘を終了します。

条件分岐:スクリプト:$gameTroop.aliveMembers().length === 1;
変数の操作:#0001 生存インデックス = $gameTroop.aliveMembers()[0].index();
変数の操作:#0002 勝者名 = $gameTroop.aliveMembers()[0].name();
文章:なし, なし, ウィンドウ, 下
文章試合終了!
文章\V[2]の勝利!
文章インデックス\V[1]
バトルの中断

分岐終了

注意点:デプロイメント

サンプルではベースの戦闘をSVにし、闘技場の雰囲気を出すためにFVに切り替える処理を入れています。
この処理だけでデプロイメント時に「未使用ファイルを除外する」機能を使用すると、FV用の敵の画像が除外されてしまいます。
必要に応じて、ファイルを補完してください。
下記記事の「未使用ファイルとして除外されない対策」を参考にしてください。

未使用ファイルを除外した後のプロジェクトの作り方

スポンサードリンク

スポンサードリンク

-攻略本レベル3 プラグイン初級, 攻略本レベル3 プラグイン初級:RPGツクールMZ
-,

Copyright© RPGツクールMZ・MV初心者的備忘録 - FGMG (Fun Game Make Group) , 2022 All Rights Reserved.