【解決済み】特定のステート中の敵しか選べないスキル

草の民
記事: 6
登録日時: 2023年8月13日(日) 07:49

【解決済み】特定のステート中の敵しか選べないスキル

投稿記事by 草の民 » 2023年8月15日(火) 15:11

初心者ながら質問させていただきます。

できたら完璧なのが、
特定のステートの敵がいない時はスキルが表示されるが選べず、敵一体でもそのステートにかかれば、その敵のみに使用できるスキル。です。単体攻撃です。

ゲーム開発も終盤で、すごく自信のある作品ですが、プラグインを探すも見つからず、詰まってしまっています。プラグインを自分でつくる技術はないです…

どなたか対応していただける方はいらっしゃらないでしょうか?
最後に編集したユーザー 草の民 on 2023年8月17日(木) 12:40 [ 編集 1 回目 ]

ecf5DTTzl6h6lJj02
記事: 469
登録日時: 2018年12月23日(日) 13:55

Re: 特定のステート中の敵しか選べないスキル

投稿記事by ecf5DTTzl6h6lJj02 » 2023年8月15日(火) 20:44

こんばんは。
草の民 さんが書きました:初心者ながら質問させていただきます。

できたら完璧なのが、
特定のステートの敵がいない時はスキルが表示されるが選べず、敵一体でもそのステートにかかれば、その敵のみに使用できるスキル。です。単体攻撃です。

ゲーム開発も終盤で、すごく自信のある作品ですが、プラグインを探すも見つからず、詰まってしまっています。プラグインを自分でつくる技術はないです…

どなたか対応していただける方はいらっしゃらないでしょうか?

トリアコンタンさんの以下のプラグインを使用すれば実現可能かと思います。

対象限定スキルプラグイン
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/RestrictionTargetSkill.js

スクリプトで対象を限定することができるので、この機能を使って、特定のステートにかかっている敵だけを対象にできるように、設定してください。

特定のステートにかかっているかどうかをチェックする JavaScript の計算式は、

コード: 全て選択

調べたい対象のオブジェクト.isStateAffected(チェックするステートのID);

です。
調べたい対象のオブジェクトは this におきかえることができます(プラグインヘルプ参照)。
例えば、対象が 毒(ステートID 0004) にかかっているかを調べたい場合は、

コード: 全て選択

this.isStateAffected(4)

と書くことができます。
プラグインでは、スクリプトの条件に一致するときに使用できないなので、
否定形にする必要があります。否定形は式の先頭に ! をつければよいので、

コード: 全て選択

!this.isStateAffected(4)

としてください。

対象ステートが複数あって、そのいずれかにかかっていることを条件にする場合、

コード: 全て選択

[チェックするステートID 1, チェックするステートID 2, ...チェックするステートID n].every(stateId => !this.isStateAffected(stateId));

と書くことができ、
対象ステートが複数あって、そのすべてにかかっていることを条件にする場合、

コード: 全て選択

[チェックするステートID 1, チェックするステートID 2, ...チェックするステートID n].every(stateId => this.isStateAffected(stateId));

と書くことができます。
例えば、対象が 毒、暗闇(ステートID 0005)、沈黙(ステートID 0006)のいずれかにかかっていることを条件にする場合、

コード: 全て選択

[4, 5, 6].every(stateId => !this.isStateAffected(stateId));

と書くことができます。
ステート ID 4, 5, 6 のいずれにもかかっていない場合は使用不可という意味合いになります。

上記を全てにかかっていることを条件とする式に変えるときは everyの部分を some に変えればOKです。
この場合、 ステートID 4, 5, 6 のいずれかにかかっていない場合は使用不可という意味合いになります。

ご確認ください。
草の民
記事: 6
登録日時: 2023年8月13日(日) 07:49

Re: 【解決済み】特定のステート中の敵しか選べないスキル

投稿記事by 草の民 » 2023年8月17日(木) 12:42

うわわわ!!!すごく丁寧にありがとうございました!
無事完璧にする事が出来ました!

大変助かりました。今後のご活躍も祈っています!!!

“MV:質問” へ戻る