コモンイベントの並列処理を戦闘中も有効に【RPGツクールMZ&MVプラグイン】

2020年12月28日

 コモンイベントの並列処理を戦闘中も有効にします。

 プラグインパラメータに、対象とするコモンイベントを登録します。その状態で設定したスイッチがオンになっていれば、並列実行されます。
 逆に登録したコモンイベントをマップ上で無効にすることも可能です。これにより、戦闘中だけ有効なコモンイベントを作成できます。



目次


導入方法(install)

更新履歴(history)

プラグインパラメータ

登録コモンイベント(commonEventsWhiteList)

マップ上で無効化 (invalidOnMap)

全てを有効化(validAllCommon)

変化を常に監視(alwaysMonitorChange) ver1.02

参考情報(reference)


導入方法(install)


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

 NRP_BattleParallelCommon.js ver1.021(2021/04/29)

更新履歴(history)


2020/12/28 -> 2021/04/29(ver1.02 -> 1.021)

  • 外部プラグインで変数やスイッチを操作した際にも、動作するように対応。
    (FTKR_ExVariablesChangeなどを想定)
    ※変化を常に監視をオンにする必要があります。
  • 登録コモンイベントが未設定(初期値の空配列はOK)だとエラーになる不具合修正。(2021/04/29 ver1.021)

2020/10/20(ver1.01)

  • 『マップ上で無効化』をオンにした場合でも、マップ上で処理が実行される不具合修正。

2020/10/04(ver1.00)

  • 公開!

プラグインパラメータ


登録コモンイベント(commonEventsWhiteList)

 戦闘で有効とする並列コモンイベントを登録します。

マップ上で無効化 (invalidOnMap)

 登録したコモンイベントの並列処理をマップ上で無効化します。これにより、戦闘中だけ有効なコモンイベントを作成できます。

全てを有効化(validAllCommon)

 全コモンイベントの並列処理を戦闘で有効化します。
 上記の登録コモンイベントは無意味となります。

 影響が大きいのでご利用は慎重に。

変化を常に監視(alwaysMonitorChange) ver1.02

 戦闘中、変数やスイッチの変化を常に監視します。
 外部プラグインによる変数操作などにも対応できるようになります。
 (FTKR_ExVariablesChangeなどを想定)

 ※オフでも、イベントコマンドで変数やスイッチを操作した場合は機能します。
 ※あらゆる外部プラグインに対して、機能を保証するものではありません。


参考情報(reference)


 戦闘中かどうかを判定するスクリプトは以下になります。
$gameParty.inBattle()

 『マップ上で無効化』をオフにして利用する場合もこれを条件分岐に使えます。

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

ダメージ演出(会心・弱点など)を変更【RPGツクールMZ&MVプラグイン】

2020年12月22日

 ダメージ処理の演出を変更します。


 できること。

  • クリティカルや弱点を突いた際の演出を変更。
    ※実際にはアニメーションを使って演出します。
  • 敵味方の点滅演出の有効・無効化。
    通常は点滅しないアクターも点滅させられます。
  • ダメージポップアップの表示位置を調整。

 ※ver1.02より、耐性時の演出を追加しました。
  初期状態では耐性演出1は半減、耐性演出2は無効を想定しています。


目次(index)


導入方法(install)

更新履歴(history)

プラグインパラメータ(点滅演出)

敵を点滅(enemyBlink)

アクターを点滅(actorBlink)

点滅時間(blinkDuration)


プラグインパラメータ(クリティカル演出)

クリティカル時のアニメ(criticalAnimation)

クリティカル時の点滅オフ(criticalBlinkOff)


プラグインパラメータ(弱点演出)

弱点時のアニメ(weakAnimation)

弱点時の点滅オフ(weakBlinkOff)

弱点演出を行う条件(weakCondition)


プラグインパラメータ(耐性演出1)

耐性時のアニメ1(resistAnimation1)

耐性時の点滅オフ1(resistBlinkOff1)

耐性演出を行う条件1(resistCondition1)


プラグインパラメータ(耐性演出2)

耐性時のアニメ2(resistAnimation2)

耐性時の点滅オフ2(resistBlinkOff2)

耐性演出を行う条件2(resistCondition2)


プラグインパラメータ(クリティカル/弱点共通)

クリティカル弱点優先度(effectPriority)


プラグインパラメータ(ダメージ表示位置)

敵のダメージX調整(enemyDamageOffsetX)

敵のダメージY調整(enemyDamageOffsetY)

アクターのダメージX調整(actorDamageOffsetX)

アクターのダメージY調整(actorDamageOffsetY)


導入方法(install)


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

 NRP_DamageEffect.js ver1.02(2020/12/22)

 ※[MV版]DynamicAnimationと併用する場合は、あちらをver1.11〜に更新してください。さもないと、アニメーションによる演出が適切なタイミングで表示されません。

