開発日誌

素材

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 任意のセルフスイッチをONに

2025-01-05 16:58:19

以前公開した「セルフスイッチ操作プラグイン」をv1.2.0にアップデートして、任意のセルフスイッチの消去に加えて、任意のセルフスイッチをONにすることもできるようにしました。

「プラグインコマンド」から利用する関係上、RPGツクールMZ専用となります。RPGツクールMVでは動作しません。

なお、既存の「セルフスイッチの消去」機能の使い方に関しては、過去記事「任意のセルフスイッチを消去」をご覧ください。

また、既存の「セルフスイッチの消去」機能にも、コモンイベントから呼び出すとエラーが起こりうる不具合が存在していたため修正しました。お手数ですがこの機会にアップデートをお願いします。

今回のアップデートで新たに「セルフルイッチのON(Set Self Switches)」のプラグインコマンドが使用できるようになります。

使い方は「セルフスイッチの消去」とほぼ同様で、対象のマップID、イベントIDを数字で、対象のセルフスイッチをA-Dで指定すると、該当のセルフスイッチをONにすることができます。

マップIDに-1を指定すると現在のマップが対象になります。

ただし既存の「セルフスイッチの消去」にあったような、全てのマップや全てのイベント、A-D全てのセルフスイッチに対して一括でONにするような機能はありません。

基本的にセルフスイッチは、ONになったセルフスイッチの情報のみを保持しており(持っていなければOFFと見なす)、保持しているもの全てを消すのは簡単にできますが、逆はマップデータから全てのイベントデータを読み込んでくる必要があって、処理コストが非常に高いためです。

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 数値入力ウィンドウをさらに強化

2025-01-04 11:38:34

以前作成した「数値入力ウィンドウ強化プラグイン」をv1.1.0にアップデートして、入力桁移動ボタンを設けたり、キャンセルボタンの位置を指定できる機能を追加しました。

RPGツクールMZ専用です。ウィンドウ系は仕様が異なるため、MVでは使えませんのでご注意ください。

なお今回追加された新機能以外の使い方は過去記事「数値入力ウィンドウを強化」をご覧ください。

もともとのプラグインでは以下の3点が可能でした。

  • キャンセルボタンで数値入力をキャンセル
  • 数値入力の前後に文字列を追加
  • 入力可能な数値の最小値・最大値を設定(固定値 or 変数)

今回のアップデートで上記に加えて以下の2点が可能になります。

  • 入力桁の移動ボタンを設置(位置指定可)
  • キャンセルボタンの位置指定

スマホのタッチUIの場合、入力桁の誤タップが発生しやすいため、入力桁の移動ボタンを付けられるようにしたい、というご要望をいただいての実装となります。もちろん左右キーでの桁移動は今まで通り可能です。

また桁移動ボタンの追加に伴ってボタンの数が多くなるため、桁移動ボタンおよびキャンセルボタンの位置を調整できるようにしました。

今回の追加機能は、個別に変更する必要性は感じない(場合によって桁移動ボタンがあったりなかったり、キャンセルボタンの位置が上にあったり下にあったりと変わるのは、UI的に好ましくない)ため、いずれもプラグインパラメータで指定する仕組みにしています。

プラグインパラメータは以下の4種類です。

桁移動ボタン有効
数値入力の際に入力桁の移動ボタンを表示するかどうかを指定します。ONにするとボタンを表示します。デフォルトはOFF(表示しない)です。
1桁の場合は非表示
入力数値が1桁の場合に、桁移動ボタンを非表示にするかどうかを指定します。デフォルトはONで、ONにすると入力数値が1桁だけの場合は桁移動ボタンが表示されません。OFFにすると入力数値が1桁でも桁移動ボタンが表示されますが、当然ボタンを押しても何も反応がないので紛らわしいと思います。
桁移動ボタン位置
桁移動ボタンを表示する際の表示位置を、左下・左上・上部中央の3種類から選びます。デフォルトは左下です。
キャンセルボタン位置
キャンセルボタンを表示する際の表示位置を、右下・右上の2種類から選びます。デフォルトは右下です。

▲デフォルトの桁移動ボタン左下、キャンセルボタン右下配置。少々窮屈……。

▲桁移動ボタン左上、キャンセルボタン右上配置。ウィンドウは上に拡張される。

▲桁移動ボタンを上部中央に配置。ボタンは重ならないように調整される。

