マップ選択&移動画面を実装【RPGツクールMZ&MVプラグイン】

2024年11月01日

 選択した地点(マップ)に移動するための画面を実装します。
 ※いわゆるファストトラベルやルーラに相当する機能です。


主な特徴

  • フィールドと地図を対応させて各地点を表示
  • 地図画像はエディタから出力するだけでOK
  • コモンイベントによって演出可能
  • メニュー画面に追加可能
  • 地点名の横にスイッチ切替によるアイコン表示が可能
    イベント発生中の地点を知らせるなど。
  • 移動を禁止すれば、単なる地図としても利用可能

 当プラグイン内で指す『フィールド』とは地図に対応するマップを意味します。
 基本的にはフィールドと地点(町やダンジョン)を対応させる想定ですが、以下のような町と施設を対応させた移動画面を作成しても構いません。


目次


導入方法(Install)

更新履歴(History)

素材(Material)

使用方法(Usage)

基本

移動演出を追加

地図を表示

地図上に地点を表示

現在地の表示

MZ用プラグインコマンド(Plugin Command MZ)

MV用プラグインコマンド(Plugin Command MV)


プラグインパラメータ

地点一覧(SpotList)

地図設定一覧(FieldMapList)

シンボル画像一覧(SymbolList)

移動用コモンイベント(TransferCommonEvent)

マップID変数(MapIdVariable)

X座標変数(XVariable)

Y座標変数(YVariable)

識別用変数(IdentifierVariable)

自動更新(フィールド脱出)(UpdateWhenExitField)

自動更新(地点進入)(UpdateWhenEnterSpot)

現在地のシンボルID(CurrentSymbolId)

選択地点のシンボルID(SelectedSymbolId)

地点一覧の横幅(SpotListWidth)

解説枠の縦幅(HelpHeight)

メニューコマンドに表示(ShowMenuCommand)

メニューコマンド挿入位置(ShowMenuCommandPosition)

メニュー表示名(TravelName)

表示許可するスイッチ(MenuCommandSwitch)

マスク文字列(MaskString)ver1.03

禁止するスイッチ(DisableSwitch)ver1.01

[上級]記号(TravelSymbol)

参照専用(ReadOnlyMenu)

開始時コモンイベント(StartCommonEvent)


プラグインパラメータ(地点情報)

地点名(SpotName)

説明文(Description)

移動先マップID(TransferMapId)

移動先X座標(TransferX)

移動先Y座標(TransferY)

移動後の向き(TransferDirection)

移動先識別値(TransferIdentifier)

移動用コモンイベント(TransferCommonEvent)

アイコン(複数)(Icons)

地図用マップID(FieldMapId)

地図用X座標(FieldX)

地図用Y座標(FieldY)

座標更新用マップID(LocationUpdateMapId)

シンボルID(SymbolId)

一覧表示スイッチ(ListingSwitch)

点表示スイッチ(PointSwitch)

選択禁止スイッチ(DisableSwitch)


プラグインパラメータ(地図情報)

マップID(MapId)

マップ画像(MapImage)

背景色(BackgroundColor)

現在地用マップID変数(CurrentMapIdVariable)

現在地用X座標変数(CurrentXVariable)

現在地用Y座標変数(CurrentYVariable)

有効とするスイッチ(ValidSwitch)


プラグインパラメータ(シンボル情報)

シンボルID(SymbolId)

メモ(Memo)

シンボル画像(SymbolImage)

点滅周期(BlinkPeriod)

不透明度(Opacity)

シンボルの色(SymbolColor)

シンボルの半径(SymbolRadius)


プラグインパラメータ(アイコン情報)

アイコン番号(IconIndex)

文字色(NameColor)

表示スイッチ(DispSwitch)


導入方法(install)


 以下のファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_MapTravel.js ver1.042(2024/11/01)

素材(Material)


 上記のサンプルで使用している現在地用のシンボル画像です。武器画像のロッドを改変したものですが、お好みでご使用ください。


 ちなみに画像を設定しない初期状態だと、水色の丸で現在地を表示します。

更新履歴(History)


2024/09/20 - > 2024/11/01(ver1.04 -> 1.042)

  • シーン開始のプラグインコマンドにカーソルの初期識別値を追加した。
  • MVにて、アイコン表示時にエラーとなる不具合修正。
    (2024/11/01 ver1.041)
  • MVにて、アイコンが表示されない不具合修正。(2024/11/01 ver1.042)

2023/08/06 -> 2024/08/08(ver1.03 -> 1.031)


