変身すると行動パターンが乱れる(行動しない、重複する)

ecf5DTTzl6h6lJj02
記事: 752
登録日時: 2018年12月23日(日) 13:55

Re: 変身すると行動パターンが乱れる(行動しない、重複する)

投稿記事 by ecf5DTTzl6h6lJj02 »

初心者&質問者 さんが書きました: ①敵キャラが変身
②主人公があるスキルを使うと、変身が解ける(敵キャラが元の姿に戻る)
③ ②が行われない限りは、敵の変身は解けない。
(例えば、変身後は敵キャラをバリアが覆うイラストに変更になり、全てのダメージを受けなくなる。
 主人公が「バリア解除」のスキルを使うと、バリアが解除された事を表すため、元のイラストに戻り
 ダメージを与えられるようになる)

という場合、行動パターンの誤差を生じさせない事は
可能でしょうか。

(上記内容が、実際に制作で躓いている部分です)
  • 変身/変身解除時は行動しない。
  • 変身解除した後の行動が初手に戻る
の条件付きで良ければ、次のように設定すればよいかと思います。

1.変身/変身解除 スキル使用時用に、『効果がなかった』というメッセージが表示されないようにするための、ダミーのステートを作成しておきます。

2.変身、変身解除の2つのスキルを作成し、
変身スキルに、ステート付加でダミーのステートを付加し、変身用のコモンイベントを呼び出すように設定します。
変身解除も変身スキル同様、ダミーのステートを付加し、変身解除用のコモンイベントを呼び出すよう設定します。

3.バリア展開前のエネミーの行動パターンを以下のように設定します。(5ターン目にバリアを展開するよう設定してます。 Rの部分は省略)
  • スキル1 使用条件: ターン 0
  • スキル2 使用条件: ターン 1+5*X
  • スキル3 使用条件: ターン 2+5*X
  • スキル4 使用条件: ターン 3+5*X
  • バリア  使用条件: ターン 4+5*X
4.バリア展開後のエネミーの行動パターンを以下のように設定します。
  • スキル1 使用条件: ターン 5+4*X
  • スキル2 使用条件: ターン 6+4*X
  • スキル3 使用条件: ターン 7+4*X
  • スキル4 使用条件: ターン 8+4*X
5.バリア使用/バリア解除のスキルが呼び出すコモンイベントとして次の2つを作成します。
バリア使用時のコモンイベント

コード: 全て選択

◆敵キャラの変身:#1, バリアを使用する敵
◆スクリプト:// 変身時に行動を再設定して行動してしまうので、
:     :// 行動を空にする。
:     :$gameTroop.members()[0].clearActions();
:     :
:     :// 変身を繰り返した時に、
:     :// 名前にアルファベットがくっついてしまうのを阻止
:     :$gameTroop._namesCount['バリアを使用する敵'] = 1;
バリア解除時のコモンイベント

コード: 全て選択

◆敵キャラの変身:#1, バリアを使用する敵
◆スクリプト:// 変身時に行動を再設定して行動してしまうので、
:     :// 行動を空にする。
:     :$gameTroop.members()[0].clearActions();
:     :
:     :// 変身を繰り返した時に、
:     :// 名前にアルファベットがくっついてしまうのを阻止
:     :$gameTroop._namesCount['バリアを使用する敵'] = 1;
:     :
:     :// 行動を初手に戻したいので、ターン数を初期化
:     :$gameTroop._turnCount = 0;
バトルイベントは使用しません。

とりあえずこれで、お試しください。
初心者&質問者
記事: 148
登録日時: 2020年9月03日(木) 09:22

Re: 変身すると行動パターンが乱れる(行動しない、重複する)

投稿記事 by 初心者&質問者 »

どうも、ありがとうございました。

他の作品で躓いていた部分が、教えていただいた
$gameTroop._turnCount = 0;
のターン初期化コマンドで、全て解決したので、非常に助かりました。


