開発日誌

すべての記事

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 飛行船の影を消す

2025-08-01 18:01:09

飛行船の影の表示・非表示を切り替えられるプラグインを公開しました。

切り替えをプラグインコマンドで行う都合上、RPGツクールMZ専用となります。

デフォルトだと遠景にも影がついてしまう

ツクールの乗り物の1つである飛行船は、乗り込むと地面に影が描画されます。

これはごく自然な描写であり、標準でこの機能が備わっているのは非常にありがたいことです。

しかし、はるか高い上空を飛んでいる場面や、遠景の上を通過するようなシーンなど、影があると不自然に見えてしまうケースも存在します。

飛行船の影は img/system/Shadow1.png の画像が使われるので、飛行船の影は常に非表示でよい、という場合にはこの画像を透明なものに差し替えるという手もありますが、状況によって影を付けたり消したりしたいというケースには、標準で実現できる手段はありません。

飛行船の影が消せる!

このプラグインを導入すると、飛行船の影の表示・非表示をプラグインコマンドで切り替えることができます。

プラグインコマンドの「飛行船の影を消去」で影が消え、「飛行船の影を表示」で表示されるという、ごく単純なものです。デフォルトは影が表示されている状態です。

例えば遠景の有無で影の有無を切り替えたい場合、並列処理で「指定位置の情報取得」を使ってプレイヤーの位置のタイルID(レイヤー1)を取得し、その値が0(レイヤー1が透明=遠景が見えている)であれば飛行船の影を消去、そうでなければ影を表示、とすれば簡単に実現できます。

特別なイベントシーンで、影を自前で制御したい場合にも便利です。

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

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

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-07-21 17:27:59

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

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

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

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

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

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

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

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

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

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