2022/11/02 -> 2023/04/03(ver1.02 -> 1.022)

  • 別フィールドのマップを表示している時も、地図に現在地が表示されてしまう不具合修正。
  • 地点名の文字色変更機能を追加。
  • MVで動作しない不具合修正。(2022/11/05 ver1.021)
  • メニューコマンドの挿入位置が想定通りにならないことがある不具合修正。
    (2023/04/03 ver1.022)

2022/06/13(ver1.01)


2021/12/30 -> 2022/05/24(ver1.00 -> 1.001)

  • 公開!
  • 表示する地点がない場合にエラーとなる不具合修正。

使用方法(Usage)


 設定内容の多いプラグインなので、段階に分けて説明します。
 まずは地図を使わない方法から始めます。

基本

 まず地点一覧をプラグインパラメータに登録します。

  • 『地点名』
  • 『移動先マップID』
  • 『移動先X座標』
  • 『移動先Y座標』

 などの情報を指定してください。

 また『一覧表示スイッチ』を指定すれば、スイッチがオンになるまで地点は表示されなくなります。

 これでプラグインコマンドを実行すればOKです。
 ※パラメータは指定不要


 シンプルなマップ選択&移動画面が実現できます。

移動演出を追加

 しかしながら、上記だけでは場所移動の演出もなく味気ないです。
 そこでコモンイベントを呼び出すことで演出を追加します。

  • 『移動用コモンイベント』
  • 『マップID変数』
  • 『X座標変数』
  • 『Y座標変数』

 の各プラグインパラメータを設定してください。
 ※いずれも地点一覧ではなく通常のパラメータです。

 この際、指定したコモンイベント内に、自力で場所移動処理を記述する必要があります。パラメータで指定した変数に座標情報が格納されるので、場所移動先をその変数で指定してください。


 後はイベントコマンドで好きなように演出を追加してください。
 移動に失敗して、別の場所に飛ばされるなんて変わったこともできます。


地図を表示

 フィールドに対応する地図を表示し、各地点を地図上の点(シンボル)として表示することが可能です。

 まずは地図画像を用意してください。
 最も簡単なのはマップツリー上で地図を作成したいマップを選択し、右クリックで「画像として保存」を選択して出力する方法です。


 用意した画像をピクチャーとして『地図設定一覧』に登録し、マップIDと紐付けてください。

 なお、自力で地図を加工したり完全に自作しても構いません。
 比率さえ合っていれば、地図のサイズも自由です。

地図上に地点を表示

 『移動先マップID』『移動先X座標』『移動先Y座標』の各項目にフィールド上の座標が設定されているならば、この時点で地図上に地点がシンボルとして表示されるようになります。


 問題は、移動先が町の中などフィールド以外だった場合です。
 この場合、地点毎に地図に対応する座標を入力する必要があります。

  • 『地図用マップID』
  • 『地図用X座標』
  • 『地図用Y座標』

 の各項目を設定してください。

 なお、シンボルをゲームの開始時から表示したくないという場合は『点表示スイッチ』を設定して切り替えてください。
 『一覧表示スイッチ』と同じ番号のスイッチでも構いません。

現在地の表示

 地図上にプレイヤーの現在地を表示するのは意外に困難です。
 フィールド上にプレイヤーがいるなら、現在の座標を参照するだけですが、町やダンジョンなどの地点にいる場合は、そうもいきません。


 よって、地点内にいる場合もフィールドの座標情報を保持する必要があります。
 まず、プラグインパラメータの地図情報に以下項目を設定し、保持する変数を決めてください。

  • 『現在地用マップID変数』
  • 『現在地用X座標変数』
  • 『現在地用Y座標変数』

 このプラグインでは、以下二つの自動化手段を用意しています。

1.フィールドから地点へ場所移動した際の座標を保持する。

 ただし、イベントなどで地点から地点へ移動した際は当てになりません。
 最初に入った地点の座標が保持されたままになります。

 また、イベントの演出で一時的にフィールドへ場所移動した場合、この処理の対象になってしまうことも注意してください。

2.地点へ場所移動した際に、地図用座標を取得する。

 該当の地点かどうかの判定は、『移動先マップID』で行います。
 それだけでは不十分な場合は『座標更新用マップID』に追加できます。

 もっとも、地点に属する全てのマップを登録するのは非現実的です。
 外部から遷移する可能性があるマップだけで十分です。

 ※ダンジョンなど地図上に表示しない地点を登録したい場合は『移動先マップID』を空欄にした上で、さらに『座標更新用マップID』だけを設定してください。
 ※MZ用プラグインコマンドの『地点一覧(追加)』で追加した地点についてはこの機能は働きません。ご注意ください。


 上記の自動取得機能を停止したい場合は、プラグインパラメータで切替も可能です。

 自動取得せずに、手動で上記の変数に値を設定しても構いません。
 状況によって柔軟に対応してください。
 例えば、ダンジョンからの脱出座標などと共有する方法もあります。


