【解決済】FTKR_ExBattleCommand【特定のステート時のみコマンド封印】

youseityan
記事: 94
登録日時: 2018年8月19日(日) 05:35

【解決済】FTKR_ExBattleCommand【特定のステート時のみコマンド封印】

投稿記事by youseityan » 2019年4月25日(木) 13:51

質問失礼いたします。

フトコロ様のFTKR_ExBattleCommand
(https://github.com/futokoro/RPGMaker/bl ... Command.js

についてなどですが
特定のステートが付与されている場合のみアクターコマンドを封印させたいのですが
どのようにせっていすれば良いでしょうか?

ヘルプの方に

>enabled : 実行するための条件を設定する場合に、スクリプトで入力してください。
>条件を指定しない場合は true にしてください。

とも書かれているので可能だとは思うのですが知識がなく・・・
よろしくお願い致します。
最後に編集したユーザー youseityan on 2019年5月10日(金) 00:13 [ 編集 1 回目 ]

アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: FTKR_ExBattleCommand【特定のステート時のみコマンド封印】

投稿記事by フトコロ » 2019年4月28日(日) 23:06

こんにちは。

コマンド選択中のアクターが、特定のステートに掛かっているかどうかを判定するスクリプトは以下です。

this._actor.isStateAffected(ステートID)

このまま enabled に設定すれば、ステートIDで指定したステートが付与されている間使用できるようになります。
付与されていない間に変える場合は、this の前に ! をつけてください。( !this._actor.~)

例:ステートID4(毒)が掛かっている間は、攻撃コマンドを使用できない設定

コード: 全て選択

<FTKR_ACTOR_COMMAND: attack 0 !this._actor.isStateAffected(4) 1>



なお、現状では非表示にはできません。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
youseityan
記事: 94
登録日時: 2018年8月19日(日) 05:35

Re: FTKR_ExBattleCommand【特定のステート時のみコマンド封印】

投稿記事by youseityan » 2019年5月02日(木) 00:11

フトコロ様
お返事ありがとうございます
また、お礼が遅れてしまい申し訳ございませんでした
教えていただいた
this._actor.isStateAffected(ステートID) こちらのコードにて上手くいきました!

それと良ければもう1つ教えていただきたいのですが
>!this._actor.isStateAffected(4)
こちらのコードですと毒にかかっている間はコマンドが使用できなくなりますが
こちらを例えばステートID4「毒」かステートID5「暗闇」がかかっている間は
コマンド使用不可にしようと思えばどの様に記述したら良いでしょうか?

自身でも調べて色々記述を変えたりもしたのですが上手く行かず・・・
重ねがさね申し訳ないのですが
お時間があるときで結構ですので御教授いただけましたら幸いです。
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: FTKR_ExBattleCommand【特定のステート時のみコマンド封印】

投稿記事by フトコロ » 2019年5月07日(火) 23:16

youseityan さんが書きました:それと良ければもう1つ教えていただきたいのですが
>!this._actor.isStateAffected(4)
こちらのコードですと毒にかかっている間はコマンドが使用できなくなりますが
こちらを例えばステートID4「毒」かステートID5「暗闇」がかかっている間は
コマンド使用不可にしようと思えばどの様に記述したら良いでしょうか?


AまたはBという条件式にする場合には、いくつかありますが一番簡単な記述は「A || B」というものです。
上記の例であれば、以下のようになります。

コード: 全て選択

!this._actor.isStateAffected(4)||!this._actor.isStateAffected(5)


この記述はC、D、…と条件が増えても同じように記述できます。
例)A||B||C||D ⇒A~Dの条件のいずれか一つを満たす場合

この辺りの条件式に記述方法ですが、JavaScriptというプログラム言語について調べてみると良いと思います。
ツクールMVのスクリプトおよびプラグインはJavaScriptで記述していますので。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
youseityan
記事: 94
登録日時: 2018年8月19日(日) 05:35

Re: FTKR_ExBattleCommand【特定のステート時のみコマンド封印】

投稿記事by youseityan » 2019年5月10日(金) 00:12

フトコロ様
返事遅くなってしまい申し訳ございません
いつも分かりやすい説明ありがとうございます!

教えていただいたコードを参考にさせていただき
複数のステートでコマンドを使用不可にすることが出来ました!

本当にいつもありがとうございます。
JavaScriptも理解できるように頑張ります!

“MV:質問” へ戻る