身代わりをする時に対象の前に移動するプラグインが欲しいです

スヴェン
記事: 135
登録日時: 2018年11月02日(金) 22:30

身代わりをする時に対象の前に移動するプラグインが欲しいです

投稿記事by スヴェン » 2022年4月14日(木) 21:15

デフォルト機能である身代わり機能なのですがログを消した状態でやっていたので身代わりが発動していることに長いこと気づきませんでした。
サイドビューだと見栄え的にも映えませんし身代わりが発動した時に対象の仲間の前に一瞬でパッと移動するような演出がされるようにしたいです。
よろしくお願いします。

アバター
くろうど
記事: 266
登録日時: 2016年1月22日(金) 20:52
お住まい: 東京都
連絡を取る:

Re: 身代わりをする時に対象の前に移動するプラグインが欲しいです

投稿記事by くろうど » 2022年4月18日(月) 01:33

作ってみました。
必要な点があれば適宜改造してください。

↓ダウンロードはGitHub↓
https://github.com/kuroudo119/RPGMZ-Plu ... 8%E7%A4%BA
▼だいたいTwitterにいます。たぶん。
https://twitter.com/kuroudo119
スヴェン
記事: 135
登録日時: 2018年11月02日(金) 22:30

Re: 身代わりをする時に対象の前に移動するプラグインが欲しいです

投稿記事by スヴェン » 2022年4月18日(月) 04:14

ありがとうございます!
早速導入してみましたが競合もなく無事機能しました。

ただ、すみません、かばってから元のポジションに戻るのが早いので出来ることなら任意でウェイトをかけて戻るようにしたいと思っているのですが、どこにどういう風に記述をすればいいのか教えて頂けないでしょうか?
当方、プラグイン知識は皆無なもので検討が付きません(汗)
よろしくお願いします。


くろうど さんが書きました:作ってみました。
必要な点があれば適宜改造してください。

↓ダウンロードはGitHub↓
https://github.com/kuroudo119/RPGMZ-Plu ... 8%E7%A4%BA
アバター
くろうど
記事: 266
登録日時: 2016年1月22日(金) 20:52
お住まい: 東京都
連絡を取る:

Re: 身代わりをする時に対象の前に移動するプラグインが欲しいです

投稿記事by くろうど » 2022年4月18日(月) 19:01

スヴェン さんが書きました:ただ、すみません、かばってから元のポジションに戻るのが早いので出来ることなら任意でウェイトをかけて戻るようにしたいと思っているのですが、どこにどういう風に記述をすればいいのか教えて頂けないでしょうか?
当方、プラグイン知識は皆無なもので検討が付きません(汗)
よろしくお願いします。


これなんですが、プラグイン中でウエイトをかける方法は私にも分かりません。
ただ、本プラグインが何をしているかは説明できます。

87行目:startMove がSVアクター画像を移動する予約をしています。

42行目:requestMotionRefresh で予約された移動を実行しています。

本プラグインでは、かばうようにSVアクター画像を移動させていますが、実は元の位置に戻す処理は書いていません。
ですので、コアスクリプトのどこかに書いてある元の位置に戻す処理を探してそれを改変すればなんとかなるかもしれませんが、私の方では断念しました。

よろしくお願いします。
▼だいたいTwitterにいます。たぶん。
https://twitter.com/kuroudo119
スヴェン
記事: 135
登録日時: 2018年11月02日(金) 22:30

Re: 身代わりをする時に対象の前に移動するプラグインが欲しいです

投稿記事by スヴェン » 2022年4月19日(火) 00:59

そうなんですか、残念です。
他に誰か分かる方が居るかもしれないので解決済みにはせずに残しておこうと思います。
ありがとうございました。
アバター
剣崎 宗二
記事: 681
登録日時: 2016年11月12日(土) 20:36
連絡を取る:

Re: 身代わりをする時に対象の前に移動するプラグインが欲しいです

投稿記事by 剣崎 宗二 » 2022年4月19日(火) 16:32

こちら私は今作業時間が取れませんが、後で作るかもしれない方の為にヒントを出しておきます。

・移動圧を掛けているのはSprite_Actor.prototype.updateMain内のupdateTargetPosition()

コード: 全て選択

Sprite_Actor.prototype.updateTargetPosition = function() {
    if (this._actor.canMove() && BattleManager.isEscaped()) {
        this.retreat();
    } else if (this.shouldStepForward()) {
        this.stepForward();
    } else if (!this.inHomePosition()) {
        this.stepBack();
    }
};

移動中でなく、Home Positionにもいない限り常にStepBackの位置への移動Requestがかかる事になる

・修正例としてはSprite_Actor.prototype.substituteMoveにてモーション全体時間のカウンターを設け、updateMainかupdateTargetPositionでカウンターを減らし0になるまで上記移動Requestを停止させる

・但し他にもupdateTargetPositionを使っている可能性のある場所もあるので要注意

と言った所ですね。

飽くまでも参考意見として。
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
スヴェン
記事: 135
登録日時: 2018年11月02日(金) 22:30

Re: 身代わりをする時に対象の前に移動するプラグインが欲しいです

投稿記事by スヴェン » 2022年4月24日(日) 02:19

剣崎さん

ありがとうございます。
私は知識が無いのでチンプンカンプンですがどなたか分かる方が参考にして制作して下さったら嬉しいです。

剣崎 宗二 さんが書きました:こちら私は今作業時間が取れませんが、後で作るかもしれない方の為にヒントを出しておきます。

・移動圧を掛けているのはSprite_Actor.prototype.updateMain内のupdateTargetPosition()

コード: 全て選択

Sprite_Actor.prototype.updateTargetPosition = function() {
    if (this._actor.canMove() && BattleManager.isEscaped()) {
        this.retreat();
    } else if (this.shouldStepForward()) {
        this.stepForward();
    } else if (!this.inHomePosition()) {
        this.stepBack();
    }
};

移動中でなく、Home Positionにもいない限り常にStepBackの位置への移動Requestがかかる事になる

・修正例としてはSprite_Actor.prototype.substituteMoveにてモーション全体時間のカウンターを設け、updateMainかupdateTargetPositionでカウンターを減らし0になるまで上記移動Requestを停止させる

・但し他にもupdateTargetPositionを使っている可能性のある場所もあるので要注意

と言った所ですね。

飽くまでも参考意見として。

“MZ:プラグイン素材のリクエスト” へ戻る