ページ 11

戦闘行動の強制で 特定のアクターを攻撃させたい

Posted: 2017年8月19日(土) 13:32
by terueru
いつもお世話になっております

また解決したいことがあるので、質問させて頂きます・・!

タイトルの通りなのですが、イベントから"戦闘行動の強制"を選んだ際、ターゲットを決めれますが、

ラストターゲットとインデックスが選べますが、そこで特定のアクターを決め方がわかりません・・

多分、インデックスというのを使いこなせばできると思うのですが、どうやってそれでアクターを指定するのかがわかりません


お手数ですが、お時間のある方がいらっしゃいましたら、教えていただきたく思います

Re: 戦闘行動の強制で 特定のアクターを攻撃させたい

Posted: 2017年8月20日(日) 03:32
by トリアコンタン
こんばんは!
アクターのインデックスとはパーティの並び順のことです。
並び順とは無関係に特定のアクターを対象にしたい場合、ちょっと複雑なスクリプトを実行する必要があります。

行動を実行するのが敵キャラの場合

コード: 全て選択

var enemyIndex = 0; // 行動を実行する敵キャラのインデックス(敵グループに追加した順番)
var battler = $gameTroop.members()[enemyIndex];
if (battler && !battler.isDeathStateAffected()) {
    var targetActorId = 1; // ターゲットのアクターID
    var skillId = 9;       // スキルID
    var targetActorIndex = $gameParty._actors.indexOf(targetActorId);
    battler.forceAction(skillId, targetActorIndex);
    BattleManager.forceAction(battler);
    this.setWaitMode('action');
}


行動を実行するのがアクターの場合

コード: 全て選択

var actorId = 2; // 行動を実行するアクターID
var battler = $gameActors.actor(actorId);
if (battler && !battler.isDeathStateAffected()) {
    var targetActorId = 1; // ターゲットのアクターID
    var skillId = 8;       // スキルID
    var targetActorIndex = $gameParty._actors.indexOf(targetActorId);
    battler.forceAction(skillId, targetActorIndex);
    BattleManager.forceAction(battler);
    this.setWaitMode('action');
}

Re: 戦闘行動の強制で 特定のアクターを攻撃させたい

Posted: 2017年8月20日(日) 18:00
by terueru
トリアコンタン様

ありがとうございます!!

無事設定できました・・!

本当に助かります!