開発日誌

プラグイン/スクリプト

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] エクセルで敵キャラかんたん設定

2020-10-04 17:54:52

敵キャラの能力値や属性有効度、ステート有効度などをエクセル上で簡単に編集して、データベースに反映させられる、VBAマクロファイルを公開します。

先日の職業ごとの能力値をエクセルで編集できる「能力値かんたん調整」の、敵キャラ版です。RPGツクールMV/MZの両方に対応しており、使用にはMicrosoft Excelが必要です。

※ 2021-02-09追記
メモ欄に改行があると正常に出力できない不具合を修正しました。

※ 2022-01-06追記
メモ欄等に\で始まる制御文字があると読み込めなくなる不具合を修正しました。

まずは上記のファイルをダウンロードしてください。zipファイルなので解凍し、中にある「EnemyParameter_MVMZ.xlsm」を起動します。

起動時に、マクロに関するセキュリティ警告が出ますので、「コンテンツの有効化」でマクロを有効にしてください。ここまでは「能力値かんたん調整」と同様です。

まずは「プロジェクト読み込み」ボタンをクリックして、対象となるゲームのプロジェクトフォルダーにある、「game.rpgproject」(MVの場合)または「game.rmmzproject」(MZの場合)のファイルを開きます。

これで該当プロジェクトの属性データとステートデータ、および敵キャラのデータが各シートに読み込まれます。

最初に準備として、「敵キャラ設定」シートの「属性有効度」と「ステート有効度」の設定欄を作成します。

プロジェクトを読み込んだ時点で何となくいい感じに設定欄を作ってくれますが、複雑な設定がある場合や個数が多い場合は適宜調整が必要です。

有効度を設定する必要のない属性・ステートは、設定欄を作らなくてもOKです。例えばデフォルトであるステートの「防御」や「不死身」は、有効度を設定する必要がないので、設定欄も不要です。

また、「戦闘不能」など文字数の多い項目は、名前の代わりに「略称」を使うことができます。例えば「戦闘不能」という名前の代わりに「死」という略称を使えば、ステート有効度の欄がすっきりします。「属性・ステート」シートの「略称」欄に入力すれば、略称が反映されます。

さらにこの「略称」にはもう一つの機能があって、例えば毒関連のステートとして、威力の弱い「軽毒」と威力の強い「猛毒」の2種類のステートを作ったとします。しかし、ステート有効度は同じ毒ステートとして、特に別の値を設定したりはしないケースが、あるかと思います。私はよくあります!

そのような場合、略称を両方とも「毒」としておけば、一つの設定欄で両方のステート有効度を同じ値に設定できます。逆に、一部の敵だけ別の設定値にしたい、ということもできなくなるので注意。

「属性有効度」と「ステート有効度」は、デフォルトで12個ずつ欄を設けてありますが、それぞれの個数に応じて列を追加・削除することが可能です。ただし、1行目にある「ステート有効度」の文字は消さないように注意してください。この文字列で、属性有効度とステート有効度の境界を認識しています。

設定が終わったら「スタート」シートに戻り、「JSON出力」ボタンをクリックします。

以上で、敵キャラの名前、能力値、経験値とお金、特徴の命中率・回避率・会心率、および属性有効度とステート有効度が、該当プロジェクトのEnemies.jsonに書き込まれます。RPGツクール本体に戻ってデータベースの「敵キャラ」を開き、設定値が反映されていることを確認してください。

それ以外の敵キャラ画像やドロップアイテム、行動パターン、およびその他の特徴とメモについては、RPGツクール本体で設定したものがそのまま適用されます。

直接Enemies.jsonを上書きするので、ファイルの扱いには十分ご注意ください。設定が壊れても一切の責任は負えません。

RPGツクールMV/MZの標準仕様に準拠しているため、プラグイン等で能力値や特徴の仕様を変更している場合は、正しく反映されない可能性があります。エクセルの編集やVBAの知識がある方は、本ファイルを改造することで対応させられます。その辺はご自由にどうぞ。

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

これで、1個ずつ特徴をポチポチと設定していくという苦行から解放されます!

RPGツクールVXまでは、属性有効度とステート有効度がリストになっていて、それぞれA〜Fの6段階で選ぶだけだったので、楽に設定ができました。それでも数が多いと大変でしたが、無心でクリックするだけなので、思ったほど面倒でもなかった気がします。

