ページ 1 / 1
【解決済み】戦闘中、スクリプトでアクターの強化状態を判定して解除したい
Posted: 2020年2月27日(木) 19:38
by sunagimo
お疲れ様です。いつもお世話になっております。
掲題の件ですが、以下の方法についてご教授願えませんでしょうか。
・戦闘中、指定したアクターの能力強化状態(スキルの特徴で付与できる、最大HPや攻撃力の強化のことです)に
なっているかどうかを条件分岐コマンドで判定するスクリプト
・指定したアクターの能力強化状態を解除するスクリプト
以上になります
Re: 戦闘中、スクリプトでアクターの強化状態を判定して解除したい
Posted: 2020年2月28日(金) 22:56
by Plasma Dark
・戦闘中、指定したアクターの能力強化状態(スキルの特徴で付与できる、最大HPや攻撃力の強化のことです)に
なっているかどうかを条件分岐コマンドで判定するスクリプト
・指定したアクターの能力強化状態を解除するスクリプト
本当にこれらはスクリプトで実現する必要があるものでしょうか。
戦闘行動の強制で、強化を解除する効果を持ったスキルを使わせる、では不足でしょうか。
もし不足なら下記のようなスクリプトで実現可能かと思います。
全能力について強化状態なら解除するという記述になっているので、能力をどれかに限定したい場合は適宜直して使ってください。
コード: 全て選択
let actor = $gameParty.battleMembers()[隊列位置];
for (let i = 0; i<actor.buffLength(); i++) {
if (actor.isBuffAffected(i)) {
actor.eraseBuff(i);
}
}
Re: 戦闘中、スクリプトでアクターの強化状態を判定して解除したい
Posted: 2020年2月29日(土) 07:02
by sunagimo
>Plasma Dark 様
返信ありがとうございます。いただいたスクリプトで能力強化状態のキャラを判定して
解除することが出来ました。
>本当にこれらはスクリプトで実現する必要があるものでしょうか。
>戦闘行動の強制で、強化を解除する効果を持ったスキルを使わせる、では不足でしょうか。
戦闘行動の強制は、別の処理を流す為に使っているため競合を避けるために
スクリプトで強化状態を解除したいと思っていました。
ただ、強化状態の判定を条件分岐コマンドで行って強化状態の有無で処理を分岐できると
色々融通が利きそうですね……
いただいた処理ですと強化状態の判定と解除がセットになっていますが
こちらの、強化状態の判定だけをイベントコマンドのスクリプトで行う方法があれば
ご教授願えませんでしょうか
Re: 戦闘中、スクリプトでアクターの強化状態を判定して解除したい
Posted: 2020年2月29日(土) 08:44
by Plasma Dark
いただいた処理ですと強化状態の判定と解除がセットになっていますが
こちらの、強化状態の判定だけをイベントコマンドのスクリプトで行う方法があれば
ご教授願えませんでしょうか
条件分岐のスクリプトに以下のように入力すると実現可能です。
コード: 全て選択
$gameParty.battleMembers()[隊列位置].isBuffAffected(ステータス番号)
ステータスを限定せず、全能力のうちいずれかが強化されているかどうかの判定は、やや冗長になりますが以下でできるかと。
コード: 全て選択
Array.from(Array($gameParty.battleMembers()[隊列位置].buffLength()).keys()).some(paramId => $gameParty.battleMembers()[隊列位置].isBuffAffected(paramId))
これを直接条件分岐のスクリプトに入れるよりは、判定用メソッドを追加するプラグインを書いたほうがスッキリしそうです。
https://github.com/elleonard/RPGtkoolMV ... ffected.js
右上のRawボタンからダウンロードするか、
gitが使えるならcloneしていただいても構いません。
このプラグインを導入すると、以下のように書けます。
コード: 全て選択
$gameParty.battleMembers()[隊列番号].isAnyBuffAffected()
詳しくはプラグインのヘルプにまとめていますので、ご参照ください。
Re: 戦闘中、スクリプトでアクターの強化状態を判定して解除したい
Posted: 2020年2月29日(土) 11:35
by sunagimo
>Plasma Dark 様
お世話になっております。Sunagimoです。
判定用メソッドを追加するプラグインまでご用意いただきありがとうございます。
こちらを用いて極めて簡潔に実装確認まで出来ました。
この度はありがとうございました