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

2025年03月22日

 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.021(2025/03/22)

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

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

更新履歴(History)


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 08:51 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

文章の表示時に立ち絵を表示【RPGツクールMZプラグイン】

2025年03月21日

 文章の表示時に立ち絵となるピクチャを表示します。
 名前欄の文字列を参照し、自動で表示することが可能です。


 また、差分なども想定した作りになっています。
 衣装や表情などの差分だけを差し替えることも可能です。

 ピクチャの複数表示やアニメーションといった既存のプラグインに匹敵するような高度な機能はありません。
 あくまで顔グラの延長として立ち絵を表示するようなシンプルなものを目指しています。


 あまり他にない機能としては、メッセージウィンドウの上にピクチャを表示する機能があります。この際、文章だけをピクチャの上に表示することも可能です。
 文章に影をつけるプラグインと組み合わせれば、多少は見やすく調整できます。


 ver1.08より、ピクチャの端をフェードアウトする機能を追加しました。翼などのデザインで文字や画面が隠れてしまうのを避けたい場合は便利です。

目次


導入方法(Install)

更新履歴(History)

名前欄で自動認識(Name Box)

登録IDで指定(Resist ID)

ピクチャを表示しない(No Picture)

差分の表示(Difference)

付属ピクチャの表示(Attached Pictures)

ピクチャをメッセージウィンドウの上に表示

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

ピクチャリスト(PictureList)

差分を事前読込(DifferencePreload)

ピクチャ番号(PictureId)

原点(Origin)

X座標(X)

Y座標(Y)

拡大率(幅)(ScaleX)

拡大率(縦)(ScaleY)

不透明度(Opacity)

合成方法(BlendMode)

フェードイン時間(FadeInDuration)

ウィンドウより上に表示(ShowAboveWindow)

文章の横幅制限(LimitMessageWidth)

文章より下に表示(ShowBelowMessages)

文章のX座標調整(AdjustMessageX)

文章のY座標調整(AdjustMessageY)

ピクチャ用制御文字(ControlCharacterPicture)

差分用制御文字(ControlCharacterDifference)

ピクチャ無効スイッチ(DisableSwitch)


プラグインパラメータ:ピクチャ(Plugin Parameter Picture)

対象文字列(TargetString)

登録ID(ResistId)

ピクチャ(Picture)

付属ピクチャ(AttachedPictures)

スイッチ(Switch)

差分リスト(DifferenceList)

原点(Origin)

X座標調整(AdjustX)

Y座標調整(AdjustY)

拡大率(幅)(ScaleX)

拡大率(縦)(ScaleY)

不透明度(Opacity)

合成方法(BlendMode)

端をフェードアウト(UseEdgeFadeout)

フェード開始X座標(FadeStartX)

フェードする強さ(FadeGradient)


プラグインパラメータ:差分(Plugin Parameter Difference)

差分ID(DiffId)

ピクチャ(Picture)

付属ピクチャ(AttachedPictures)

スイッチ(Switch)

原点(Origin)

X座標調整(AdjustX)

Y座標調整(AdjustY)

拡大率(幅)(ScaleX)

拡大率(縦)(ScaleY)

不透明度(Opacity)

合成方法(BlendMode)


導入方法(install)


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

 NRP_MessagePicture.js ver1.09(2025/03/21)

更新履歴(History)


2025/03/21(ver1.09)


2024/05/12 -> 2024/11/10(ver1.08 -> 1.081)

  • 差分ピクチャと本体ピクチャを一つの画像として統合表示するように修正。
    ※フェードインを含む半透明時の見え方が自然になります。
  • 端をフェードアウト(透明化)する機能を追加。
  • 『端をフェードアウト』をオフにしても処理が実行されてしまう不具合修正。(2024/11/10 ver1.081)

2023/03/18 -> 2023/07/31(ver1.07 -> 1.071)

  • 登録IDで指定した場合、差分表示がうまく機能しない不具合修正。
  • 『ウィンドウより上に表示』がオンの場合、かつMNKR_DP_MapZoomMZ.jsでズーム時に立ち絵の位置とサイズがズレる競合に対処。
    (2023/07/31 ver1.071)
    ※当プラグインを下側に配置してください。

2023/01/16 -> 2023/02/26(ver1.06 -> 1.061)

  • 『文章より下に表示』がオン、かつ外部プラグインによって戦闘やマップ以外からメッセージを呼び出した場合、文字の位置がズレる不具合を修正。
    ※主に自動回復プラグインとの競合対策です。
  • ピクチャの指定が空欄でも『文章の横幅制限』が機能してしまう不具合修正。
    (2023/02/26 ver1.061)

2022/11/25(ver1.05)


2022/10/18 -> 2022/10/26(ver1.04 -> 1.043)

  • キャラ変更時、付属ピクチャが消えない不具合修正。
  • 差分変更時に標準の画像が一瞬表示されてしまう不具合修正。
  • 『ウィンドウより上に表示』がオンの場合、CTBプラグインなどと組み合わせた場合も各ウィンドウよりに上に表示されるように修正。
    (2022/10/21 ver1.041)
  • ver1.041にて『ウィンドウより上に表示』がオンの場合、『文章より下に表示』が機能しなくなる不具合修正。(2022/10/22 ver1.042)
  • メッセージログ系プラグイン使用時に立ち絵が正しく表示されない不具合修正。(2022/10/26 ver1.043)