MZ用プラグインコマンド(Plugin Command MZ)


シーン開始

 マップ選択画面を表示します。

地点一覧(追加)

 表示される地点一覧の追加分です。
 プラグインパラメータの地点一覧に結合します。

表示専用

 場所移動を禁止します。
 純粋に地図として使用する場合を想定しています。

共通一覧を非表示

 プラグインパラメータで設定した共通の地点一覧を表示せず、地点一覧(追加)で指定した地点だけを表示します。

カーソルの初期識別値

 画面を開いた時のカーソルの初期選択地点を設定します。
 値はプラグインパラメータ(地点情報)の移動先識別値に対応します。

MV用プラグインコマンド(Plugin Command MV)


 機能はMZ版と同じため、説明は割愛します。
 ※大文字個別は区別しません。

シーン開始

NRP.MapTravel.SceneStart

また、以下で表示専用になります。
NRP.MapTravel.SceneStart true

プラグインパラメータ


地点一覧(SpotList)

 表示される地点の一覧です。
 表示条件なども含めて登録してください。
 詳細はプラグインパラメータ(地点情報)をご確認ください。

地図情報一覧(FieldMapList)

 地図として表示されるフィールドマップの一覧です。
 マップIDや画像などを登録してください。

シンボル画像一覧(SymbolList)

 地図上に表示されるシンボル(各地点、選択地点、現在地)の一覧です。

移動用コモンイベント(TransferCommonEvent)

 地点選択後に実行するコモンイベントです。
 このイベント内で場所移動を実行してください。

マップID変数(MapIdVariable)

 地点選択後に場所移動先のマップIDを格納する変数です。

X座標変数(XVariable)

 地点選択後に場所移動先のX座標を格納する変数です。

Y座標変数(YVariable)

 地点選択後に場所移動先のY座標を格納する変数です。

識別用変数(IdentifierVariable)

 地点選択後に識別値を格納する変数です。
 地点毎に異なる処理をしたい場合に有用です。

自動更新(フィールド脱出)(UpdateWhenExitField)

 フィールドから別のマップへ移動する際に地図座標用の変数を自動更新します。

自動更新(地点進入)(UpdateWhenEnterSpot)

 各地点へ移動した際に地図座標用の変数を自動更新します。
 『移動先マップID』および『座標更新用マップID』が基準。

現在地のシンボルID(CurrentSymbolId)

 現在地を表示するシンボルのIDです。

選択地点のシンボルID(SelectedSymbolId)

 選択地点を表示するシンボルのIDです。

地点一覧の横幅(SpotListWidth)

 地点一覧の横幅です。

解説枠の縦幅(HelpHeight)

 解説枠の縦幅です。初期値(空欄)では二行分を確保します。
 0にすると非表示。

メニューコマンドに表示(ShowMenuCommand)

 メニューコマンドに移動機能を追加します。

メニューコマンド挿入位置(ShowMenuCommandPosition)

 メニューコマンドに移動機能を挿入する位置です。
 0が先頭になります。

メニュー表示名(TravelName)

 移動機能の表示コマンド名を設定します。


 スイッチがオンの時のみコマンドを表示します。
 空白なら常に表示します。

マスク文字列(MaskString)ver1.03

 表示許可するスイッチがオフの際、指定した文字列でコマンドを表示します。
 例えば、機能を解放する前のコマンドを「????」というように表示できます。

 空欄ならコマンド自体を非表示にします。

禁止するスイッチ(DisableSwitch)ver1.01

 スイッチがオンの時のみコマンドを禁止(灰色表示)します。
 空白なら常に許可します。

[上級]記号(TravelSymbol)

 移動機能の記号を設定します。
 この値は他のプラグインと連携する際に使用できます。

参照専用(ReadOnlyMenu)

 移動コマンドを参照専用にします。
 地図としての利用を想定しています。

開始時コモンイベント(StartCommonEvent)

 シーン開始時に実行されるコモンイベントです。
 メッセージ表示等が可能ですが、機能は限定的です。

プラグインパラメータ(地点情報)


 『地点一覧』内に登録する地点情報のパラメータです。

地点名(SpotName)

 表示される地点の名前です。
 \i[1]などのアイコン表示も有効です。

説明文(Description)

 地点の説明文です。

