【解決済み】特定のキャラに特定の武器を装備し、特定の敵に攻撃したときにイベントを起こすというのは可能ですか?

あけび
記事: 3
登録日時: 2021年5月14日(金) 17:45

【解決済み】特定のキャラに特定の武器を装備し、特定の敵に攻撃したときにイベントを起こすというのは可能ですか?

投稿記事by あけび » 2021年5月14日(金) 17:50

初めまして。先週MVを購入した超初心者です。
件名の通りなのですが、PTメンバーに特定の武器を装備させて特定の敵を攻撃すると、会話イベントが起きて敵グループが全滅するという戦闘を作成したいと思っています。
色々調べてはみたのですがこれという情報に出会えず行き詰っています。
ここだけはこだわりたいと思っているので、できそうであればご教授いただけましたら幸いです。
よろしくお願いします。
最後に編集したユーザー あけび on 2021年5月14日(金) 21:55 [ 編集 1 回目 ]

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

Re: 特定のキャラに特定の武器を装備し、特定の敵に攻撃したときにイベントを起こすというのは可能ですか?

投稿記事by ecf5DTTzl6h6lJj02 » 2021年5月14日(金) 19:36

こんばんは。
あけび さんが書きました:初めまして。先週MVを購入した超初心者です。
件名の通りなのですが、PTメンバーに特定の武器を装備させて特定の敵を攻撃すると、会話イベントが起きて敵グループが全滅するという戦闘を作成したいと思っています。
色々調べてはみたのですがこれという情報に出会えず行き詰っています。
ここだけはこだわりたいと思っているので、できそうであればご教授いただけましたら幸いです。
よろしくお願いします。


コモンイベントとして下記のようなイベントを作り、攻撃スキルで、仕様効果から作成したコモンイベントを呼び出すように設定することで、実現できそうです。

コード: 全て選択

◆注釈:BattleManager._subject で 行動者の情報が入ってくる。
◆注釈:BattleManager._subject.isEnemy() は
:  :行動者がエネミーであるかどうかを調査する。
:  :よって、下記の条件分岐のスクリプトは
:  :《行動者がエネミーの場合》
:  :という意味になる。
◆条件分岐:スクリプト:BattleManager._subject.isEnemy()
  ◆イベント処理の中断
  ◆
:分岐終了
◆注釈:BattleManager._subject.name() は
:  :行動者の名前を取得する。
:  :よって、下記の条件分岐のスクリプトは
:  :《行動者の名前が『ハロルド』の場合》
:  :という意味になる。
◆条件分岐:スクリプト:this._subject.name() === 'ハロルド'
  ◆条件分岐:ハロルドが剣を装備している
    ◆注釈:$gameTroop.members() は
    :  :現在戦闘中の敵グループの敵キャラの配列を取得する。
    ◆注釈:BattleManager._subject._lastTargetIndex は
    :  :行動者が最後にターゲットにしたキャラクターのインデックス
    :  :を取得する。
    ◆注釈:$gameTroop.membes()[BattleManager._subject._lastTargetIndex)].name() で
    :  :行動者が(最後に)攻撃対象にしたキャラクターの名前を取得できる。
    :  :よって、下記の条件分岐のスクリプトは、
    :  :《行動者の(最後に)攻撃したキャラクターの名前が『ワーウルフ』である場合》
    :  :という意味になる。
    ◆条件分岐:スクリプト:$gameTroop.members()[BattleManager._subject._lastTargetIndex].name() === 'ワーウルフ'
      ◆文章:なし, ウィンドウ, 下
      :  :全滅
      ◆注釈:下記スクリプトでは、
      :  :生きているメンバーに 戦闘不能 のステートを付与し、
      :  :消滅エフェクトを実行している。
      ◆スクリプト:$gameTroop.aliveMembers().forEach(member => {
      :     :member.addState(1);
      :     :member.performCollapse();
      :     :});
      ◆
    :分岐終了
    ◆
  :分岐終了
  ◆
:分岐終了

上記のコードでは、剣を装備したハロルドがワーウルフを攻撃すると、敵が全滅するという内容です。
この例だと、ワーウルフが複数いる場合にきちんと効果を表しません。
また、ワーウルフが存在する、敵グループすべてが対象になりますので、
特定のグループのみに適用したい場合は、処理を追加する必要があります。
ご注意ください。
あけび
記事: 3
登録日時: 2021年5月14日(金) 17:45

Re: 特定のキャラに特定の武器を装備し、特定の敵に攻撃したときにイベントを起こすというのは可能ですか?

投稿記事by あけび » 2021年5月14日(金) 20:45

ecf5DTTzl6h6lJj02さま

ご返答ありがとうございます!
早速試させていただいたのですが、攻撃のエフェクト後に画像のようなエラーが出てしまいます・・・。
1.png


教えていただいた通りやったように思うのですが、何か不手際があったのでしょうか・・・。
2.png

3.png


アクターの名前はハロルド、エネミーの名前はワーウルフとしていますし、装備も剣です。
4.png


初心者すぎて心苦しいのですが対処法を教えていただきたいです。よろしくお願いします。
ecf5DTTzl6h6lJj02
記事: 455
登録日時: 2018年12月23日(日) 13:55

Re: 特定のキャラに特定の武器を装備し、特定の敵に攻撃したときにイベントを起こすというのは可能ですか?

投稿記事by ecf5DTTzl6h6lJj02 » 2021年5月14日(金) 21:26

こんばんは。
あけび さんが書きました:エラーが出てしまいます・・・。

すみません!
私のサンプルで、条件分岐のスクリプトを書き間違えてる部分があります。
注釈で、

コード: 全て選択

BattleManager._subject.name()

と書いているのに、
スクリプトでは

コード: 全て選択

this._subject.name() === 'ハロルド'

となってしまっています。

コード: 全て選択

BattleManager._subject.name() === 'ハロルド'

に直してお試しください。
あけび
記事: 3
登録日時: 2021年5月14日(金) 17:45

Re: 特定のキャラに特定の武器を装備し、特定の敵に攻撃したときにイベントを起こすというのは可能ですか?

投稿記事by あけび » 2021年5月14日(金) 21:55

ecf5DTTzl6h6lJj02 さま

ご対応ありがとうございます!無事に思ったようなイベントが作れそうです。
スクリプトについてもちょっとだけわかった気がします!!
勉強にもなりました、本当にありがとうございました!!

“MV:質問” へ戻る