【解決済み】

アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

【解決済み】

投稿記事by ドラムカン » 2021年10月06日(水) 14:35

いつもお世話になっております。

隊列のうちの一人の歩行アニメーションをOFFにする方法はございますでしょうか?
かっぴ様ご製作の「Kpp_MoveRouteFollowerMZ.js」で実現できそうなのですが
MZ用のプラグインしかないようで、どうにも再現ができませんでした。

お知恵を拝借できましたら幸いです。
よろしくお願いいたします。
最後に編集したユーザー ドラムカン on 2023年6月25日(日) 21:51 [ 編集 2 回目 ]

アバター
冷やっこ
記事: 132
登録日時: 2020年3月04日(水) 22:47

Re: 隊列のうちの一人の歩行アニメーションをOFFにする方法

投稿記事by 冷やっこ » 2021年10月07日(木) 10:09

ドラムカン さんが書きました:いつもお世話になっております。

隊列のうちの一人の歩行アニメーションをOFFにする方法はございますでしょうか?
かっぴ様ご製作の「Kpp_MoveRouteFollowerMZ.js」で実現できそうなのですが
MZ用のプラグインしかないようで、どうにも再現ができませんでした。

お知恵を拝借できましたら幸いです。
よろしくお願いいたします。



おはようございます!

こちらのプラグインを試されてはいかがでしょうか。
「ツミオ様作、フォロワーを操作するプラグイン(OperateDearFollowers.js)」
https://forum.tkool.jp/index.php?thread ... BD%9C.405/
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re:

投稿記事by ドラムカン » 2021年10月08日(金) 17:36

冷やっこ 様

いつもお世話になります。
ご回答いただきまして、誠にありがとうございます。

早速ご紹介いただきましたツミオ様のプラグインを試してみたところ

「ODF setWalkAnimeOff フォロワー番号」 : 歩行アニメOFF。

このプラグインコマンドを使用すると
キャラクター自体が止まってしまい、思った挙動になりませんでした。

スクリプトの方でも
以下のようにしましたが、反応なしでした。

コード: 全て選択

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


歩行アニメoffのコードが{"code":32}ですので
これで行けると思ったのですが、なぜか無反応でした。

他の移動ルートイベント(右に移動など)は上記スクリプトで実現できたのですが……。
このプラグイン自体、歩行アニメoffに対応していないのでしょうか?
どうしてもマヒしたキャラのみ、歩行アニメをオフにしたいと考えております。
最後に編集したユーザー ドラムカン on 2023年6月25日(日) 21:51 [ 編集 1 回目 ]
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 隊列のうちの一人の歩行アニメーションをOFFにする方法

投稿記事by Plasma Dark » 2021年10月09日(土) 10:27

フォロワーの歩行アニメON/OFFは通常、 Game_Follower.prototype.update を通るたびにプレイヤーと同じものに設定されてしまいます。
ツミオさんのプラグインではフォロワーを操作する際に、プレイヤーへの追従をなくすことでそれを回避しています。
あくまでイベント時に自由に操作するためのプラグインであるということなのだと思います。

特定のステートにかかったメンバーの歩行アニメーションをオフにするのであれば、 Game_Follower.prototype.update をフックして後ろにその処理を追加してあげることで対応可能です。

コード: 全て選択

(function () {
  'use strict';

  const _Game_Follower_update = Game_Follower.prototype.update;
  Game_Follower.prototype.update = function () {
    _Game_Follower_update.call(this);
    this.setWalkAnime(!this.actor().isStateAffected(1));
  };
})();


この例では、ステート1番(戦闘不能)にかかったフォロワーのみ、歩行アニメーションがオフになります。
スーッと移動するようになるので見た目かなりシュールですが……。
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re:

投稿記事by ドラムカン » 2021年10月09日(土) 19:14

Plasma Dark 様

いつも大変、お世話になっております。
今回も有用な情報をご提供くださり、誠にありがとうございます。

私の導入の仕方が良くないだけだと思うのですが
いただいたコードを、ツミオ様のプラグインのGame_Follower.prototype.updateの下に配置する
ということで合っていますでしょうか?

フォロワーの操作時に、以下のエラーが出てしまうため、

コード: 全て選択

this.operateFollower is not a function


恐らく配置が間違っているものと考え、
今度は、単独でjsを作成し、Plasma Dark様から頂戴したコードを追加しましたものの、
ゲーム開始直後に以下のundefinedエラーが出てしまいました。

コード: 全て選択

Cannot read property 'isStateAffected' of undefined


ステートID11が麻痺ステートになりますので
isStateAffected(11)としているのですが、これが何か問題なのでしょうか?
ちなみに、4人パーティーで全員マヒにかかった状態で試しても、エラーとなりました。