移動先マップID(TransferMapId)

 移動先のマップIDです。数式可。

 空欄だと一覧に表示されなくなります。
 地図にシンボルだけを表示したい場合や、『座標更新用マップID』だけを設定したい場合に有効です。


移動先X座標(TransferX)

 移動先のX座標です。数式可。

移動先Y座標(TransferY)

 移動先のY座標です。数式可。

移動後の向き(TransferDirection)

 移動後の向きです。

移動先識別値(TransferIdentifier)

 移動先の地点を識別するための値です。
 『識別用変数』に値が格納されます。

 例えば、場所移動後に乗り物の位置も移動させたい場合、『識別用変数』で分岐させて『乗り物の位置設定』を実行すればOKです。
 ちなみに『移動先マップID』だけで識別できる場合は、わざわざこの項目を使う必要はありません。

移動用コモンイベント(TransferCommonEvent)

 地点選択後に実行するコモンイベントです。
 全体で設定したものより優先されます。

アイコン(複数)(Icons)

 地点名の横にアイコンを追加します。
 例えば、イベント発生中の地点を明示するなど。
 詳細はプラグインパラメータ(アイコン情報)をご覧ください。

地図用マップID(FieldMapId)

 地図に対応するフィールドのマップIDです。数式可。
 空欄だと『移動先マップID』を流用します。

地図用X座標(FieldX)

 地図に対応するフィールド上での地点のX座標です。数式可。
 空欄だと『移動先X座標』を流用します。

地図用Y座標(FieldY)

 地図に対応するフィールド上での地点のY座標です。数式可。
 空欄だと『移動先Y座標』を流用します。

座標更新用マップID(LocationUpdateMapId)

 地図座標の更新を行うマップIDです。複数指定可
 例1:1,2,3
 例2:1~3

シンボルID(SymbolId)

 表示するシンボルのIDです。
 空欄にすると非表示になります。

一覧表示スイッチ(ListingSwitch)

 地点がリスト上に表示される条件となるスイッチです。
 空欄なら常に表示します。

点表示スイッチ(PointSwitch)

 地点を地図上の点として表示する条件となるスイッチです。
 空欄なら常に表示します。

選択禁止スイッチ(DisableSwitch)

 選択を禁止するスイッチです。
 リスト上には灰色で表示されるようになります。

プラグインパラメータ(地図情報)


 『地図情報一覧』内に登録する地図情報のパラメータです。

マップID(MapId)

 地図に対応するマップのIDです。

マップ画像(MapImage)

 地図として使用する画像です。

背景色(BackgroundColor)

 地図の背景色です。
 例:rgb(255, 255, 255)
 数値は赤、緑、青に対応。空欄なら透明となります。

現在地用マップID変数(CurrentMapIdVariable)

 地図上の現在地となるマップIDを格納する変数です。

現在地用X座標変数(CurrentXVariable)

 地図上の現在地となるX座標を格納する変数です。

現在地用Y座標変数(CurrentYVariable)

 地図上の現在地となるY座標を格納する変数です。

有効とするスイッチ(ValidSwitch)

 地図を有効とするスイッチです。
 空欄なら常に表示します。

 同じマップIDに対して複数の設定が存在していた場合は、リストの上側が優先されます。ゲーム進行に応じて地図を変更したい場合に有効です。

プラグインパラメータ(シンボル情報)


 『シンボル画像一覧』内に登録するシンボル情報のパラメータです。

シンボルID(SymbolId)

 シンボルに対応するIDです。
 各地点との紐付けに使います。

メモ(Memo)

 ユーザが識別するためのメモです。
 ゲーム中には一切使用しません。

シンボル画像(SymbolImage)

 シンボルとして使用するピクチャー画像です。
 未指定の場合は円形の点が描画されます。

点滅周期(BlinkPeriod)

 シンボルが点滅する周期です。
 1/60秒単位で設定してください。0で点滅なし

不透明度(Opacity)

 シンボルの不透明度(0~255)です。
 255を超えると点滅時の表示時間が伸びます。

シンボルの色(SymbolColor)

 ※シンボル画像が設定されていない場合のみ有効です。
 シンボル色です。
 例:rgb(255, 255, 255)
 数値は赤、緑、青に対応します。

シンボルの半径(SymbolRadius)

 ※シンボル画像が設定されていない場合のみ有効です。
 シンボルの半径です。

プラグインパラメータ(アイコン情報)


 地点情報の『アイコン(複数)』内に登録するパラメータです。

アイコン番号(IconIndex)

 地点名の横に表示するアイコンの番号です。
 右クリックで『アイコン番号の挿入』ができます。

文字色(NameColor)

 地点名の文字色を変更します。
 システムカラーの番号を指定してください。

