プラグインコマンドで数式や制御文字を有効に【RPGツクールMZ&MVプラグイン】

2021年11月15日

 プラグインコマンドでJavaScript計算式や制御文字を使用できるようにします。
 ※ver1.011までは処理が非常に重くなる重大な問題がありました。
 ver1.02(2021/06/11)への更新をお願いします!


MZの場合


 以下のように\v[1], \n[1]などの制御文字をパラメータに設定すれば、変換した値が渡ります。


MVの場合



 例えば、変数1をパラメータに使用する場合、以下の二通りの方法が有効となります。
command $gameVariables.value(1)
command \v[1]

 また、戦闘中は『a』で行動主体を参照できます。
 ※ただし、ターン開始・終了時など行動主体を特定できない状況では使えません。
command a.hp

 理論上は複雑な数式も使用可能ですが、半角スペースが区切りとして扱われる点にはご注意ください。

目次


導入方法

更新履歴

注意点

プラグインパラメータ


導入方法


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

 NRP_EvalPluginCommand.js ver1.03(2021/11/15)

更新履歴


2021/11/15(ver1.03)

  • note型のプラグインパラメータを渡した際にエラーとなる不具合修正。
    ※要するに競合でエラーとなるプラグインを減らしました。

2021/06/11(ver1.02)

  • 処理が非常に重くなる重大な問題に対処。

2020/09/22(ver1.01 -> 1.011)

  • ツクールMZに対応。
  • 初期状態では数式を無効にした。それに伴い『数式評価を行うかどうか?』のプラグインパラメータを追加した。
  • 変数の値を変更しても、プラグインコマンドに反映されない不具合修正。(09/23 ver1.011)

2020/06/08(ver1.00)

  • 公開!

注意点


  • ver1.01より標準では数式は無効となっています。\v[1]などの制御文字のみ有効となっています。
    数式を有効にしたい場合はパラメータで切替してください。

  • DynamicAnimation&Motionから呼び出せるプラグインコマンドには効果ありません。あちらでは、元から関数は使用できますが、\v[1]などの制御文字は効きません。微妙に挙動が違うのでご注意ください。
    気が向いたら、あちらにも実装するかもしれません。

  • トリアコンタン様のDTextPicture.js(動的文字列ピクチャ生成プラグイン)とも併用できる模様です。ただし、MV版の古いバージョンだと問題が発生するそうなので、DTextPicture.js(MV版)を最新版に更新すればOKです。


プラグインパラメータ


数式評価を行うかどうか?(enableEvaluate)

 パラメータの数式評価(eval)を有効にします。

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

バトラーに残像効果を付与【RPGツクールMZ&MVプラグイン】

2021年11月13日

 バトラーに対して残像効果を付与します。


 DynamicMotionとの連携によって、スキルの演出が可能です。
 残像の表示時間、間隔、色調などをプラグインパラメータで調整可能です。

目次


導入方法(Install)

更新履歴(History)

基本的な使用法(Basic Usage)

DynamicMotionのサンプル(Sample)

オプション(Option)

DynamicMotionのサンプル(Sample)

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

表示時間(Duration)

間隔(Interval)

不透明度(Opacity)

色調(Color)

合成方法(BlendMode)

参考(Reference)


導入方法(install)


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

 NRP_Afterimage.js ver1.01(2021/11/13)

更新履歴(History)


2021/11/13(ver1.01)

  • EnemyCallsAlly.jsなどの外部プラグインで敵キャラを追加した場合、エラーになる競合に対処。

2021/08/27(ver1.00 -> 1.001)

  • 公開!
  • 戦闘終了後に再度戦闘すると残像処理でエラーになる不具合修正。(08/27 ver1.001)

基本的な使用法(Basic Usage)


 戦闘中、バトラーを指定して、以下のスクリプトを呼び出せば実行できます。
 ※aはバトラー(アクター/敵)です。

a.afterimage().start();

 残像を開始する。

a.afterimage().end();

 残像を終了する。
 ※省略した場合、アクション終了時に自動で終了します。

DynamicMotionのサンプル


<D-Setting:NoStep>
<D-Motion:near>
script = a.afterimage().start();
</D-Motion>

<D-Motion:attack>
script = a.afterimage().end();
</D-Motion>

<D-Animation/>
<D-Motion:return/>


オプション(Option)


 通常はプラグインパラメータの設定値を使用しますが、スキル毎に設定を変更することもできます。

a.afterimage().setInterval(4);

 残像の表示間隔を4フレーム(4/60秒)に設定する。

a.afterimage().setDuration(30);

 残像の表示時間を30フレーム(30/60秒)に設定する。

a.afterimage().setOpacity(128);

 残像の初期不透明度を128/255に設定する。

a.afterimage().setColor([255, 255, 255, 255]);

 残像の色調を[255, 255, 255, 255]に設定する。
 ※赤、緑、青、強さの順番

a.afterimage().setBlendMode(1);

 残像の合成方法を1:加算に変更する。
 ※0:通常, 1:加算, 2:乗算, 3:スクリーン