VX Ace以降、それが全て「特徴」の項目に集約され、より細かい設定ができるようになったのは良かったですが、一つずつ設定画面を開きながら設定しないといけないため、かなり面倒な作業になってしまいました。

このエクセルツールで、少しでもその作業が軽減できればと思います。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] エクセルで能力値かんたん調整

2020-10-01 21:27:52

職業ごとの能力値をエクセル上で簡単に編集して、データベースに反映させられる、VBAマクロファイルを公開します。

過去にRPGツクールVX対応の「アクター能力値かんたん調整 for RPGツクールVX」を公開していましたが、それのRPGツクールMV/MZ対応版です。実行にはMicrosoft Excelが必要です。

※ 2021-02-09追記
メモ欄に改行があると正常に出力できない不具合を修正しました。

※ 2022-01-06追記
メモ欄等に\で始まる制御文字があると読み込めなくなる不具合を修正しました。

使い方は簡単です。まずは上記のファイルをダウンロードしてください。zipファイルなので解凍し、中にある「ClassParameter_MVMZ.xlsm」を起動します。

起動時に、マクロに関するセキュリティ警告が出ますので、「コンテンツの有効化」でマクロを有効にしてください。

「能力値設定」シートで、各職業の能力値を設定します。

まずは上部にID番号と職業名を入力します。経験値曲線のパラメーターである基本値・補正値・増加度A・増加度Bの各値を入力すると、各レベルで必要な経験値が算出されます。最大HP〜運の各能力値は、Lv1の「値」欄に初期値を、Lv2以降の「増」欄にレベルアップ時の増分を入力します。

入力すべき場所は全てグリーンで示してあるので、分かりやすいかと思います。

「バランス確認」シートでは、各職業の能力値の成長曲線をグラフ化することもできます。適宜確認しながら、あまりアンバランスにならないよう調整しましょう。

調整が終わったら「スタート」シートに戻り、右上の「JSON出力」ボタンをクリックします。

ファイル選択画面になるので、該当プロジェクトフォルダーの、dataフォルダーの中にある「Classes.json」ファイルを指定してください。「能力値設定」シートで設定した職業名、経験値曲線、各能力値が出力されます。特徴や習得スキルはRPGツクール本体で設定した内容がそのまま反映されます。

RPGツクール本体に戻ってデータベースの「職業」を開くと、設定値が反映されています。

VX版のように、一度スクリプトを貼り付けてテストプレイを起動……、といった手間は必要なく、直接Classes.jsonファイルに出力するようにしました。

手順が簡単になった反面、直接Classes.jsonを上書きするので、ファイルの扱いには十分ご注意ください。設定が壊れても一切の責任は負えません。

詳しい使い方や注意点はファイル内に書かれている説明をご覧ください。

RPGツクールMV/MZの標準仕様に準拠しているため、プラグイン等で能力値や経験値曲線の仕様を変更している場合は、正しく反映されない可能性があります。エクセルの編集やVBAの知識がある方は、本ファイルを改造することで対応させられます。その辺はご自由にどうぞ。

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 特定のセルフスイッチをリセット

2020-09-29 01:11:12

先月、プラグインコマンドで任意のセルフスイッチを消去できる「セルフスイッチ操作プラグイン」を公開しました。

今回はそれの応用編として、マップに入った際、そのマップにあるイベントのうち、指定した名前に合致するイベントのセルフスイッチをOFFにできるプラグインを作成しました。MV/MZの両方に対応しています。

セルフスイッチをOFFにしたいイベント名を、正規表現で指定します。

マップに入った際、具体的にはGame_MapのsetupEventsが呼ばれた際に、その正規表現にマッチするイベント名を持ったイベントのセルフスイッチを消去しています。

セルフスイッチはA-Dから任意のものを複数指定可能です。

マップに出入りするたびに復活する宝箱とか、開けた扉や押したスイッチを元の状態に戻したい時とかに使えると思います。

自分の制作中の作品では、扉のイベント名を「@Door」としておき、このプラグインで正規表現^@(@で始まるものにマッチ)としています。こうすることで、マップに入り直した際、開けた扉が閉まっている(誰が閉めた?とかいうのはナシ)ようにすることができます。