表示スイッチ(DispSwitch)

 アイコンの表示条件となるスイッチです。
 空欄なら常に表示します。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 21:47 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

バトルイベント拡張【RPGツクールMZプラグイン】

2024年10月31日

 バトルイベントを補助し、拡張するプラグインです。
 当サイトのCTB・CTTBおよびデフォルトのターン制、タイムプログレスいずれでも使用できます。
 ※このプラグインはMZ版です。MV版はこちら!

できること


  • 敵の戦闘行動をバトルイベントによって詳細に制御する。

 以下の動画はバトルイベントによって、敵の行動制御をした例です。
 行動回数を自在に変えたり、味方の戦闘不能状況で行動を変えたり、時を止めたりとやりたい放題です。
※画面が小さい場合は右下の全画面表示をクリックしてください。

目次(index)


導入方法(install)

更新履歴(history)

説明(introduction)

プラグインコマンド(command)

スキル使用者設定(forceSubject)

スキル対象設定(絞込) (forceTargetFilter)

スキル対象設定(最大最小)(forceTargetMost)

対象検索→スイッチに格納(setConditionSwitch)

行動判定の無効化(superForce)

スキルのランダム実行(randomSkills)

プラグインパラメータ(parameter)

強制行動時のスキル使用判定(forceValid)

失敗時の行動(actionAtFailure)

スキル使用判定の影響軽減(forceValidFlexible)

aで行動主体を参照(aIsSubject)

コモンイベント時の終了処理を調整(adjustCommonEventActionEnd)

補足(repletion)


導入方法(install)


 以下のファイルを右クリックで保存し 、[プロジェクト]\js\plugins に放り込みます。ツクールMZのプラグイン管理から機能をONにしてください。

 NRP_BattleEventEXMZ.js ver1.09(2024/10/31)
 ※NRP_EnemyRoutineKaiと併用の際は、当プラグインを下に置いてください。

更新履歴


2024/10/31(ver1.09)

  • 『スキル使用者設定』をアクターに適用しても機能しない不具合修正。

2024/08/30(ver1.08)


2024/07/06(ver1.07)

  • 失敗時の行動を設定できるようにした。
    ※戦闘行動の強制が沈黙やMP不足で失敗した際に、通常攻撃に変更する機能です。

2023/08/27 -> 2024/06/03(ver1.06 -> 1.063)

  • 強制行動時のスキル使用判定がオンの場合でも、イベントコマンドによる実行以外には影響を与えないようにした。
    ※他プラグインで内部的に強制行動を行う場合に、影響を与えないための措置です。
  • ver1.06にて『スキル使用判定の影響軽減』がオン、かつスキル使用者設定が行われていた場合、使用判定が行われない不具合修正。
    (2023/12/30 ver1.061)
  • NRP_EnemyRoutineKai.jsと併用時、対象サイド変更が有効にならない競合に対応。(2024/01/19 ver1.062)
  • <NoStartAction>使用時、DynamicAnimationよりプラグインの登録順序が下だと演出が無効になるので順序を明確化。(2024/06/03 ver1.063)

2022/12/21 -> 2023/08/14(ver1.05 -> 1.052)

  • メッセージ表示時、コモンイベントを呼び出す際(<NoStartAction>)の不要なウェイトを削除。
    ※アニメーションがなしの場合が対象です。
  • NRP_ChainSkill.jsに対応して戦闘終了判定を修正。
    (2023/02/22 ver1.051)
  • ダメージタイプがなし、かつ使用効果がなしのスキルが意図せず『コモンイベント時の終了処理を調整』の対象になってしまう不具合修正。
    (2023/08/14 ver1.052)
  • NRP_ChargeSkill.jsとの競合に対処するため、当プラグインを先に登録するよう明記。(2023/08/14 ver1.052)

2021/07/19 -> 08/31(ver1.04 -> 1.041)

  • DynamicAnimationと組み合わせた場合、『条件外なら行動しない』が有効でもアニメーションを表示してしまう問題に対応。
  • 魔法反射プラグインかつダメージタイミングの調整プラグインと組み合わせた状態で『コモンイベント時の終了処理を調整』をオンにしていると、反射ダメージが重複して表示される不具合修正。(2021/08/31 ver1.041)

2021/05/14(ver1.03)

  • スキルからコモンイベントを呼んだ際、行動終了処理(ステートの解除など)が実際の行動前に行われてしまう問題に対処。
    それに伴い『コモンイベント時の終了処理を調整』のプラグインパラメータを追加。

2021/05/09(ver1.02)

  • 『スキル対象設定』の対象が存在しなかった場合に、ランダムで狙うよう修正。

