(解決済)プラグインに利用するメモでの変数利用について

ゆーじーん

ユーザー
プラグインによっては、キャラクターのメモ欄などでコードを記載する必要があったりしますが、その中に変数を用いることは可能でしょうか?

例えば、YEP_BattleAICoreを利用した際に、スキルをランダムで発動する時に
メモ欄に『Random 50%: スキル名』とコード記載するところを50%という部分を変数にしたいのですが可能でしょうか?

また、可能なら『Random 50%: スキル名』という部分を丸々変数にして、$gameVariables.value(1)のようにコード自体を変数化することはできませんでしょうか?(この記載ではうまくいきませんでした)
 

munokura

ユーザー
まず、色々なプラグインを見てきた経験(つまり技術的な裏付けではありません)から、メモ欄に変数を使えるかどうかは、そのプラグインがそういった機能をもっているかにかかっていると思います。

YEP_BattleAICoreについては、その機能がありそうです。
ヘルプを読んだだけですが、
* バージョン1.11から、Battle A.I. Coreの現在複数の条件をサポートしています。
* 複数の条件を設定するには「条件:スキルx、ターゲット」の形式に従います。
*
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*
* 複数の条件を追加するには、次の例のように各条件の間に+++を挿入するだけです。
* Switch 1 on +++ Switch 2 on: Fire, Lowest HP%
* Turn 3 > 1 +++ Variable 5 <= 100 +++ Switch 3 on: Ice, Lowest HP%
* Random 50% +++ Highest Party Level > 50: Thunder, Highest HP%
*
* 上記の例で選択したスキルを使用するためには、すべての条件を満たす必要があります。
というように、スクリプトではなく Variable 5 といった書式で変数を入れられるようです。
https://fungamemake.com/archives/619

参考になれば幸いです。
 
最後に編集:

ゆーじーん

ユーザー
ご返信いただきありがとうございます。

たしかに、数字の変数単体であればそのようにすれば機能するのですが、『Random Variable 1% 』のようにしても機能しませんでした。
そういうものとあきらめるしかなさそうですね^^;
 

munokura

ユーザー
ちょっと何をしたいのかが理解できていないようです。

例えば、変数5番をランダムで適当な数値(1から100を代入)に変えて、変数5番が1のときだけ動作するということでは実現できないということでしょうか?
「1%の確率でスキルを使用させたい」のであれば、「Random 1%」になるでしょうね。
その1%を変数で変動させたいのであれば、
1.変数を変動(例:変数5に1から100の乱数を代入)させる。
2.条件を「Value 5 <= 5」とする。
と変数の変動で5%の確率になると思います。

より実現したい具体的な例を挙げていただけないでしょうか?
 

ゆーじーん

ユーザー
再度返信いただきありがとうございます(^^)

「Random ●%でスキル発動」の●部分を変数で代入したいと思っておりまして。
さらに●の部分はステータス等の現在値を持ってきたいと考えています。

キャラAのスキル能力値が70なら、ランダム70%でスキル発動みたいな感じにしたいと思っております。

なので、自動発動のためには、このプラグインのメモ欄にRandom 70%といれる必要があるのですが、その70にあたる部分を変数として持ってきたいのです。

ちなみに両辺を変数にしたvalue 1 <= Value 2:skillというような計算式では機能しませんでした。
 

munokura

ユーザー
なるほど、その考えだと直接変数のコードは使用できなさそうですね。
しかし、ヘルプに下記の記述を見つけました。
* EVAL eval
*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* どのようなコードでも、それを用いて条件を確認し、満たすことが可能になります。
* この条件は、スキルのスコープ内の全ての生存メンバーを
* 有効なターゲットとして扱います。
*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* 例: Eval user.name() === 'Bat A': Skill 10, Highest HP%
Eval を使えば、そのままスクリプトから変数を使用することができそうですが、いかがでしょうか?
(自分はスクリプトが書けなくて、ググって変数に代入する程度の知識しかありません…なので…ここから先はゆーじん様ご本人か先人にバトンタッチ願います!)
 

ゆーじーん

ユーザー
おぉ!
Evalを使えばその後にjavaでスクリプトの記載が可能だったんですね!
ありがとうございました(^^)
 
トップ