更新履歴(history)


2020/12/22(ver1.02)

  • 耐性時も演出を変更できるように『耐性演出1』『耐性演出2』の項目を追加。

2020/09/11 -> 11/29(ver1.01 -> 1.011)

  • ツクールMZに対応。
  • アニメーションが0番だとエラーになる不具合修正。(11/29 ver1.011)

2020/06/13(ver1.00)

  • 公開開始!



 ダメージ時に敵を点滅させます。
 初期値はtrueです。

 falseにすると点滅しなくなります。FF派の人はどうぞ。


 ダメージ時にアクターを点滅させます。
 初期値はfalseです。

 trueにすると、通常は点滅しないアクターが点滅するようになります。

点滅時間(blinkDuration)

 点滅時間です。初期値は20です。

プラグインパラメータ(クリティカル演出)


クリティカル時のアニメ(criticalAnimation)

 クリティカル時、対象に再生するアニメーションです。


 基本的には、フラッシュや効果音によって演出を行う想定です。この際、通常のダメージ音は再生されなくなります。
 
 プラグイン画面ではアニメーションを選択する仕様になっていますが、テキストタブから数式も入力可能です。
 例えば、以下の式は「対象が敵ならアニメーション1、アクターなら2を再生」するものです。
target.isEnemy() ? 1 : 2

 ※ツクールMZの場合、画面のフラッシュ機能が使えませんが、MVのアニメを再生することで使用できます。
 ただし、公式のAnimationMv.jsあるいはNRP_DynamicAnimationMV2MZ.jsが必要です。データ未設定のアニメならば、同IDのMVアニメが再生されます。


クリティカル時の点滅オフ(criticalBlinkOff)

 クリティカル時、対象を点滅させません。
 アニメーションのみに演出を任せたい場合にどうぞ。

 エディタ上の『対象消去』と組み合わせれば、独自の点滅動作を実装することも可能です。

プラグインパラメータ(弱点演出)


弱点時のアニメ(weakAnimation)

 弱点を突いた際、対象に再生するアニメーションです。
 仕様はクリティカル時と同様です。

弱点時の点滅オフ(weakBlinkOff)

 弱点を突いた際、対象を点滅させません。
 仕様はクリティカル時と同様です。

弱点演出を行う条件(weakCondition)

 弱点を突いたと見なし、演出を行う条件です。
 初期値は有効度150%以上が条件です。

 以下の数式が入っているので、条件を変更したい場合は150の部分を好きな値に変更してください。
150 <= action.calcElementRate(target) * 100


プラグインパラメータ(耐性演出1)


 初期状態ではダメージ半減以下を想定しています。
 耐性演出2との区別は自由に変更可能です。

耐性時のアニメ1(resistAnimation1)

 耐性時、対象に再生するアニメーションです。
 仕様は弱点時と同様です。

耐性時の点滅オフ1(resistBlinkOff1)

 耐性時、対象を点滅させません。
 仕様は弱点時と同様です。

耐性演出を行う条件1(resistCondition1)

 耐性があると見なし、演出を行う条件です。
 初期値は有効度50%以下が条件です。

プラグインパラメータ(耐性演出2)


 初期状態ではダメージ無効(有効度0%以下)を想定しています。

耐性時のアニメ2(resistAnimation2)

 耐性時、対象に再生するアニメーションです。
 仕様は弱点時と同様です。

耐性時の点滅オフ2(resistBlinkOff2)

 耐性時、対象を点滅させません。
 仕様は弱点時と同様です。

耐性演出を行う条件2(resistCondition2)

 耐性があると見なし、演出を行う条件です。
 初期値は有効度0%以下が条件です。

 耐性演出1と条件が重複している場合は、耐性演出2が優先されます。耐性演出2のほうが、より強い耐性であることを想定しているためです。

プラグインパラメータ(クリティカル/弱点共通)


クリティカル弱点優先度(effectPriority)

 クリティカル/弱点演出の優先度です。
 同時に発生した場合に、どちらの演出を優先するか決めてください。

 初期値はクリティカル優先です。
 両方再生することも可能です。

プラグインパラメータ(ダメージ表示位置)


 敵/アクターのダメージポップアップの位置をそれぞれ調整します。

 一応、数式も有効です。
 例えば、『敵のダメージY調整』に以下を設定すると敵の縦中央にダメージが表示されます。16は数値自身の幅を調整するためのものです。
-this.height/2 + 16


敵のダメージX調整(enemyDamageOffsetX)

 初期値は0です。

敵のダメージY調整(enemyDamageOffsetY)

 初期値は-8です。

アクターのダメージX調整(actorDamageOffsetX)

 初期値は-32です。
 なぜか、アクターのダメージが左寄りに表示されるのはこの値のためです。
 気になる方は、0にすると中央になるのでオススメ。

