ページ 11

[解決済み]フトコロ様のFTKR_ExBattleEvent.jsのEBE_モーション実行について

Posted: 2019年1月09日(水) 19:05
by リーチ
こんばんは。
いつもお世話になっております。フトコロ様の作成された
バトルイベント拡張プラグインについての質問です。
バトルイベント用に使用できるプラグインコマンドの中に
パーティーメンバーに指定のモーションをとらせる

EBE_モーション実行 [モーション名] [対象メンバー]
EBE_REQUEST_MOTION [MOTION NAME] [TARGET MEMBER]
対象メンバーには以下を入力してください。 空欄の場合は、すべてのメンバーを対象にします。
0~ - 先頭を 0番としたときの隊列順
全員 or ALL - すべてのメンバー

とあるのですが、思ったように動いてくれません。
全員 or ALLでの指定では動いてくれるのですが、隊列順では動いてくれず
アクターIDの番号を読み取って動いてしまっているようです。
新しく作ったプロジェクトでもアクターIDの番号で読み取っていました。

これを隊列順で動かせる対処法が分かる方がいらっしゃれば教えていただけると助かります!
よろしくお願い致します。

Re: フトコロ様のFTKR_ExBattleEvent.jsのEBE_モーション実行について

Posted: 2019年1月09日(水) 19:55
by ジャングル
初めまして。ジャングルといいます。

618行目を変更したら可能ではないですか?
動作確認はしていませんが、IDではなく隊列による処理はできると思います。

◆変更前

コード: 全て選択

            if(!args[1] || args[1] === '全員' || args[1].toUpperCase() === 'ALL') {
                $gameParty.requestMotion(args[0]);
            } else if (Number(args[1]) >= 0) {
                var actor = $gameActors.actor(Number(args[1])); // <= ここです
                if (actor) actor.requestMotion(args[0]);
            }
◆変更後

コード: 全て選択

            if(!args[1] || args[1] === '全員' || args[1].toUpperCase() === 'ALL') {
                $gameParty.requestMotion(args[0]);
            } else if (Number(args[1]) >= 0) {
                var actor = $gameParty.members()[Number(args[1])]; // <=
                if (actor) actor.requestMotion(args[0]);
            }
$gameActors.actor(n)と $gameParty.members()[n] で返される値は同じタイプのオブジェクトです。
隊列に対して処理を行いたい場合は、これで可能だと思います。

Re: フトコロ様のFTKR_ExBattleEvent.jsのEBE_モーション実行について

Posted: 2019年1月09日(水) 20:43
by リーチ
初めまして! ジャングル様

ご指摘の通りスクリプトを書き換えたところ
自分が望んでいる様に動いてくれました!
本当にありがとうございます。

色々と初心者なもので、隊列番号ではなくアクターIDを
読み取っている事だけ分かっていたのですが
どこを書き換えればいいのか全然わからん状態でした…。

変数に格納するときの
$gameParty.members()[0].mhp
のようなスクリプトを入れれば良かったのですね!
こちらの質問はこれにて解決済みとさせていただきます!

Re: [解決済み]フトコロ様のFTKR_ExBattleEvent.jsのEBE_モーション実行について

Posted: 2019年1月09日(水) 21:44
by ジャングル
良かったです。

問題箇所の特定は「慣れ」ですね。
スクリプトを読む習慣ができれば高まるようです。

また、解決できそうな問題であれば回答することがあるかもしれません。
あとツクマテで結構質問すると思うので、その際は宜しくお願いします。

それでは失礼します。
解決して良かったです。