開発日誌

すべての記事

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 画面シェイクの永続化

2025-07-30 20:39:55

画面のシェイクを永続化できるプラグインを公開しました。

RPGツクールMV/MZ両対応です。

以前にRPGツクールVX用に公開した「画面シェイクの永続化スクリプト」のMV/MZ版プラグインで、基本的な使い方は当時と同じです。

時間を999フレームに設定し、「完了までウェイト」のチェックを外す

このプラグインを導入し、イベントコマンドの「画面のシェイク」で時間を999フレーム(設定できる最大値)、「完了までウェイト」のチェックを外すと、画面を永続的にシェイクさせられます。

シェイクを直接的に停止する方法はありませんが、時間を1フレームなど、ごく短い時間に設定した「画面のシェイク」コマンドを実行すれば、そこでシェイクがストップします。

地震や建物の崩壊といった演出で画面を揺らしたい場合、途中でメッセージの表示やプレイヤー操作を入れると、通常のシェイク設定では時間切れでシェイクが止まってしまいます。

このプラグインを使えば、操作中でも揺れ続ける演出が可能になります。

ただ、ずっと画面が揺れ続けているというのはけっこう目が疲れるものなので、揺れの強さを弱めるとか、イベントの時間を短くするなど、適度な演出バランスにご配慮ください。

質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 身代わり・反撃・魔法反射でのTP獲得を無効に

2025-07-25 00:08:06

身代わり、反撃(カウンター攻撃)、魔法反射においてTPを獲得するかどうかを制御できるプラグインを公開しました。

RPGツクールMV/MZ両対応です。

RPGツクールの標準仕様では、以下のようにTPが獲得されます。

  • 攻撃者:使用したスキルやアイテムに設定された「得TP」を獲得
  • 被弾者:受けたダメージに応じたTPを獲得

この時、身代わりや反撃、魔法反射といった攻撃者や被弾者が変わる場合のTPについては、それぞれ以下のようになっています。

身代わり
  • 元の攻撃者:使用したスキルやアイテムに設定された「得TP」を獲得
  • 元の被弾者:TPは獲得しない
  • 身代わり者:受けたダメージに応じたTPを獲得
反撃
  • 元の攻撃者=反撃の被弾者:反撃で受けたダメージに応じたTPを獲得
  • 元の被弾者=反撃者:通常攻撃の「得TP」を獲得
魔法反射
  • 元の攻撃者=反射の被弾者:使用したスキルやアイテムに設定された「得TP」と反射で受けたダメージに応じたTPを獲得
  • 元の被弾者=反射者:TPは獲得しない

本プラグインを導入すると、上記のそれぞれのケースにおいてTPを獲得するか否かを個別に設定できます。

なお、上記の「TPは獲得しない」と記載されたケースで新たにTPが獲得できるようにはなりません。あくまで、標準仕様では獲得できるTPを獲得しないように変更できるだけです。

身代わりや反撃はTP消費特技として設定されていることも多く、身代わりや反撃でTPが得られてしまうと、消費したTP以上のTPが獲得できる場合もあり得ます。

また魔法反射は仕様上、反射された側に使用時のTPとダメージによるTPが両方とも入るため、TP獲得量が多すぎる可能性もあります。

本プラグインを使えば、TPの過剰獲得を抑えて、より計算された戦略的な戦闘バランスが実現できるでしょう。

なお自作品である『王国の英雄』では、身代わり者と反撃者のTP獲得をOFF、それ以外はONとしています。

質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 混乱付与・解除時の行動を改善

2025-07-24 00:49:55

混乱や激昂、魅了といった強制攻撃系のステートが付与・解除された時の、そのターン内の行動をより適切にするプラグインを公開しました。

RPGツクールMV/MZ両対応です。

※ 2025-09-12追記:混乱無効などのステートを付与すると、混乱が付与されていなくても行動がキャンセルてしまう不具合を解消しました。

ツクールの標準仕様では、混乱など行動制約が「敵/誰か/味方を攻撃」であるステートが付与された場合、そのターンでは攻撃が行われず、次のターンから混乱行動が開始されます。

また自分の行動順が回って来る前にステートが解除されると、通常攻撃が予定されたまま敵をランダムに攻撃してしまいます。

これは、混乱系ステートがかけられた際に予定の行動が通常攻撃で上書きされず、治った際にも予定の行動(通常攻撃)がクリアされないために起こる挙動です。

そういうものと割り切ってしまえばいいのかもしれませんが、混乱させられても次のターンで治せばほぼ無害なため、戦闘がぬるくなる要因となっています。

このプラグインを導入すると、こうした挙動が以下のように改善されます。

  • 混乱など行動制約が「敵/誰か/味方を攻撃」であるステートが付与された場合、同一ターン内で行動順が回って来た際にも、制約に従って敵や味方を通常攻撃します。
  • ステートが解除された場合は予定行動をキャンセルして、そのターン中は通常攻撃を行いません。

