スキルの結果計算を演出より先に実行【RPGツクールMZプラグイン】

2025年08月12日

 スキルの結果計算を演出より先に実行します。

 ツクールの従来の仕様では、アニメーションの表示→ダメージ計算という順序で処理をしていました。
 そのため、ダメージ計算(命中)の内容を演出に反映するような凝った処理は不可能でした。当プラグインはこの仕様を変更して、複雑なスキルの演出を実現可能とします。
 ※処理の流れを変えてしまうという性質上、当プラグインは競合もしやすいのでご注意ください。
 特に反撃、身代わりなどの動作を挿入するプラグインと相性が悪いです。NRP系プラグインについては動作確認済みですが、外部のプラグインについては保証できません。開発終盤などで十分なテスト時間を取れないなら採用を見送ったほうが無難だと思われます。


 具体的には以下のような処理が可能になります。

DynamicAnimation&Motionの成功分岐


 DynamicAnimation&Motionにて、スキルが成功した時と失敗した時によって演出を分岐させます。
 上記は攻撃が外れた場合にコケるようにした演出です。

対象がランダムな複数回攻撃の無駄打ちを停止


 範囲がランダムのスキルで対象を撃破できた場合は、対象を生存者へと修正します。これにより、敵を全滅させるまではランダム攻撃の無駄打ちをしないようになります。
 必要な場合は該当のパラメータをオンにしてください。
 

目次


導入方法(Install)

更新履歴(History)

使用方法(DynamicAnimation & Motion)

成功判定(Judgment of Success)

計算結果の取得(Obtaining Calculation Results)

撃破判定(Judgment of Dead)

スキル演出のサンプル(Dynamic Sample)

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

ランダム対象を修正(CorrectRandomTarget)

ステート無効は失敗(StateResistToFailure)


導入方法(install)


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

 NRP_CalcResultFirst.js ver1.05(2025/08/12)
 NRP_CalcResultFirstAfter.js ver1.00(2025/03/27)

 ※NRP_CalcResultFirst.jsはプラグイン一覧の上側に配置してください。
 ※NRP_CalcResultFirstAfter.jsはプラグイン一覧の下側に配置してください。


 以下のプラグインを併用する場合は最新化をお願いします。バージョンが古いと正常に動作しない箇所があります。


更新履歴(History)


2025/08/12(ver1.05)

  • プラグインの組み合わせによってHP再生(毒)が表示されないことがある競合へ対処した。

2025/03/27(ver1.04)

  • NRP_ChargeSkill.jsによる溜め攻撃の事前計算ができていない競合に対処。
  • 処理を大幅に見直し、プラグインを二つに分割した。これにより、身代わりなどの対象を操作するプラグインとの競合を大幅に抑えられます。
    ※また、それに伴いNRP_SkillEX.jsを更新しています。

2025/03/20(ver1.03)

  • 他プラグイン(NRP_CountTimeBattle.jsなど)によるステート系処理が重複してしまう競合対策のために調整した。

2025/03/19(ver1.02)

  • NRP_Substitute.jsなど他プラグインとの併用でエラーになる問題に対応するため、処理を大幅に見直した。

2025/03/16(ver1.01)

  • 撃破処理用の関数(b.isDeadReserved())を実装した。
  • 不要な変数(removedDebuffs)を参照していたため削除した。

2025/03/15(ver1.00)

  • 公開!

使用方法(DynamicAnimation & Motion)


成功判定(Judgment of Success)

 NRP_DynamicAnimationMZ.jsおよびNRP_DynamicMotionMZ.jsから、以下のスクリプトを呼び出すことで成功判定を使用できます。
BattleManager.isReservedSuccess(targetNo)


例:成功時のみアニメーションを実行

<D-Animation>
condition = BattleManager.isReservedSuccess(targetNo)
</D-Animation>

 ※1ヒットの単体スキルならtargetNoは省略可
 ちなみに『targetNo』は現在のアニメーションが何番目の攻撃かを指しています。
 数字を指定しても構いませんが、そのまま『targetNo』の文字列を指定しておけば、大抵は問題ないはずです。

計算結果の取得(Obtaining Calculation Results)

 以下のスクリプトでダメージ計算の結果を取得できます。
 中身はGame_ActionResult型のオブジェクトです。
BattleManager.reservedResult(targetNo)


例:ダメージ > 0 の場合のみアニメーションを実行

