ページ 11

【解決済】FTKR_AISkillEvaluateでメモ欄の書き方を教えて下さい

Posted: 2018年10月05日(金) 00:11
by kumatokuma
対象敵の魔法反射率が40%以下で属性有効度60%以上の時だけ使用したくて、
<ASE_評価値式:b.mrf <= 0.4 && 0.6 <= b.elementRate(2)>
としたら、とりあえず効果はでるのですが、
スキルの評価値は 0 ~ 1 の間に収まるように…の部分で
どう書いてよいのか分からず困っています。
あと、それを全体魔法に設定したくて、
対象グループに反射率40%以上の敵が0人の場合に使用したいのですが、
条件を満たす人数を求める事はできますでしょうか?
もし設定可能でしたら書き方を教えて下さい。


戦闘不能以外の状態異常を解除するスキルに設定したいのですが、
ステート4~10、13~18の、いずれかの状態にかかっている場合
というのはどう書けばよいでしょうか?
<ASE_評価値式:!b.aseState(4) || !b.aseState(5) ……
と続けていけば動作はするのですが、
ステートが10個以上あって凄く長くなってしまうので、
まとめて短くする書き方があれば教えて頂けるとありがたいです。


よろしくお願い致します。

Re: FTKR_AISkillEvaluateでメモ欄の書き方を教えて下さい

Posted: 2018年10月05日(金) 22:20
by フトコロ
kumakuma さんが書きました:対象敵の魔法反射率が40%以下で属性有効度60%以上の時だけ使用したくて、
<ASE_評価値式:b.mrf <= 0.4 && 0.6 <= b.elementRate(2)>
としたら、とりあえず効果はでるのですが、
スキルの評価値は 0 ~ 1 の間に収まるように…の部分で
どう書いてよいのか分からず困っています。

こんな感じでしょうか。条件を満たすときに1、そうでないと0になる式です。
<ASE_評価値式:b.mrf <= 0.4 && 0.6 <= b.elementRate(2) ? 1 : 0>
1のところを好きに調整してください。

kumakuma さんが書きました:あと、それを全体魔法に設定したくて、
対象グループに反射率40%以上の敵が0人の場合に使用したいのですが、
条件を満たす人数を求める事はできますでしょうか?

こんな感じでしょうか。敵グループの中で1人でも反射率40%以上がいると0、それ以外は1になる式です。
<ASE_評価値式:$gameTroop.members().some(function(m){return !!m && 0.4 <= m.mrf;}) ? 0 : 1>

kumakuma さんが書きました:ステート4~10、13~18の、いずれかの状態にかかっている場合
というのはどう書けばよいでしょうか?

こんな感じでしょうか。[]内のいずれかのIDのステートに b がかかっていると1、そうでないと0になる式です。
<ASE_評価値式:[4,5,6,7,8,9,10,13,14,15,16,17,18].some(function(id){return b.aseState(id);}) ? 1 : 0>


ただ、どれも式が長くなりすぎるのと複雑になるので、良くないですね。

Re: FTKR_AISkillEvaluateでメモ欄の書き方を教えて下さい

Posted: 2018年10月05日(金) 23:44
by kumatokuma
フトコロ様、書き方を教えて下さり、ありがとうございます。
凄く助かりました。

>ただ、どれも式が長くなりすぎるのと複雑になるので、良くないですね。
というのは、見た目だけの問題ですか?それともゲームの処理的にも良くないのでしょうか?
全てのスキルに長々と設定しようと思っているのですが……。

Re: FTKR_AISkillEvaluateでメモ欄の書き方を教えて下さい

Posted: 2018年10月06日(土) 08:01
by フトコロ
見た目の問題ですね。
長いと誤記も出やすくなりますので。

Re: FTKR_AISkillEvaluateでメモ欄の書き方を教えて下さい

Posted: 2018年10月06日(土) 10:44
by kumatokuma
フトコロ様、ご回答ありがとうございます。
見た目の問題との事で安心しました。誤記には気を付けたいと思います。

この度は、本当にありがとうございました。