DynamicMotionのサンプル


 以下のように開始処理の後でオプションを設定してください。
 ※改行すると動作しませんのでご注意を。

<D-Setting:NoStep>
<D-Motion:near&jump>
script = a.afterimage().start(); a.afterimage().setInterval(4); a.afterimage().setDuration(60); a.afterimage().setOpacity(255); a.afterimage().setColor([0, 0, 255, 255]); a.afterimage().setBlendMode(1);
</D-Motion>

<D-Motion:attack>
script = a.afterimage().end();
</D-Motion>

<D-Animation/>
<D-Motion:return/>


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


表示時間(Duration)

 残像が消滅するまでの時間です。

間隔(Interval)

 残像を生成する間隔です。1/60秒単位で設定してください。

不透明度(Opacity)

 残像を生成する際の不透明度です。
 残像はこの不透明度で生成された後、徐々に薄くなっていきます。

色調(Color)

 残像の色調です。例:[128, 128, 255, 255]

合成方法(BlendMode)

 残像の合成方法です。

参考(Reference)


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

 SAN_ResidualSprites.js(サンシロ様)
 https://github.com/rev2nym/SAN_ResidualSprites

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

イベントテストの機能を拡張【RPGツクールMZ&MVプラグイン】

2021年11月11日

 イベントテストの機能を拡張し、マップやイベントの表示や動作を確認できるようにします。


 ツクールMV〜MZにはイベントエディタ上で編集中のイベントのテストを行う機能があります。
 (範囲選択>右クリック>テストで実行可能です。)

 ただこの機能には大きな制約があって、今ひとつ使い勝手がよくありません。
 マップデータを一切読み込まずに実行するため、マップは愚か、イベントの画像なども表示されません。そのため、メッセージのタイミングなどごく限られた要素をテストすることしかできません。

 また、テストを行う際に、メンバーの加入やスイッチなどの状態を調整したいことがあるかと思いますが、それらを設定する仕組みがありません。
 そして、マップデータを読み込まずに実行するため、その点を考慮していないプラグインは軒並みエラーになります。

 そこで以下のように改善することで、マップやイベントの表示・動作を確認できるようにします。

  • 適当なマップをテスト開始時に読み込むことでエラーを回避する。
    ※エラー回避用のダミーなので、本当に適当で構いません。
  • イベントテスト時のみ実行される初期設定を可能にして、メンバーやスイッチの状態を調整可能に。
  • 初期設定時に場所移動を指定し、マップ&イベントデータを読み込む。
    ※通常、場所移動でマップを移動すると、以降のイベントへの命令は無視される仕様ですが、命令を受けつけるように改善します。


目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

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

初期マップID(DefaultMapId)

テスト判定用スイッチ(TestSwitch)

このイベントIDの変数(ThisEventIdVariable)

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


導入方法(install)


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

 NRP_EventTest.js ver1.00(2021/11/11)

更新履歴(History)


2021/11/11(ver1.00)

  • 公開!

使用方法(Usage)


 テストしたいイベントをエディタで開き、イベントテスト用の初期設定をしてください。

 テスト判定用スイッチで条件分岐させれば、イベントテスト実行時専用の処理を設定できます。
 ※テスト判定用スイッチはプラグインパラメータで指定してください。
 分岐内で場所移動を実行すれば、マップデータが読み込まれ、各画像が表示されるようになります。
 ※元から冒頭で場所移動を呼ぶイベントなら省略可です。
 他にも、メンバーの加入やスイッチなどの状態を必要に応じて変更してください。

 また『このイベント』が対象になっているコマンドは、初期状態では無視されてしまいます。プラグインパラメータの『このイベントIDの変数』にIDを設定しておく必要があります。
 ※必ず場所移動より前に設定してください。


 あとはイベントエディタでコマンドを範囲選択し、右クリックでテスト(またはCtrl+R)を実行します。


 想定通りにイベントが実行されれば成功です。

 ※ちなみにイベントエディタ上での変更を適用した時点では、ファイルへの反映はされません。ツクールが強制終了したら苦労が水の泡です。不慮の事故に備えて、プロジェクトの保存も忘れないようにしましょう。

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


初期マップID(DefaultMapId)

 イベントテスト開始時の初期マップIDです。
 適当なマップを設定してください。

テスト判定用スイッチ(TestSwitch)

 イベントテスト時にオンになるスイッチです。
 これを用いた条件分岐を作ることで、イベントテスト時専用の処理を作成できます。

 ※ちなみに、スクリプトの『DataManager.isEventTest()』を使っても同じ機能を実現できます。スクリプトに抵抗がない方はそちらを使っても構いません。

このイベントIDの変数(ThisEventIdVariable)

 『このイベント』のイベントIDを設定する変数です。
 この変数にイベントIDを設定しないと、『このイベント』に対する指示が機能しません。

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

 イベントテスト開始時に呼び出されるコモンイベントです。
 共通処理などを設定したい場合はどうぞ。

 例えば、初期能力ではイベント戦闘に勝てないため、レベルをMAXにするといった使い方ができます。

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