<D-Animation>
condition = BattleManager.reservedResult(targetNo).hpDamage > 0
</D-Animation>


撃破判定(Judgment of Dead)

 以下のスクリプトで対象が戦闘不能になったかどうかを判定できます。
b.isDeadReserved()


例:撃破時のみアニメーションを実行

<D-Animation>
condition = b.isDeadReserved()
</D-Animation>


スキル演出のサンプル(Dynamic Sample)



 DynamicAnimation&Motionを使用したサンプルについては、以下の記事をご覧ください。
 https://newrpg.seesaa.net/article/511771250.html

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


ランダム対象を修正(CorrectRandomTarget)

 範囲がランダムのスキルで対象を撃破できた場合は、対象を生存者へと修正します。

ステート無効は失敗(StateResistToFailure)

 ステートが無効な場合は失敗として扱い、成功判定しません。
 ツクールの仕様では、命中したステートが無効化された場合でも成功と判定されてしまいます。この仕様は不自然なので、失敗として扱われるように修正します。

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

DynamicMotionの帰還中に行動【RPGツクールMZ&MVプラグイン】

2025年08月09日

 DynamicMotionの帰還動作中にも次の行動を実行できるようにします。
 戦闘をとことんスピーディにしたい方にオススメです。


 なお、不自然な挙動を避けるため帰還中のバトラーがスキルの対象者および使用者になった場合は、帰還するまでウェイトを実行します。

 仕様上、NRP_DamageTiming.js(ダメージタイミングの調整)などと組み合わせて戦闘を高速化していないと効果が実感しづらいです。

 同様の理由でメッセージ表示との相性もよくありません。SimpleMsgSideViewMZ.js(公式ローンチプラグイン)との併用が無難だと思います。

目次


導入方法(Install)

更新履歴(History)

スキルのメモ欄

注意点

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

対象ならウェイト(WaitIfTarget)

使用者ならウェイト(WaitIfUser)

帰還中はモーション維持(KeepReturningMotion)

戦闘終了時はウェイト(WaitBattleEnd)

ターン終了時はウェイト(WaitTurnEnd)

再生表示を待つ(WaitRegeneration)ver1.02


導入方法(install)


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

 NRP_DynamicReturningAction.js ver1.05(2025/08/09)

 ※当然ながらDynamicMotionを使用できることが前提です。

 ※NRP_TroopRandomFormation.jsと併用する場合はあちらを最新(2024/06/20 ver1.082)に更新してください。『再生表示を待つ』が機能しない不具合があります。

更新履歴(History)


2025/08/09(ver1.05)

  • 不具合対策のため帰還時の判定をゆるめた。

2025/06/09(ver1.04 -> 1.041)

  • ver1.03の修正が不安定だったので、破棄して処理を見直した。
    ※行動したバトラーが毒(HP再生がマイナス)の時には帰還中の動作をせずウェイトするようにした。
  • 処理が安定するように調整。(ver1.041)

2025/06/07(ver1.03 -> 1.031)

  • 再生表示を待つがオンかつ毒ダメージで敵を倒した場合、毒ダメージの表示より先に撃破演出が実行されてしまう不具合修正。
  • 競合エラーの対処用に微調整。(ver1.031)

2024/03/14 -> 2025/03/22(ver1.02 -> 1.021)

  • 毒や再生効果によるダメージの表示タイミングを帰還後に表示するように調整。
  • DynamicMotionのairY(空中Y座標)が考慮されていない問題を修正。(2025/03/22 ver1.021)

2023/09/28(ver1.01 -> 1.011)

  • モーションの終了タイミングを適切に判断できていない不具合修正。
  • 実装に不備があったので再修正。(2023/09/28 ver1.011)

2023/05/08 -> 2023/07/17(ver1.00 -> 1.003)

  • 公開!
  • スキル発動時の前進を待たずに演出を開始してしまう不具合修正。(2023/06/08 ver1.001)
  • スキルで自分を攻撃した際、死亡モーション等が適切に反映されない不具合修正。(2023/06/28 ver1.002)
  • ver1.002の不具合が全滅時のみ発生してしまう不具合修正。
    (2023/07/17 ver1.003)

スキルのメモ欄


<ReturningWait>

 スキル実行中にバトラーの帰還を待つようになります。
 大技などを強調したい場合にどうぞ。