変身でバリアし、主人公のスキルでバリア解除の件も
ありがとうございます。

こちらは、ターン初期化されず
6ターン目で変身を解除されたら
変身後に6ターン目に設定された行動をするのは
難しいでしょうか。

その場合は、バリア時はバリア時独特の行動パターンをするように
変更しようと思っています。
ecf5DTTzl6h6lJj02
記事: 752
登録日時: 2018年12月23日(日) 13:55

Re: 変身すると行動パターンが乱れる(行動しない、重複する)

投稿記事 by ecf5DTTzl6h6lJj02 »

こんにちは。
初心者&質問者 さんが書きました: こちらは、ターン初期化されず
6ターン目で変身を解除されたら
変身後に6ターン目に設定された行動をするのは
難しいでしょうか。
設定内容を次のように変更してお試しください。

バリア展開前のエネミーの行動パターン
  • スキル1 使用条件: ターン 0
  • スキル1 使用条件: ターン 5*X
  • スキル2 使用条件: ターン 1+5*X
  • スキル3 使用条件: ターン 2+5*X
  • スキル4 使用条件: ターン 3+5*X
  • バリア  使用条件: ターン 4+5*X
バリア展開後のエネミーの行動パターン
  • スキル1 使用条件: ターン 5+5*X
  • スキル2 使用条件: ターン 6+5*X
  • スキル3 使用条件: ターン 7+5*X
  • スキル4 使用条件: ターン 8+5*X
  • スキル1 使用条件: ターン 9+5*X
バリア解除スキル使用時に呼び出されるコモンイベント

コード: 全て選択

◆注釈:バリア展開済みであることを確認する。
:  :前回のコモンイベントの内容にこれがなくて、
:  :バリア解除スキルをしようしたら、
:  :問答無用で、ターン数が初期化されるようになってました ^_^;
◆条件分岐:スクリプト:$gameTroop.members()[0].enemyId() !== 6
  ◆イベント処理の中断
  ◆
:分岐終了
◆注釈:エネミーが行動済みかどうかを判定し、
:  :それによって、処理を変更する。
◆条件分岐:スクリプト:$gameTroop.members()[0]._actionState === 'done'
  ◆敵キャラの変身:#1, バリアを使用する敵
  ◆スクリプト:// 変身時に行動を再設定して行動してしまうので、
  :     :// 行動を空にする。
  :     :$gameTroop.members()[0].clearActions();
  :     :
  :     :// 変身を繰り返した時に、
  :     :// 名前にアルファベットがくっついてしまうのを阻止
  :     :$gameTroop._namesCount['バリアを使用する敵'] = 1;
  ◆
:それ以外のとき
  ◆スクリプト:// 変身した時の行動再設定で、現在ターンで使用する予定の
  :     :// スキルを正しく設定できるように、ターン数を -1 する。
  :     :$gameTroop._turnCount --;
  ◆敵キャラの変身:#1, バリアを使用する敵
  ◆スクリプト:// 変身を繰り返した時に、
  :     :// 名前にアルファベットがくっついてしまうのを阻止
  :     :$gameTroop._namesCount['バリアを使用する敵'] = 1;
  :     :
  :     :// ターン数を元に戻す(ターン数を +1 する)
  :     :$gameTroop._turnCount ++;
  ◆
:分岐終了
チェックを簡易にしか行っていないので、もしかしたら、不具合があるかもしれません。
ご容赦ください。
初心者&質問者
記事: 148
登録日時: 2020年9月03日(木) 09:22

Re: 変身すると行動パターンが乱れる(行動しない、重複する)

投稿記事 by 初心者&質問者 »

ecf5DTTzl6h6lJj02様

こんにちは。
わざわざ、どうもありがとうございます。
お手数おかけし、申し訳ございません。

物凄く助かります。

すぐに試せないのですが
試したら、またご連絡させていただきます。

よろしくお願いします。
返信する

“MV:質問”に戻る