2020/09/26 -> 10/19(ver1.01 -> 1.011)

  • 敵全滅時は戦闘行動の強制を実行しないよう修正。
  • 『条件外なら行動しない』をfalseにした場合もオンになってしまう不具合修正。※空白なら正常に動作。
  • 『条件外なら行動しない』をオンにして、かつ対象が存在しない状態で全体攻撃を行うとエラーとなる不具合修正。
  • ターン終了時のバトルイベントで行動を不発させた場合、次のターンで最速行動してしまう不具合修正。(10/19 ver1.011)

2020/09/21(ver1.00)

  • 公開開始!

説明(introduction)


 ツクールMZのバトルイベント(コモンイベント)は極めて強力です。特に『戦闘行動の強制』は非常に便利で、様々な用途があります。
 これは対象にスキルを使わせるというもの。理論上はこれで敵の行動を制御したり、複合技のような複雑なスキルを作成することも可能です。

 しかしながら、かゆいところに手が届かないのも事実。その素晴らしさがあまり知られていませんでした。
 以下、『戦闘行動の強制』が持つ問題点。

  • 行動異常やMP枯渇を常に無視してスキルを発動してしまう。
  • バトルイベントを起動するタイミングが限られる。敵が行動したタイミングでの制御ができない。
  • スキルからコモンイベントを呼び出せるが、不要な演出が入る。
  • 行動主体やスキルの対象を、変数指定など柔軟に選択できない。

 このプラグインはこれらの問題点に対応し、バトルイベントの真価を引き出すことを目的とします。

 逆に言えば、プラグイン自体が大きな機能を果たすわけではありません。
 あくまでユーザの工夫を助けるものとなります。

 とはいっても、ピンと来ない方が大半でしょう。
 実際にどのようにバトルイベントを使えばよいかを以下で解説していきます。


プラグインコマンド(command)


スキル使用者設定(forceSubject)

 『戦闘行動の強制』を行う行動主体を上書きします。
 エディタ上の表示より優先されます。

スキル対象設定(絞込) (forceTargetFilter)

 『戦闘行動の強制』の対象を指定条件で絞り込んだ上で上書きします。
 エディタ上の表示より優先されます。

スキル対象設定(最大最小)(forceTargetMost)

 『戦闘行動の強制』の対象を上書きします。
 比較によって最大、最小値を持つ対象を求めます。
 エディタ上の表示より優先されます。

対象検索→スイッチに格納(setConditionSwitch)

 条件を満たす対象がいるか検索し、結果をスイッチに格納します。

 ※なお、スキルの使用者が確定できない状況ではエラーになります。基本的には、スキルから呼び出したコモンイベント内で使用する想定です。

行動判定の無効化(superForce)

 true : パラメータの設定に関わらず『戦闘行動の強制』で強制行動を実行します。
 false: パラメータの設定に関わらず『戦闘行動の強制』で行動判定を実行します。

スキルのランダム実行(randomSkills)

 設定したスキルをランダムで選択し、戦闘行動の強制を実行します。
 使用条件を満たさないスキルは選択されません。

プラグインパラメータ(parameter)


強制行動時のスキル使用判定(forceValid)

 戦闘行動の強制時もスキルの有効判定を行うようになります。
 つまり、行動異常やMP枯渇時は行動を行わなくなります。
 初期値はtrue。MZの元の挙動はfalseです。

 trueにしている場合でも、イベントなどでスキルを強制実行したいという場合は『行動判定の無効化』のプラグインコマンドで切替可能です。

失敗時の行動(actionAtFailure)

 沈黙やMP不足などで強制行動に失敗した時の行動です。
 『通常攻撃』に設定すると、失敗した際も代わりに攻撃するようになります。

スキル使用判定の影響軽減(forceValidFlexible)

 強制行動時のスキル使用判定がオンの場合でも、イベントコマンドによる実行以外には影響を与えないようにします。

aで行動主体を参照(aIsSubject)

 バトルイベント上で常に『a』で行動主体を参照できるようにします。この値はスクリプトから参照可能です。
 ちなみに、プラグインコマンドについてはこの設定がなくとも『a』での参照は有効です。

コモンイベント時の終了処理を調整 (adjustCommonEventActionEnd)

 スキルの使用効果でコモンイベントを呼び出した際、行動終了処理のタイミングを調整します。

 オンにすると、コモンイベントの終了時に一度だけ行動終了処理を実行するようになります。
 これにより、解除のタイミングが『行動終了時』のステートが、コモンイベントを起動した直後に解除されてしまう問題に対処できます。
 
 対象となる条件はダメージタイプが『なし』かつ、使用効果がコモンイベントのみの場合です。何らかの設定がされていると機能しないのでご注意ください。
 
 なお、これらの制御はCTBでは不要です。
 ※NRP_CountTimeBattle.js内の制御で考慮済み。

 また、スキル毎に切り替えたい場合は以下をメモ欄に記入してください。