映像も貼れるようにしてみた。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 選択肢表示時にSEを鳴らす

2020-09-27 22:14:14

イベントコマンド「選択肢の表示」で選択肢ウィンドウが表示される際に、効果音を鳴らすプラグインを作成しました。MV/MZの両方に対応しています。

天下御免!からくり屋敷』ではスクリプトで選択肢ウィンドウを拡張したついでにSEを鳴らすようにしていました。

そのせいで、選択肢が現れた時に無音だと、何だか物足りない気がしたので作りました。

実際、RPGツクールVX Ace以降の選択肢ウィンドウは、標準だと右の方に出てくるので、特に「はい」「いいえ」だけの短い選択肢だと目立たなくて、ついうっかり決定キーを連打していて、選択肢があることを見逃してしまうといったことが起こりがちだと思います。

そんな時も、SEがあれば選択肢が出てきたことを喚起できるのではないかと思います。

SEの種類や音量などはプラグインのパラメータで指定できます。個人的にはピッチ150%にした「Saint5」が好み。『天下御免!からくり屋敷』でもこのSEを使っています。

あまり派手さはないですが、今後もこんな感じのちょっとした、かつ汎用的なプラグインを公開していきたいと思いますので、どうぞよろしくお願いいたします。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 職業の代わりに二つ名を表示

2020-09-25 20:00:21

長編RPGを作っていてよくあるのが、最初はただの村の自警団兵だった若者が、王国兵として取り立てられ、最終的に世界を救う勇者になる、といったストーリーです。

そしてそのストーリーに応じて変化する立場を、職業名としてステータス画面等に反映したくなります。

普通に実装するとなると、中身は全く同じで、名前だけが「自警団兵」「王国兵」「勇者」などと異なる職業を用意しておき、イベントコマンドの「職業の変更」で「レベルの保存」にチェックして、職業を変更すればよいと思います。

ただこの方法だと、名前しか違わない職業を複数用意する必要があり、途中でパラメーターやスキル習得等を変更する場合は、同じ変更を全ての職業に忘れず反映しないといけないため、非常に手間がかかります。

しかしアクターの属性にはもう一つ、RPGツクールVX Aceから登場した「二つ名」という属性があります。こちらは単純に文字情報のみでゲームには何も影響を与えないですし、イベントコマンドの「二つ名の変更」で簡単に変更できます。

なので、ストーリーに応じて二つ名を「自警団兵」「王国兵」「勇者」などと変更し、ステータス画面等では職業名の代わりにこの二つ名を表示するようにしてやれば、やりたいことが楽に実現できます。

というわけで、プラグインを作りました。MV/MZ両対応です。

このプラグインを導入すると、ステータス画面等で職業名の代わりに二つ名が、二つ名の代わりに職業名が表示されるようになります。後者はプラグインパラメータで非表示にすることもできます。

具体的な使用イメージはこんな感じ。

  1. 本来の二つ名の名称で職業を作成(二つ名を非表示にするなら適当な名前で可)
  2. アクターにその職業を割り当て、二つ名に本来の職業名を設定
  3. イベント中に「二つ名の変更」で本来の職業名を変更

そうするとこんな感じで、ステータス画面上は職業名のところに二つ名が、二つ名のところに職業名が表示されます。

スキル選択画面などではもともと職業名しか表示されませんが、そこでは職業名の代わりに二つ名が表示されます。

やっていることとしては、アクタークラスの二つ名(nickname)を返すところで、「二つ名の表示」パラメータがONなら職業名を、OFFなら空文字列を、二つ名の代わりに返しているのと、ウィンドウクラスの職業名描画(drawActorClass)で、職業名の代わりに二つ名を描画しているだけです。

なので、drawActorClassに手を入れているプラグインとは、競合するかもしれません。

ちなみにdrawActorClassは、MVではWindow_Baseのメソッド、MZではWindow_StatusBaseのメソッドで違いがあるのですが、両方含めることでMV/MZ両対応としました。この方法、間違ってないですよね?

厨二っぽいゲームでもない限り、いまいち存在意義が分からなかった二つ名ですが、有効な使い方が発見できて良かったです!