ページ 11

【解決済】[戦闘]とどめを刺したアクター、エネミーのID取得方法

Posted: 2017年10月26日(木) 23:57
by syouji
戦闘で、相手にとどめを刺したキャラクターが
戦闘後に経験値やお金を多くもらえるイベントを実装しようとしています。

倒されたエネミー、とどめを刺したアクターのIDを取得するスクリプトを
作成したいのですが、調べても作成することができませんでした。

エネミーにLVを設定する 下記のプラグインを導入しているため
倒されたアクターと、とどめを刺したエネミーのIDを取得するプラグインも作成したいのですが
同様に作成できません。

こちらの処理の実装方法がお分かりになる方がいましたら、教えていただけませんか。
どうかよろしくお願いします。

導入しているプラグイン
YEP_BattleEngineCore(http://yanfly.moe/)
HIME_EnemyLevels(http://himeworks.com/
HIME_EnemyClasses(http://himeworks.com/
など

Re: [戦闘]とどめを刺したアクター、エネミーのID取得方法

Posted: 2017年10月31日(火) 16:27
by 剣崎 宗二
「プラグインも作成したい」との事ですので、ある程度のプラグイン/プログラム知識がある前提として簡易な回答させていただきます。

Game_Action.prototype.apply
内に於いて、
this.subject()  → 攻撃側
target → 命中側
をそれぞれ指し示しておりますので、

targetのHPを確認し、0以下だった場合各オブジェクトの_actorId(プレイヤー側の場合) または_enemyId(敵の場合)を取得し変数に入れるなり処理するなりでいけると思います。

Re: [戦闘]とどめを刺したアクター、エネミーのID取得方法

Posted: 2017年11月01日(水) 21:30
by syouji
剣崎 宗二 様

お世話になります。
ご返信ありがとうございます。

rpg_objects.js 
Game_Action.prototype.apply = function(target)に
下記の記載を足して確認した所
正常にアクターID、エネミーIDを取得することができました。

---------------------------------------------------------------
if(target.hp <= 0){
$gameVariables.setValue(91, this.subject()._actorId);
$gameVariables.setValue(92, this.subject()._enemyId);
$gameVariables.setValue(93, target._actorId);
$gameVariables.setValue(94, target._enemyId);
}
---------------------------------------------------------------

この処理だと下記の状況が発生するため、エラーが出るかと思ったのですが大丈夫なんですね。
・エネミーに対して、アクターIDを取得する
・アクターに対して、エネミーIDを取得する

こちらの処理を使ってプラグインを作成しようと思います。
大変助かりました。ありがとうございます!