<AdjustCommonEventActionEnd:[true/false]>


補足(repletion)


 動画で確認できる以下の機能はトリアコンタン様のプラグインによるものです。

  • 戦闘不能の相手サイドを蘇生:ScopeExtend.js
  • 時間停止中のモーション停止:BattlerGraphicExtend.js

 このプラグインでやっているのは「ターン毎に行動回数を変更する」「相手のステートを確認して行動を変える」「時間停止をイベントコマンドで演出する」といった部分です。ご注意ください。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 13:16 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

敵キャラの『仲間を呼ぶ』を実装【RPGツクールMZ&MVプラグイン】

2024年10月27日

 敵キャラのスキルに『仲間を呼ぶ』機能を追加します。


主な特徴

  • 現れた敵キャラは自動で、空白のある場所に登場。
  • プラグインコマンド(MZのみ)を使えば、任意の座標に配置可能。
  • DynamicAnimation&Motionとの連携により、登場演出も作成可能。

 ※animatedSVEnemies.jsを適用したバトラーは呼び出せません。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

スキルのメモ欄(オプション)(Note of Skills)

敵キャラのメモ欄(オプション)(Note of Enemies)ver1.01

DynamicMotionによる演出の例(Sample of DynamicMotion)

MZ用プラグインコマンド(Plugin Command MZ)

プラグインパラメータ(Plugin Parameters)

敵キャラの最大数(MaxEnemyNo)

成功メッセージ(SuccessMessage)

失敗メッセージ(FailureMessage)

DynamicAppearと連携(LinkDynamicAppear)ver1.01

参考(Reference)