注意点


 挙動としては「全てのダメージ処理が終わっており、かつスキル使用者が帰還を開始するタイミング」で次のアクションに移ります。

 相手を吹き飛ばすような演出を含む場合、相手が元のポジションに戻ってから帰還動作をさせることを推奨します。さもないと、次のスキルで移動中の相手の座標に向かっていくような不自然な演出になる可能性があります。
 そういったスキルの場合は上記の<ReturningWait>を指定する方法もあります。

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


対象ならウェイト(WaitIfTarget)

 帰還中のバトラーがスキルの対象となった際、ウェイトを実行します。

使用者ならウェイト(WaitIfUser)

 帰還中のバトラーがスキルの使用者となった際、ウェイトを実行します。

帰還中はモーション維持(KeepReturningMotion)

 帰還中はモーションを維持し、コマンド入力時のモーションを無効化します。

戦闘終了時はウェイト(WaitBattleEnd)

 戦闘終了時にバトラーの帰還を待ちます。

ターン終了時はウェイト(WaitTurnEnd)

 ターン終了時にバトラーの帰還を待ちます。

再生表示を待つ(WaitRegeneration)ver1.02

 HP再生や毒などの表示を帰還後に表示するように調整します。
 帰還中に再生ダメージが表示されると表示が分かりづらいので、そのための調整です。

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

音声ファイルの管理を行う【RPGツクールMZ&MVプラグイン】

2025年08月08日

 音声ファイルの管理を行います。

現在のBGM設定を変更(MZ用プラグインコマンド)

 現在演奏中のBGMの音量やピッチ、位相をプラグインコマンドによって変更できます。

 ツクールのコマンドと異なりファイル名を指定する必要がないため、自由度のある操作が可能になります。
 例えば、大技の発動時にBGMの音量を下げるなどの演出が可能です。

 また、ピッチ変更時も現在の演奏位置が維持されます。

音声置換機能

 例えば、ツクールでボス戦曲を設定する場合、『戦闘BGMの変更』コマンドによってボス戦曲を設定し、戦闘後に通常戦闘曲に戻すというような操作を行うかと思います。


 問題はその後、ボス戦曲や通常戦闘曲を変更したくなった場合です。
 全てのボス戦イベントに対して変更を行う必要があります。

 このプラグインではあらかじめダミーのファイルを設定しておけば、その曲を設定したファイルへ置換して演奏することが可能です。
 いちいち全てのイベントを変更する必要がなくなります。

 また、「ゲーム後半は通常戦闘曲を変更したい」という場合は、スイッチによって分岐させることもできます。

音声調整機能

 例えば、素材として取り込んだoggファイルを演奏する場合、他の素材と音量の釣り合いが取れてないことが時々あります。
 演奏時にいちいち音量を調整する方法もありますが、後で変更したくなった場合が大変です。


 そんな時にこのプラグインで音量を設定してしまえば、演奏毎に設定する必要がなくなります。
 特に通常は不可能な100以上の音量も設定可能です。

 また、BGMやBGSの開始時点を変更できます。
 先頭に長めの空白が含まれているoggの開始時点を後ろにすれば、不自然な空白をなくすことができます。

 ※音声置換機能と併用する場合は、置換後のファイルに対して設定してください。

目次


導入方法(Install)

更新履歴(History)

プラグインコマンド(Plugin Commands)

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

BGM設定(BgmSettings)

BGM置換設定(BgmAliases)

BGS設定(BgsSettings)

BGS置換設定(BgsAliases)

ME設定(MeSettings)

ME置換設定(MeAliases)

SE設定(SeSettings)

SE置換設定(SeAliases)

自動演奏禁止スイッチ(DisabledAutoplaySwitch)

音声調整用プラグインパラメータ(Plugin Parameter Audio)

ファイル名(Name)

音量(Volume)

ピッチ(Pitch)

位相(Pan)

開始位置(Pos)

音声置換用プラグインパラメータ(Plugin Parameter Alias)

置換元のファイル名(FromFileName)

置換先のファイル名(ToFileName)

スイッチ(Switch)


導入方法(install)


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

 NRP_AudioManager.js ver1.061(2025/08/08)

ダミーファイル

 _Test.ogg

 ファイル置換機能用に作成した空のoggです。右クリックで保存してaudio以下のフォルダに放り込んでください。
 戦闘曲なら@Battle.oggというように、分かりやすい名前にすると吉です。

更新履歴(History)


2025/08/08(ver1.06 -> 1.061)

  • 現在のBGS設定を変更する機能(MZ)を追加した。
  • 現在のBGM(BGS)設定を変更した場合にBGM(BGS)の設定が保存されない不具合修正。(ver1.061)
    ※BGMの再開時やセーブファイルのロード時に影響。

2024/10/08 -> 2024/12/04(ver1.05 -> 1.051)

  • マップ切替時および乗物乗降時の自動演奏を停止するスイッチを追加した。
  • 自動演奏禁止スイッチがオンの場合、乗り物から降りた際、BGMを変更しないように修正。(2024/12/04 ver1.051)

2024/02/17 -> 2024/10/02(ver1.04 -> 1.043)

  • FootstepSoundなど外部プラグインとの競合対策用に調整。
  • BGMが停止した状態で『現在のBGM設定を変更』のプラグインコマンドを使うとエラーになる不具合修正。(2024/06/05 ver1.041)
  • 『現在のBGM設定を変更』を使用した際に演奏位置が変化してしまうことがある不具合に対処。(2024/09/02 ver1.042)
    ※ただし、ピッチ変更時については対処できていません。どうも演奏時間の長い曲で起きやすいようですが、よく分かりません……。
  • ver1.042の修正について、ピッチの入力がある場合、値に変化がなくてもピッチ変更時として処理されてしまう不具合を修正。(2024/10/02 ver1.043)

2024/01/08(ver1.03)

  • 置換先のファイルが空欄の場合、エラーにならないように変更した。
    BGM、BGSは演奏停止、SE、MEは演奏無視します。

2023/10/17(ver1.02)

  • 演奏中のBGMの音量、ピッチ、位相を変更するプラグインコマンド(MZ用)を追加。

2021/11/17(ver1.01)

  • 演奏中の曲と戦闘曲を同一にした場合、音楽が継続して演奏されない不具合を修正。

2021/10/22(ver1.00)

  • 公開!

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


現在のBGM設定を変更(ChangeCurrentBgmSetting)

 現在演奏中のBGMの音量やピッチ、位相を変更します。

現在のBGS設定を変更(ChangeCurrentBgsSetting)

 現在演奏中のBGSの音量やピッチ、位相を変更します。
 ※なお、ParallelBgs.jsとの併用には対応していないのでご注意ください。

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


BGM設定(BgmSettings)

 BGMファイル毎に音量などの設定を行います。

BGM置換設定(BgmAliases)

 BGMファイルを置換して演奏します。
 上の設定ほど優先されます。

BGS設定(BgsSettings)

 BGSファイル毎に音量などの設定を行います。

BGS置換設定(BgsAliases)

 BGSファイルを置換して演奏します。
 上の設定ほど優先されます。

ME設定(MeSettings)

 MEファイル毎に音量などの設定を行います。

ME置換設定(MeAliases)

 MEファイルを置換して演奏します。
 上の設定ほど優先されます。

SE設定(SeSettings)

 SEファイル毎に音量などの設定を行います。

SE置換設定(SeAliases)

 SEファイルを置換して演奏します。
 上の設定ほど優先されます。

自動演奏禁止スイッチ(DisabledAutoplaySwitch)

 スイッチがオンの間、マップ切替や乗物の自動演奏を無効化します。
 場所移動を伴う演出時に、現在演奏中のBGMを継続させるための機能です。

音声設定用プラグインパラメータ(Plugin Parameter Audio)


 項目はBGM、BGS、ME、SEで共通ですが、開始位置のみ例外です。

ファイル名(Name)

 音声のファイル名です。

音量(Volume)

 音声の音量です。
 100を基準に設定してください。

ピッチ(Pitch)

 音声のピッチです。
 100を基準に設定してください。

位相(Pan)

 音声の位相です。
 0を基準に設定してください。

開始位置(Pos)

 音声の開始位置(秒)です。
 ※この項目のみBGMおよびBGSにしか存在しません。

音声置換用プラグインパラメータ(Plugin Parameter Alias)


 項目はBGM、BGS、ME、SEで共通です。

置換元のファイル名(FromFileName)

 置換元のファイル名です。

置換先のファイル名(ToFileName)

 置換先のファイル名です。

スイッチ(Switch)

 置換設定を有効にするスイッチです。

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