またツクールの標準仕様では、混乱中に睡眠など行動制約が「行動できない」であるステートが付与されると、予定行動がキャンセルされず、同一ターン内で解除された際に通常攻撃が発動してしまう問題がありますが、本プラグインはこの点も改善します。

質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] バフ・デバフの継続ターン数延長を防ぐ

2025-07-21 17:27:59

能力値の強化(バフ)や弱体(デバフ)が既にMaxに達している状態でさらに強化・弱体をかけようとした時、「これ以上は上がらない」旨のメッセージを表示し、継続ターン数もリセットされないようにするプラグインを公開しました。

RPGツクールMV/MZ両対応です。

昨日公開した「ステート重複付与無効プラグイン(PANDA_NoDuplicateStates.js)」のバフ・デバフ版です。

ステートと異なるのは、バフ・デバフの場合は重ねがけがあり得ること。

ツクールの標準仕様では2段階まで重ねがけが可能で、能力値の強化・弱体を1回かけるごとに1段階ずつ変動し、そのたびに継続ターン数がリセットされます。

ここで、既に最大の2段階まで強化・弱体がかかっている状態で、さらに強化・弱体をかけようとした場合、最大を超えてバフ・デバフがかかることはないものの、継続ターン数はリセットされます。そのためバフが切れる前にかけ直すことで、常にバフがかかった状態を維持することができてしまい、戦闘が単調になって作業感が出る恐れがあります。

このプラグインを導入すると、既に上限の段階までバフ・デバフがかかっている相手に、さらに同じバフ・デバフをかけようとすると、「もうこれ以上は上がらない/下がらない」といった戦闘メッセージを表示して、バフ・デバフの再付与はなされず、継続ターン数も上書きされません。

なお、例えば一度に2段階アップするスキルを、既に1段階アップしている相手にかけた場合は、1段階は上がっているため、「もうこれ以上は上がらない」旨のメッセージは表示されません。

プラグインパラメータで、既に上限に達している時に表示するメッセージを、強化と弱体でそれぞれ指定します。メッセージでは%1が対象者の名前、%2が対象の能力値の名前(「攻撃力」や「防御力」など)に置き換えられます。空欄の場合はメッセージは表示されません。

質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 既にかかっているステートの重複付与を無効化

2025-07-20 18:24:08

既にステートにかかっている場合、同じステートには重複してかからないようにするプラグインを公開しました。

RPGツクールMV/MZ両対応です。(2025-07-29:MVにも対応しました)

ツクールの標準では、例えば眠っている相手に対して眠りのスキルを使った場合など、あるステートが既に付与されている状態で同じステートを付与しようとした場合、既に付与されているかどうかは関係なく、ステートの付与判定が行われます。

ここで判定が成功だと、同じステートが再度付与され、継続ターン数も上書きされます。

一方で失敗の場合は、「○○には効かなかった!」というメッセージが表示されますが、実際には元のステートがかかったままなので紛らわしいです。

このプラグインを導入すると、既にかかっているステートは再付与されないようになり、継続ターン数もリセットされません。また「既にかかっている」といった旨のメッセージを表示させることができます。

既にそのステートにかかっているかの判定は、ステートの付与成功判定に先立って判定されるため、失敗のメッセージが表示されることもありません。(ただし、スキル自体の成功率・命中率が原因で失敗した場合には、失敗のメッセージが表示されます)

具体的な設定方法は、プラグインパラメータで重複付与を禁止したいステートIDを指定します。

ここで指定したステートのみが重複付与無効の対象になります。指定されていないステートは標準通りの処理がなされます。

また、既にそのステートにかかっている時に表示する戦闘メッセージを指定します。%1が対象者の名前に変換されます。メッセージはアクターと敵とでそれぞれ指定可能です。特にアクターと敵とでメッセージを変える必要がなければ、両方に同じメッセージを指定してください。空欄の場合はメッセージが表示されません。

ランダムでステートが付与されたり、ターン経過でステートが変化したりなど、実際に付与されているステートと付与判定に使用するステートとが異なる場合があります。そのような場合は実際にかかっているステートを「判定用ステート」欄に指定します。判定用ステートは複数指定が可能です。

継続ターン数がリセットされなくなるので、例えば睡眠が効くボス敵にずっと睡眠をかけ続けて完封するとか、物理攻撃主体のボス敵にずっと暗闇をかけ続けるといった単調な戦法が通用しなくなります。

逆にずっと眠らされ続けて嵌められるといった事態も防げるので、理不尽な戦闘にならずに済むでしょう。

今後もいくつか、ツクールの標準戦闘の仕様で大味な部分を調整するプラグインを公開予定なので、お楽しみに。

質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。