2022/10/03(ver1.03 -> 1.031)

  • 付属ピクチャ機能およびスイッチ機能を実装。
    衣装や表情などの差分だけを変更することが可能です。
  • 差分表示した付属ピクチャが消去されない不具合修正。(ver1.031)

2022/08/27(ver1.02)


2022/08/24(ver1.01)

  • 拡大率などの値を変更した場合、一瞬変更前の設定でピクチャが表示されてしまう不具合修正。

2022/06/29(ver1.00)

  • 公開!

名前欄で自動認識(Name Box)


 『ピクチャリスト』の『対象文字列』に条件とする名前を設定し、ピクチャを紐づけてください。

対象文字列の例

リード、\n[1]

 ※制御文字や制御文字を変換した名前も有効です。

 これだけでOKです。
 文章の表示時に指定したピクチャが表示されるようになります。

 なお、ピクチャを表示する座標などはプラグインパラメータで設定できます。
 ピクチャ毎に調整することも可能です。

登録IDで指定(Resist ID)


 名前で識別できない場合はIDで指定することもできます。
 (例えば、名前が判明していない初登場のキャラクターなど。)

 まずピクチャリストに『登録ID』を指定してください。
 形式は数値でも文字列でも構いません。

 後は名前欄の制御文字で登録IDを指定すればOKです。
 登録IDがAならば以下のようになります。
\MP[A]

 ※制御文字(MP)の部分は変更できます。
 ※大文字小文字は問いません。\mp[A]も有効です。


 名前を表示する場合も、以下のように表示名の前後に付ければOKです。
謎の少年\MP[A]


ピクチャを表示しない(No Picture)


 ピクチャを自動表示したくない場合は、以下のように0を指定すれば非表示になります。
リード\MP[0]


 また『ピクチャ無効スイッチ』をオンにすれば、ずっと非表示にできます。

差分の表示(Difference)


 『ピクチャリスト』内の『差分リスト』を開き、『差分ID』と差分用のピクチャを紐づけてください。

 対象文字列がリードで差分IDが『sad』とすると、名前欄を以下のようにすれば差分が表示されます。
リード\MPD[sad]

 また、\MPD[]に関しては本文内でも有効です。
 文章内で何度も表情を変えたい場合などに使えます。

付属ピクチャの表示(Attached Pictures)


 付属ピクチャを指定すれば、ベースとなるピクチャの上にさらにピクチャを重ねられます。
 例えば、スイッチと組み合わせれば、状況によって会話時のキャラクターの衣装を変更できます。

 付属ピクチャは『ピクチャリスト』『差分リスト』のいずれにも設定できます。
 特に『差分リスト』の場合は、ベースとなるピクチャを空欄にすれば、付属ピクチャのみを変更できます。

ピクチャをメッセージウィンドウの上に表示


 通常、ピクチャはメッセージウィンドウより上に表示することはできませんが、ウィンドウより上に表示をオンにすれば可能になります。


 さらに文章より下に表示をオンにすれば、文章だけをピクチャの上に表示することもできるようになります。

PicturePriorityCustomize.jsとの連携

 ※ver1.02より不要となりましたが、説明を残しておきます。

 上記のメッセージウィンドウより上に表示する機能はPicturePriorityCustomize.js(トリアコンタン様)の機能を用いても可能です。

 PicturePriorityCustomize.jsの『上層ピクチャ番号』の設定に合わせて、ピクチャ番号を設定すればOKです。
 なお、この設定は互いのプラグインの初期値で機能するため、逆に意図せずウィンドウの上に表示されないように注意してください。

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


ピクチャリスト(PictureList)

 立ち絵の表示を行うピクチャの一覧です。
 詳細は『プラグインパラメータ:ピクチャ』をご覧ください。

差分を事前読込(DifferencePreload)

 立ち絵のピクチャ表示時に他の差分ピクチャも事前読込します。
 これにより、立ち絵の表情を変化させた際のチラツキを抑えます。

ピクチャ番号(PictureId)

 立ち絵のピクチャに使用する番号です。
 付属ピクチャもこれに続く連番で自動的に使用されます。

 なお、初期値の101は通常使用できない番号になっています。
 ※MZ ver1.9.0からピクチャの枚数上限が変更できるようになりました。変更した場合は、通常のピクチャと意図せず重ならないように注意してください。

原点(Origin)

 ピクチャを表示する原点です。

X座標(X)

 ピクチャを表示するX座標です。

Y座標(Y)

 ピクチャを表示するY座標です。

拡大率(幅)(ScaleX)

 横方向の拡大率です。
 100を基準に設定してください。

拡大率(縦)(ScaleY)

 縦方向の拡大率です。
 100を基準に設定してください。

不透明度(Opacity)

 ピクチャの不透明度です。
 255で完全な不透明になります。

合成方法(BlendMode)

 ピクチャを描画する合成方法です。