宜しければ、何らかの解決策をご教示いただけますと幸いです。
何卒、よろしくお願いいたします。
最後に編集したユーザー ドラムカン on 2023年6月25日(日) 21:51 [ 編集 1 回目 ]
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 隊列のうちの一人の歩行アニメーションをOFFにする方法

投稿記事by Plasma Dark » 2021年10月09日(土) 19:39

いただいたコードを、ツミオ様のプラグインのGame_Follower.prototype.updateの下に配置する
ということで合っていますでしょうか?


すみません。ツミオさんのプラグインを使わない前提でした。
私の提示したコードを単体でプラグインとして導入することでご利用いただけます。

今度は、単独でjsを作成し、Plasma Dark様から頂戴したコードを追加しましたものの、
ゲーム開始直後に以下のundefinedエラーが出てしまいました。


ツミオさんのプラグインなしでこれが起こる場合、ちょっと原因がわかりません。
何かフォロワーや、パーティメンバーを拡張するようなプラグインを導入されていないでしょうか。
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re:

投稿記事by ドラムカン » 2021年10月09日(土) 20:11

Plasma Dark 様

早速ご回答くださり、大変感謝申し上げます。

Plasma Dark 様のプラグインを新規導入させていただき、
他のすべてのプラグインをOFFにしてゲームを開始しましても、ニューゲーム選択後に
なぜかCannot read property 'isStateAffected' of undefined が出てしまいます。

新規プロジェクトを作成してそこに入れたところ、ニューゲーム選択後にエラーは出ず、
正しく機能することを確認いたしました。

コアスクリプトは一切いじっておらず、マップイベントは何もない状態で
プラグインもすべてOFFにしているにもかかわらず、なぜエラーになるのか、他に見当が付きません。

ちなみに、プラグイン名は「Paralysis_Follower.js」とし、内容は以下のコードになっております。

コード: 全て選択

(function () {
  'use strict';

  const _Game_Follower_update = Game_Follower.prototype.update;
  Game_Follower.prototype.update = function () {
    _Game_Follower_update.call(this);
    this.setWalkAnime(!this.actor().isStateAffected(11));
  };
})();


あるかどうか不明なのですが、
プロジェクトのrefresh的なことをしなければならないのでしょうか?
最後に編集したユーザー ドラムカン on 2023年6月25日(日) 21:51 [ 編集 1 回目 ]
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re:

投稿記事by ドラムカン » 2021年10月09日(土) 23:04

Plasma Dark 様

原因が分かりました。

新規プロジェクトでは、4人パーティーでスタートするのに対し
制作中のものは、1人パーティーでスタートするため、フォロワーが居ないことによるエラーでした。

また、競合プラグインも見つけました。
トリアコンタン様の、NPCフォロワープラグイン「NpcFollower.js」です。
これを導入していてもエラーが発生するようです。

ただ、上記プラグインは必須ですので、なんとか共存させたいのですが
可能でしょうか?
最後に編集したユーザー ドラムカン on 2023年6月25日(日) 21:51 [ 編集 1 回目 ]
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 隊列のうちの一人の歩行アニメーションをOFFにする方法

投稿記事by Plasma Dark » 2021年10月09日(土) 23:13

大変失礼しました。バトルメンバーが最大数まで揃ってないとエラーになりますね。

コード: 全て選択

(function () {
  'use strict';

  const _Game_Follower_update = Game_Follower.prototype.update;
  Game_Follower.prototype.update = function () {
    _Game_Follower_update.call(this);
    this.setWalkAnime(this.actor() && !this.actor().isStateAffected(11));
  };
})();


こんな感じで、アクターとして存在するフォロワーであるかどうかを確かめてあげれば、 NpcFollower.js があってもちゃんと動くと思います。
アバター
ドラムカン
記事: 178
登録日時: 2019年11月04日(月) 23:02

Re:

投稿記事by ドラムカン » 2021年10月09日(土) 23:34

Plasma Dark 様

遅くまでご対応くださり、本当にありがとうございます。

いただいたコードに差し替えましたところ
見事、正常に動作いたしました! 心から感謝申し上げます!

たったひとつの条件を追加するだけで、競合もパーティー人数の問題も解消できるとは驚きでした。
いつも当方の問題の解決にお力添えくださり、誠にありがとうございます。もはや感謝してもしきれません。

これでまたひとつPlasma Dark様製のプラグインが仲間に加わりました(計5つ利用させていただいております)。
これからも、ご意思の向く限り、どうぞ末長く宜しくお願い申し上げます。

“MV:質問” へ戻る