▲入力値が1桁だけの場合は桁移動ボタンが非表示になる。

ボタンの位置は任意に指定できると良かったのですが、数値入力ウィンドウは入力桁数によって幅が変わりうるため指定方法が煩雑になってしまうのと、言うてこれら以外の配置にすることもそんなになかろうということで、選択式にしています。

もし用意した以外のボタン配置をしたい場合、プラグインの改造はご自由にどうぞ。変更が大がかりでなく汎用的だと思える要望であれば改修も可能ですので、ご要望をお寄せください。

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] ピンチ状態の文字色を2段階化&敵キャラ名の色を変える

2024-11-25 22:02:13

アクターがピンチになった時の文字色の変化を2段階に分けるプラグインと、残りHPが減ってピンチになった敵キャラの名前の文字色を変えるプラグインを、それぞれ公開しました。

文字色の指定の仕様がMVとMZで異なるため、両プラグインはRPGツクールMZのみの対応です。

少しの修正でMV対応版を作成することはできますが、テストや管理が煩わしいのでMZ版のみ公開します。改造はご自由にどうぞ。

2つのプラグインを併用すれば敵キャラ名の文字色も2段階にすることができますし、どちらか片方だけでいい場合は片方だけ導入することも可能です。

ピンチ状態の文字色を2段階に分ける

標準のRPGツクールでは、残りのHPが最大HPの25%を下回るとアクター名等の文字色が黄色になって、そのキャラクターがピンチであることが視覚的に分かるようになっています。

この仕組みは初代ドラクエから存在しており、RPGではごく当たり前のシステムです。

最近の作品ではこれをさらに拡張して、より体力が減って危険な状態の時はオレンジや赤など、より緊急性の高い色で警告されるようになっています。

これは非常に分かりやすい仕組みなので、自作品にも採用すべく、プラグインを作成しました。

このプラグインを導入すると、ピンチ状態が1段階目の危機(Crisis)と2段階目の瀕死(Fatal)とに分けることが可能です。

ピンチ状態の各段階の残りHPの割合と、その時の文字色は、プラグインパラメータで指定します。

デフォルトでは、1段階目の危機は残りHPが最大HPの25%未満で黄色、2段階目の瀕死は10%未満で朱色としていますが、%や色は任意のものが指定可能です。

また応用的な使い方としては、ツクール標準ではHPが25%未満で黄色固定なところ、このプラグインを使えば%と色を変更できます。1段階目と2段階目の%と色を同じにすれば、2段階に分けることなく、HPの割合と色を変更が可能です。

敵キャラ名の文字色にピンチ状態を反映する

標準のRPGツクールでは、敵キャラの残りHPを直接知る手段はありません。

個人的には敵キャラのパラメータが開示されるのはあまり好きではなく、何回か戦っている中で相手のだいたいのHPを推測し、効率の良いダメージの与え方を考えて実践する、というのがRPGの戦闘の楽しさの一つであると考えます。

ただ、雑魚敵ならばそれでいいのですが、ボス敵の場合は基本1回しか戦いませんし、ほんの数ターンで倒せるということもないため、相手の体力がまだ全然削れていないのか、それともあと少しで倒せるのかは分かりません。

リアルで考えると、相手の負傷具合や息の上がり方などから、まだ余裕があるのか、それともかなり体力を消耗しているのかを読み取ることは可能で、その代替表現として、敵の瀕死度に応じて文字色を変える程度の仕組みは、用意してもいいのではと思いました。

このプラグインを導入すると、敵キャラの選択ウィンドウにおいて、味方と同様にピンチ状態の相手は敵キャラ名の色が変わります。

前述のプラグインと併用すれば、敵キャラ名もピンチ度のレベルに応じて、2段階の色で表示することが可能です。

戦闘システムは様々なプラグインでカスタマイズされているケースも多いので、正常に動作しない場合もあるかと思います。最低限の作りにしたので、競合でエラーが起こることはそれほどないと思いますが、色の変化が反映されないといった現象は起こり得ます。改造等はご自由にどうぞ。

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 敵が全員逃げた時の戦闘終了時メッセージを変える

2024-08-23 01:07:37

全ての敵が逃げて戦闘が終了した場合のメッセージをカスタマイズできるプラグインを作成しました。

RPGツクールMV/MZ、どちらにも対応しています。

ツクールの標準では、敵が全員逃げて戦闘が終わった場合でも、「○○の勝利!」と通常の勝利メッセージが表示されます。しかし、これでは違和感があるという人もいるでしょう。

このプラグインを導入すると、倒した敵が1匹もいない状態、すなわち全ての敵が逃げて戦闘が終了した際は、通常の勝利メッセージに代えて、指定したメッセージを表示できるようになります。

1体でも倒した敵がいる場合は、通常の勝利メッセージとなります。

メッセージでは、%1でパーティー名を、%2で敵グループ名を表示することができます。

敵が逃げた場合のメッセージで自パーティー名はあまり使わないかもしれませんが、敵1体の場合は敵グループ名をその敵キャラの名前に、同じ敵キャラが複数体の場合は「○○たち」、複数の種類の敵キャラがいる場合は敵グループ名を「魔物の群れ」としておいて、全敵逃亡時メッセージを「%2は逃げ出した!」などとすれば、敵の人数や種類数に応じて異なるメッセージを表示することができます。

公式フォーラムで要望の出たものですが、自分でも敵が全員逃げた時に「○○の勝利!」と出るのは違和感があったので、この機会にプラグインを作成しました。

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 戦闘アニメの位置を敵ごとにずらす

2024-04-14 12:28:20

戦闘アニメーションの表示位置(オフセット)を敵キャラごとに変えられるようにするプラグインを作成しました。

RPGツクールMZのEffekseerによるMZ標準アニメーションにのみ対応しており、MVやMV互換アニメーションには非対応です。

RPGツクールMZのアニメーションは、表示タイプが「対象ごと」の場合、対象キャラクター画像の中央に表示されるようになっています。

しかし、空中を飛んでいて本体が上にある敵や、武器を持っていて身体が左右に寄っている敵キャラ画像の場合、戦闘アニメーションが敵キャラ本体の中心からズレて表示されてしまいます。

▲ 本体が右に寄っているため矢が当たっていないように見える

▲ 空中を飛んでいて本体が上にあるため刺さっていないように見える

実際には、MZのアニメーションは大きめに作られており、また表示されるのも一瞬なので、そこまで気になるものではありません。

そうは言っても気になり出したら止まらないのが世の常。できることなら、こういう細かい部分にもこだわっていきたいところです。

RPGツクールMZ標準のEffekseer仕様によるアニメーションには、「オフセット」という縦横方向に表示位置を調整できる設定が存在します。しかし、これはアニメーションを常にずらして表示させるための機能で、これを敵ごとに変えることはできません。

そこで、このオフセット値を敵ごとに変更できるようにするプラグインを作成しました。

このプラグインを導入して、敵キャラのメモ欄に、例えば <animationOffsetX29:70> と記述すると、この敵キャラに対してID29番のアニメーションは、横方向に+70ドット、すなわち右に70ドットずれて表示されるようになります。

メモ欄への記述は以下のようなメタタグが使用できます。

<animationOffsetX:n>
対象となりうる全てのアニメーションを横方向にnドットずらします
<animationOffsetY:n>
対象となりうる全てのアニメーションを縦方向にnドットずらします
<animationOffsetXm:n>
IDがm番のアニメーションを横方向にnドットずらします
<animationOffsetYm:n>
IDがm番のアニメーションを縦方向にnドットずらします

▲ 本体の中心に矢が当たるようになった

対象となりうるアニメーションは、表示タイプが「対象ごと」のもののみで、表示タイプが「全対象の中央」や「画面の中央」となっているアニメーションは指定が無視されます。右クリックの「MV互換データの作成」で作成できるMV互換アニメーションも対象外です。

アニメーション自体にオフセットが設定されている場合、そこにさらに設定したオフセット値が加算されます。すなわち、例えばアニメーション自体のオフセットが100で、そこに本プラグインで200と指定した場合、加算されて300のオフセットが適用されます。-150と指定した場合は差し引き-50のオフセットとなります。

IDで個別にオフセット値が指定された場合は、対象となりうる全てのアニメーションへのオフセット値は無視されます。すなわち、例えば <animationOffsetY:50> <animationOffsetY66:100> が指定されていた場合、66番のアニメーションのオフセットYは、両者を足して150とはならずに、個別指定の方の値のみが適用されて100となります。

本体が敵キャラ画像の中心になかったり、「秘孔を突く」みたいなスキル(例えが古い)で特定部位にアニメーションさせたい場合などには役に立つかと思います。

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