フェードイン時間(FadeInDuration)

 ピクチャのフェードイン時間です。
 60が一秒に相当します。

ウィンドウより上に表示(ShowAboveWindow)

 ピクチャをメッセージウィンドウより上に表示します。

 ※なお、この項目をオンにした場合は通常のピクチャとは別管理になるため『ピクチャ番号』の設定は無効になります。

文章の横幅制限(LimitMessageWidth)

 『ウィンドウより上に表示』がオンの場合かつピクチャ表示時、文章の横幅を指定した値に制限します。
 文字は自動的に縮小されます。



文章より下に表示(ShowBelowMessages)

 『ウィンドウより上に表示』がオンの場合に、ピクチャを文章より下に表示します。
 ※内部的な表示方法を大きく変更しますので、やや競合を起こしやすいことに注意してください。

文章のX座標調整(AdjustMessageX)

文章のY座標調整(AdjustMessageY)

 『文章より下に表示』がオンの場合に、文章のX座標およびY座標を調整します。
 該当項目がオンの場合、文字の表示位置がズレることがあるのでここで調整してください。

ピクチャ用制御文字(ControlCharacterPicture)

 ピクチャ表示用の制御文字です。
 デフォルトでは、以下のように使います。
\MP[登録ID]

差分用制御文字(ControlCharacterDifference)

 ピクチャの差分表示用の制御文字です。
 デフォルトでは、以下のように使います。
\MPD[差分ID]

ピクチャ無効スイッチ(DisableSwitch)

 ピクチャの表示を無効化するスイッチです。

プラグインパラメータ:ピクチャ(Plugin Parameter Picture)


対象文字列(TargetString)

 対象とする文字列です。
 これが名前欄に部分一致する場合に画像を表示します。

登録ID(ResistId)

 ピクチャを手動で呼び出す場合のIDです。
 以下のようにして呼び出します。
\MP[登録ID]

ピクチャ(Picture)

 表示のベースとなるピクチャです。

付属ピクチャ(AttachedPictures)

 ピクチャの上にさらに重ねて表示されるピクチャです。
 衣装や表情などの差分に便利です。

スイッチ(Switch)

 表示を有効にするスイッチです。
 条件を満たした中で最も上の設定が表示されます。

差分リスト(DifferenceList)

 立ち絵の差分の一覧です。

原点(Origin)

 ピクチャを表示する原点です。

X座標調整(AdjustX)

 X座標の調整値です。

Y座標調整(AdjustY)

 Y座標の調整値です。

拡大率(幅)(ScaleX)

 横方向の拡大率です。
 100を基準に設定してください。

拡大率(縦)(ScaleY)

 縦方向の拡大率です。
 100を基準に設定してください。

不透明度(Opacity)

 ピクチャの不透明度です。
 255で完全な不透明になります。

合成方法(BlendMode)

 ピクチャを描画する合成方法です。

端をフェードアウト(UseEdgeFadeout)

 ピクチャの端を左右いずれかへとフェードアウトします。



フェード開始X座標(FadeStartX)

 フェードアウトを開始するX座標です。
 0が画像の左端となります。

フェードする強さ(FadeGradient)

 1ピクセル当たりで変化する不透明度です。
 正なら左、負なら右に向かってフェードアウトします。

プラグインパラメータ:差分(Plugin Parameter Difference)


差分ID(DiffId)

 差分用の対象とするIDです。
 以下のように名前欄の末尾に追加して呼び出します。
リード\MPD[差分ID]

ピクチャ(Picture)

 表示のベースとなるピクチャです。

付属ピクチャ(AttachedPictures)

 ピクチャの上にさらに重ねて表示されるピクチャです。
 衣装や表情などの差分に便利です。

スイッチ(Switch)

 表示を有効にするスイッチです。
 条件を満たした中で最も上の設定が表示されます。

原点(Origin)

 ピクチャを表示する原点です。

X座標調整(AdjustX)

 X座標の調整値です。

Y座標調整(AdjustY)

 Y座標の調整値です。

拡大率(幅)(ScaleX)

 横方向の拡大率です。
 100を基準に設定してください。

拡大率(縦)(ScaleY)

 縦方向の拡大率です。
 100を基準に設定してください。

不透明度(Opacity)

 ピクチャの不透明度です。
 255で完全な不透明になります。

合成方法(BlendMode)

 ピクチャを描画する合成方法です。

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

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

2025年03月20日

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

 ツクールの従来の仕様では、アニメーションの表示→ダメージ計算という順序で処理をしていました。
 そのため、ダメージ計算(命中)の内容を演出に反映するような凝った処理は不可能でした。当プラグインはこの仕様を変更して、複雑なスキルの演出を実現可能とします。
 ※処理の流れを変えてしまうという性質上、当プラグインは競合もしやすいのでご注意ください。
 特に反撃、身代わりなどの動作を挿入するプラグインと相性が悪いです。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)


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

 NRP_CalcResultFirst.js ver1.03(2025/03/20)

 ※このプラグインはなるべくプラグイン一覧の上側に配置してください。

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


更新履歴(History)


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 19:47 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする