【解決済み】OperateDearFollowersプラグインで完了までウェイトを使いたい

返信する
Na08
記事: 2
登録日時: 2023年4月30日(日) 22:01

【解決済み】OperateDearFollowersプラグインで完了までウェイトを使いたい

投稿記事 by Na08 »

ツクールを初めて数カ月目です。よろしくお願いします。
制作中のゲームでツミオ様のOperateDearFollowers.jsを使用させていただいてます。
操作用のスイッチをONにした後に

var moveRoute = {
"list":[{"code":2},
{"code":2},{"code":2},{"code":2},{"code":2},{"code":2},
{"code":0}],
"repeat":false,
"skippable":false,
"wait":true};
this.operateFollower(0, moveRoute);

とスクリプトを入力しているのですが、完了までウェイトされなくて困っています。
こちらのプラグイン以外をはずし新規プロジェクトで試しましたが、やはりウェイトされませんでした。
色々調べて this.setWaitMode('route') なども試してみたのですがプラグインの内部を理解することができず上手く機能させることができませんでした。
こちらのプラグインのおかげで隊列メンバーを暗転や再配置を行わずに行動させることができ大変便利に感じております。できれば完了までウェイトを使いたいので良い解決策があればご助力お願い致します。
最後に編集したユーザー Na08 [ 2023年7月27日(木) 17:34 ], 累計 2 回
ecf5DTTzl6h6lJj02
記事: 752
登録日時: 2018年12月23日(日) 13:55

Re: OperateDearFollowersプラグインで完了までウェイトを使いたい

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
Na08 さんが書きました:ツクールを初めて数カ月目です。よろしくお願いします。
制作中のゲームでツミオ様のOperateDearFollowers.jsを使用させていただいてます。
操作用のスイッチをONにした後に

var moveRoute = {
"list":[{"code":2},
{"code":2},{"code":2},{"code":2},{"code":2},{"code":2},
{"code":0}],
"repeat":false,
"skippable":false,
"wait":true};
this.operateFollower(0, moveRoute);

とスクリプトを入力しているのですが、完了までウェイトされなくて困っています。
こちらのプラグイン以外をはずし新規プロジェクトで試しましたが、やはりウェイトされませんでした。
色々調べて this.setWaitMode('route') なども試してみたのですがプラグインの内部を理解することができず上手く機能させることができませんでした。
こちらのプラグインのおかげで隊列メンバーを暗転や再配置を行わずに行動させることができ大変便利に感じております。できれば完了までウェイトを使いたいので良い解決策があればご助力お願い致します。
operateFollower メソッドで、移動ルートによるウェイトを設定する処理がされていないようです。
また、イベントを制御するオブジェクトである Game_Interpreter に対して、移動ルートの完了を監視する対象(キャラクター)が設定されていないので、 this.setWaitMode('route') と記述してもきちんと機能してくれません。

プラグインを編集できるソフトウェアで、OperateDearFollowers.js を開き、
557 行目 あたりから始まっている、
Game_Interpreter.prototype.operateFollower
というメソッドを以下に書き換えてみてください。
(書き換えは、元のファイルのバックアップを取ってから行なってください)

コード: 全て選択

    Game_Interpreter.prototype.operateFollower = function(num, moveRoute) {
        this._character = $gamePlayer.followers().follower(num);
        if(this._character) {
            this._character.forceMoveRoute(moveRoute);
            if (moveRoute.wait) {
                this.setWaitMode('route');
            }
        }
    };
恐らく、これできちんとウェイトしてくれると思います。
ご確認ください。
Na08
記事: 2
登録日時: 2023年4月30日(日) 22:01

Re: OperateDearFollowersプラグインで完了までウェイトを使いたい

投稿記事 by Na08 »

ecf5DTTzl6h6lJj02さん、返信ありがとうございます。
頂いたコードで完了までウェイトさせることができました!
今の自分では解決できなかったと思うので本当に助かりました。
分かりやすいご回答ありがとうございました。
返信する

“MV:質問”に戻る