戦闘行動の強制で 特定のアクターを攻撃させたい
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
トリアコンタン様
ありがとうございます!!
無事設定できました・・!
本当に助かります!