アクターのダメージY調整(actorDamageOffsetY)

 初期値は0です。

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

FFの竜騎士っぽいジャンプ技を作る【RPGツクールMZ&MV】

2020年12月15日

 FFシリーズの竜騎士などでおなじみのジャンプ技を、ツクールMZおよびMVで実現する方法を紹介します。
 CTBでもターン制でもどちらでも有効です。


 実装には以下2つのプラグインを使用します。

ため技を作成

 http://newrpg.seesaa.net/article/474413155.html

DynamicMotion

 [MZ]http://newrpg.seesaa.net/article/477190386.html
 [MV]http://newrpg.seesaa.net/article/473809182.html

 ジャンプは以下の複合によって作成します。

  • 発動から1ターン後に攻撃するため技を作成
  • 発動時に無敵化するステート
  • 上空へと飛び上がる演出
  • 地面へと降下する演出

 以下、一つずつ解説していきます。

ため技の作成


 まず最初にため技を作ります。
 手順はため技プラグインの解説に従ってください。
 http://newrpg.seesaa.net/article/474413155.html

 ただし、後でジャンプ開始演出が必要となるので、以下の『ため開始演出』まで作成してください。
 http://newrpg.seesaa.net/article/474413155.html#use

 手順通りにすれば、1つのステートと2つのスキルを作成しているはずです。それぞれジャンプ技においては、以下のように対応します。

  • ため状態用ステート → ジャンプ状態のステート
  • ため演出用スキル  → ジャンプ開始演出(上昇)
  • 実行用スキル    → ジャンプ降下演出&攻撃

無敵ステートの設定


 上述のように『ため状態用ステート』がジャンプ状態を現すステートになります。これの設定を調整し、ジャンプ中の無敵を表現します。
 無敵ステートを作れるプラグインがあればそれでもいいのですが、今回は単純にステートの特徴だけで設定します。


 『狙われ率』『回避率/魔法回避率』『物理/魔法ダメージ率』『弱体有効度』『ステート無効化』『属性有効度』など、上記のようにひたすら攻撃を無効化する設定を行います。ちょっと面倒です。
 後でステートが追加された場合、当然こちらにも対応する必要があります。

 なお『必中』『属性なし』『固定ダメージ』の組み合わせなど、デフォルトではどうやってもダメージを受けるスキルも存在します。そこまでは考慮していませんのでご注意ください。

ジャンプ開始演出


 『ため演出用スキル』のメモ欄にDynamicMotionの定義を貼りつけます。

<NoResult> // メッセージ非表示用

// アニメーション
<D-Animation/>

// 上昇しながら透明化
<D-Motion:jump&wait>
frame = 10
airY = -500
ex = sx - 200
motion = item
opacity = 255 * (1 - t/et)
</D-Motion>

// 元の位置に戻しながら透明化&最小化
<D-Motion:home&soon>
airY = 0
noShadow = true
opacity = 0
scale = 0
</D-Motion>


 演出の最後に、こっそりとキャラを元の位置に戻しています。同時に透明化&最小化を行うことで、非表示にしています。そうしないと、スキルによっては上空のキャラを狙いにいく不自然な演出になってしまうためです。
 また、アニメーションを設定していますが、別になくても構いません。この例では、空のアニメーションにジャンプ用の効果音を付けているだけです。

ジャンプ降下演出


 『実行用スキル』のメモ欄にDynamicMotionの定義を貼りつけます。

// ため技用の指定(各自で設定してください)
<ChargeState:x>
<ChargeName:item.name>
<ChargeSkill:x>


// 前進禁止
<D-Setting:NoStep>

// 上空へ瞬間移動
<D-Motion:crash&soon>
airY = -500
</D-Motion>

// 透明化&最小化解除
<D-Motion:soon>
opacity = 255
scale = 1
</D-Motion>

// 降下
<D-Motion:crash>
position = 2 // 足元
frame = 5
</D-Motion>

// アニメーション
<D-Animation>
delay = -2 // 少し早めに表示
</D-Animation>

// しゃがみ
<D-Motion:wait>
frame = 5
motion = abnormal
noShadow = false
</D-Motion>

// 戻る
<D-Motion:return>
frame = 10
arcY = -200 // 少し高めにジャンプ
</D-Motion>


 以上でジャンプ技の完成です。
 後は好きなようにアレンジしてください。

 有名なのでジャンプとして演出を作りましたが、必ずしも空を飛ぶ必要はありません。「穴を掘って入り、地面から襲いかかる」「画面外に隠れて背後から強襲する」などでも面白いと思います。

注意点


 ジャンプ中のキャラは、あくまで透明化と最小化によって消えて見えるだけです。
 DynamicMotionによって、このキャラに対して透明度やサイズの変更を行うスキルをしかけた場合、表示状態が変化してしまう場合があります。
 現状、そこまでの考慮はしていません。ご注意ください。

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