導入方法(install)


 以下のファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_CallEnemy.js ver1.051(2024/10/27)
 NRP_TroopRandomFormation.js ver1.081(2024/05/04)(解説

 ※敵キャラの配置方法はNRP_TroopRandomFormation.jsのプラグインパラメータに依存しますので、調整はそちらで行ってください。
 なお、NRP_TroopRandomFormation.jsを導入すると、グループ名が『#』から始まる敵グループが自動配置の対象となります。この機能を利用したくない場合はご注意ください。


 また、以下のプラグインと併用する場合は最新化をお願いします。競合上の問題が起こらないように、不具合を解消しております。


更新履歴(History)


2024/10/27(ver1.051)


2024/08/05(ver1.04)


2024/03/02 -> 2024/05/04(ver1.03)

  • 敵キャラの画像サイズをうまく計算できないことがある不具合を修正。
  • 連続かつ高速で仲間を呼ばれた際、配置座標が正しく計算できない問題に対処。(2024/05/04 NRP_TroopRandomFormation.js ver1.081)

2023/06/10(ver1.021)


2022/04/21(ver1.01 -> 1.011)

  • 影プラグインの浮遊処理と組み合わせた際、適切に配置できない問題に対処。
    ※影プラグイン側も最新化してください。
  • 敵キャラ毎にデフォルトの登場演出を設定可能に。
  • それに伴い、パラメータにDynamicAppearと連携を追加。
  • 登場演出を指定しなかった場合に、敵が表示されなくなる不具合修正。(ver1.011)
  • 上空から登場のサンプルにて登場前にチラ見えする不具合修正。(2022/04/21)

2022/03/04 -> 2022/03/10(ver1.00 -> 1.001)

  • 公開!
  • MVにて敵キャラのサイズが考慮されない不具合を修正。
    (2020/03/10 ver1.001)

使用方法(Usage)


 『仲間を呼ぶ』用のスキルを作成します。

 まず、スキルの範囲は『使用者』など、単体を対象とするものにしてください。
 範囲が『なし』だと機能しませんのでご注意を。


 次にスキルのメモ欄に以下を記入してください。
<CallEnemy: x>

 これでIDがx番の敵キャラを呼び出します。
 省略して<CallEnemy>とだけ記入すると、スキルの使用者と同一の敵キャラを呼び出します。スキル使用者側の敵に呼び出す対象を設定することも可能です。

 また、複数指定にも対応しています。
<CallEnemy: 1~3>

 ならば、IDが1〜3の敵キャラをランダムで呼び出します。
<CallEnemy: 1,3,5>

 ならば、IDが1,3,5の敵キャラをランダムで呼び出します。

 ちなみに連続回数を増やせば、一度に複数の仲間を呼びます。

スキルのメモ欄(オプション)(Note of Skills)


<CallEnemyDynamic: x>

 DynamicAnimation&Motionプラグインと連携し、x番のスキルに指定された演出で登場します。
 当然ながら、該当のプラグインを導入している必要があります。

<CallEnemyXY:[X座標], [Y座標]>

 指定された座標に敵を出現させます。
 例えば、以下は変数1をX座標、変数2をY座標として参照します。
 <CallEnemyXY:$gameVariables.value(1), $gameVariables.value(2)>

<CallEnemyCtbWt:[数値]>

 ※NRP_CountTimeBattle.jsとの連携用
 CTBにおける登場時の待ち時間を指定した値(100が標準)に変更します。
 例えば、<CallEnemyCtbWt:0>なら即時行動します。
 <CallEnemyCtbWt:50>ならば、1/2ターンで行動開始します。

敵キャラのメモ欄(オプション)(Note of Enemies)ver1.01


<DynamicAppear: x>

 DynamicAnimation&Motionプラグインと連携し、x番のスキルに指定された演出で登場します。

 スキルか敵キャラか、好きな指定方法を選んでください。
 両方の指定がある場合はスキル側が優先されます。

 なお、この設定はNRP_DynamicAppear.js(登場演出プラグイン)による登場演出と共有されます。

<CallEnemy: x>

 該当の敵キャラが仲間を呼んだ場合に呼び出される敵のIDです。
 仲間を呼ぶスキルにIDの指定がないことが条件です。
 複数指定も可能です。

DynamicMotionによる演出の例(Sample of DynamicMotion)


画面左から登場

 オーソドックスに左から登場します。


<D-Motion>
frame = 5 // 移動時間
sx = a._homeX -500 // 始点X座標(画面外左)
sy = a._homeY // 始点Y座標
ex = a._homeX // 終点X座標
ey = a._homeY // 終点Y座標
</D-Motion>

 『a』で呼び出された敵キャラ、『b』でスキルの使用者を参照できます。
 『a._homeX』『a._homeY』が配置地点となるので、最終的にそこへ移動するように実装してください。

上空から登場(2022/04/21更新)

 上空から登場します。飛行系の魔物などに最適です。


<D-Motion:soon>
airY = -500 // 空中Y座標
ex = a._homeX // 終点X座標
ey = a._homeY // 終点Y座標
</D-Motion>

<D-Motion>
frame = 8 // 移動時間
airY = 0 // 空中Y座標
</D-Motion>

 なお、敵キャラの影の表示については、影プラグインが必要です。

アニメーションと共に登場

 アニメーションと共に登場します。


// 目的地へ移動&透明化
<D-Motion:invisible&soon>
sx = a._homeX // 始点X座標
sy = a._homeY // 始点Y座標
</D-Motion>

// アニメーションを自身に表示
<D-Animation:self>
delay = 1
</D-Animation>

// 透明解除
<D-Motion:visible&wait>
sx = a._homeX
sy = a._homeY
frame = 7
</D-Motion>

 アニメーションの内容は自由に設定してください。
 ただし、EffekseerによるMZアニメはdelayを入れないと表示されないようです。MVアニメならdelayは不要です。

 ポイントは<D-Animation:self/>です。
 単にアニメーションを表示すると、スキルの使用者側に表示されてしまうことに注意してください。self型にすることで、モーションの実行者に表示されるようになります。

MZ用プラグインコマンド(Plugin Command MZ)


敵キャラを呼ぶ

 バトルイベント内で自由に敵キャラを呼び出します。
 スキルによる呼び出しとは異なり、座標を指定することも可能です。

プラグインパラメータ(Plugin Parameters)


敵キャラの最大数(MaxEnemyNo)

 同時に出現できる敵キャラの最大数です。
 それ以上呼び出そうとすると失敗します。

成功メッセージ(SuccessMessage)

 呼び出しに成功した際に表示する文章です。

失敗メッセージ(FailureMessage)

 呼び出しに失敗した際に表示する文章です。

DynamicAppearと連携(LinkDynamicAppear)ver1.01

 NRP_DynamicAppear.jsと連携し、登場演出を実行します。
 具体的には、NRP_DynamicAppear.jsのプラグインパラメータに設定した『敵キャラの開始演出』を取得し、仲間を呼ばれた際の登場演出の既定値とします。

参考(Reference)


 このプラグインの制作に当たって、以下のプラグインを参考にさせていただきました。

 EnemyCallsAlly.js(神無月サスケ様)
 https://forum.tkool.jp/index.php?threads/4795/

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 13:42 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする