【保留】変数によるステート取得
Posted: 2023年6月06日(火) 12:41
変数でパーティメンバーのステートを取得する事は可能でしょうか。
また、取得したステートを代入するという事は可能でしょうか。
また、取得したステートを代入するという事は可能でしょうか。
剣崎 宗二 さんが書きました:出来るかできないで言えば無論できます。
ただ、いくつか考慮すべき事があります。
・複数ステートが付与されている場合、どういう形式で変数に入れたいのか(IDの配列でいいのか?)
・ステートの残ターン数も取得する必要があるのか?(ステートとは別に保存されてます)
・代入する際、既に同じステートが付与されていたらどうするのか?(或いは「完全に取得した時のステートの状態に戻す」のか?)
等。具体的にやりたい事によって話は大分変わりますので、今すぐ確固な回答はできません。
剣崎 宗二 さんが書きました:であれば以前回答したこちらが多少参考になるかと思います。
viewtopic.php?t=8637
回答自体はステートの状態を相手側に移すという物ですが、同じ仕組みを利用すればステートの状態の退避、入れ直しも可能かと。
コード: 全て選択
$gameVariables.setValue(63,JsonEx.makeDeepCopy($gameParty.members()[0]._states));
$gameVariables.setValue(64,JsonEx.makeDeepCopy($gameParty.members()[0]._stateTurns));
剣崎 宗二 さんが書きました:1. 開始時スクリプトに誤りがあります。括弧類は必ずかっことかっこ閉じが対応するようにしてください。
↓コード: 全て選択
$gameVariables.setValue(63,JsonEx.makeDeepCopy($gameParty.members()[0]._states));
$gameVariables.setValue(64,JsonEx.makeDeepCopy($gameParty.members()[0]._stateTurns));
2. 他のプラグインを一回切り、そちらとの競合などではない事をご確認ください。
(YEP_AutoPassiveStatesが見えてます)
3. スキルからコモンイベントの呼び出し部分は完全に誤り(同じものを同じところに入れなおしている)のですが、そもそも開始時のエラーを乗り越えないとそこに行けないので一旦放置いたします。
結局、LInna様がやろうとしている事は決して「簡単な事」ではないのです…