ページ 11

【解決済】味方一人を選択して身代わりを行いたい

Posted: 2022年1月05日(水) 20:36
by 麒 麟
表題の件ですが、現状の身代わりの仕様だと味方のうち瀕死の味方をランダムで身代わりします。(細かい条件等はありますが省略)
別途トリアコンタン様の「SubstituteExtend.js」を使用しても特定の味方を選択して、ということはできません。
なのでこういうことができるプラグインがあれば嬉しいなという感じです。

やりたいこととしては以下です。

・戦闘中に独自の身代わり用スキルを使用し、通常のスキル使用時と同じように味方一人(使用者以外)を選択して身代わり対象を選択する
・HPの残量に関係なくスキルを使用したら身代わりできるようにする
・誰を身代わりしたかを示すアクターIDなりを変数に格納する

詳細な処理としてはこんな感じです。

①スキルに独自の身代わりスキルを作成し、使用効果に独自の身代わり用コモンを指定する
②コモンイベントでプラグインコマンドを使用してプラグインを呼び出す
③戦闘中に該当スキルを使用すると、画面下部に表示されているキャラ名を選択して身代わり対象とできる
④身代わりが成功した場合、身代わりした味方のアクターIDをプラグインパラメータで指定した変数番号の中に格納する
⑤コモンイベントでプラグインコマンドを使用したあと、後続処理でその変数を用いて処理する

分かり辛いところもあるかもしれませんが、何卒よろしくお願いします。

Re: 味方一人を選択して身代わりを行いたい

Posted: 2022年1月07日(金) 23:30
by ドスコイザー
トリアコンタンさんのSubstituteExtendプラグインにはタグ指定で身代わり対象を限定できる機能があります。
こちらを使用して「味方1体へ身代わり対象になるステートを付与するスキル」を作ることで、ご要望としてあげられている内容の大部分は実現できそうですよ!

以下、ご参考までにSubstituteExtendプラグインを使用した簡単な実装例です。

①身代わりスキルを使用するアクターの設定
特徴欄に身代わりを追加、メモ欄に以下を追加
<SE_身代わり対象限定:1>

②ステートの用意
メモ欄に以下を追加
<SE_身代わり対象者:1>

③スキルの設定
範囲は味方単体、使用効果は②で用意したステート付加を設定


これで単体のみを庇う対象とした身代わりスキルが実装できますが、
成功時にアクターのIDを格納してコモンイベントを実行...だけはちょっと難しそうでした。

なのでその機能のみ独立したプラグインを用意しました。併用することでお望みの挙動に近づくかと思いますので、ぜひお試し下さい。

プラグイン管理リスト上でSubstituteExtendより下に配置すれば動作するはずです。

Re: 味方一人を選択して身代わりを行いたい

Posted: 2022年1月08日(土) 00:19
by 麒 麟
>ドスコイザーさん

ありがとうございます!
ただ作成していただいたプラグインを設定してやってみたのですがどうもうまくいかず……。

事象としては
①ハロルドに当該スキルを覚えさせて味方一人を身代わりするようにさせる
②その後戦闘中に作成した身代わりスキルで仲間一人を選択
③ハロルドの番になったら「○○をかばった!」(メッセージは画像参照)と表示される(それだけで何も無し)
④しかし後続の敵の攻撃で味方に対して普通に攻撃が当たる
です。

設定としてはアクター画面、スキル画面、ステート画面を添付画像のように設定しました。
また別途アクター画面の仲間の特徴蘭には「<SE_対象者HP率:100>」を記載しました。
ステート画面の特徴は対象が変数になっていますが、「<SE_身代わり対象者:1>」としても同じでした。

自分が「<SE_身代わり対象限定:1>」と「<SE_身代わり対象者:1>」の区別をあまり分かっていないだけかもしれませんが、何か間違っていることなどありましたら教えていただけますでしょうか。

Re: 味方一人を選択して身代わりを行いたい

Posted: 2022年1月08日(土) 00:36
by ドスコイザー
詳しく調査してみます!

とりあえずパッと思いつく原因がいくつかあるので、
動作確認時の環境が以下を満たしているか教えていただけますか?

・SubstituteExtendプラグインの設定項目「身代わり条件_瀕死」がfalseになっている
 →該当フラグがfalseなら体力関係なく身代わりが行われるはずなので、<SE_対象者HP率:100>の設定は不要です
・敵の攻撃が必中属性でない

Re: 味方一人を選択して身代わりを行いたい

Posted: 2022年1月08日(土) 01:11
by ドスコイザー
添付いただいた画像を見ていてマズい設定が1ヶ所ありました。

ステートによってタグを付与している都合上、ステートが解除されたら必然的にタグも消えてしまうのですが、
画像ではかばうステートの設定が
行動制約…行動できない
解除条件…行動制約によって解除
となっています。
これが原因でステートがすぐ解除されてしまい、身代わり対象から外れてしまっているのかと思われます。
(ちなみに、他のスキルや全回復コマンド等でステートが解除された場合も同様です)

「行動制約によって解除」のチェックを外してみて動作しないか試していただけますか?

Re: 味方一人を選択して身代わりを行いたい

Posted: 2022年1月08日(土) 03:18
by 麒 麟
>ドスコイザーさん

夜分遅くにも関わらず申し訳ございません。
ご指摘通りステートの解除条件を変更し、追加でステートのメモ欄の「<SE_身代わり対象者:\V[7]>」を「<SE_身代わり対象者:1>」に変更してみたところ無事選択した味方をかばうことに成功しました!ありがとうございます!

あとこれは蛇足で「使用者自身は身代わりの対象にさせない」ということもやりたかったのですが、これはトリアコンタン様の「RestrictionTargetSkill.js」で可能でした。
viewtopic.php?t=2143

本当にありがとうございました!