戦闘で、相手にとどめを刺したキャラクターが
戦闘後に経験値やお金を多くもらえるイベントを実装しようとしています。
倒されたエネミー、とどめを刺したアクターのIDを取得するスクリプトを
作成したいのですが、調べても作成することができませんでした。
エネミーにLVを設定する 下記のプラグインを導入しているため
倒されたアクターと、とどめを刺したエネミーのIDを取得するプラグインも作成したいのですが
同様に作成できません。
こちらの処理の実装方法がお分かりになる方がいましたら、教えていただけませんか。
どうかよろしくお願いします。
導入しているプラグイン
YEP_BattleEngineCore(http://yanfly.moe/)
HIME_EnemyLevels(http://himeworks.com/)
HIME_EnemyClasses(http://himeworks.com/)
など
【解決済】[戦闘]とどめを刺したアクター、エネミーのID取得方法
【解決済】[戦闘]とどめを刺したアクター、エネミーのID取得方法
最後に編集したユーザー syouji [ 2017年11月01日(水) 21:31 ], 累計 2 回
Re: [戦闘]とどめを刺したアクター、エネミーのID取得方法
「プラグインも作成したい」との事ですので、ある程度のプラグイン/プログラム知識がある前提として簡易な回答させていただきます。
Game_Action.prototype.apply
内に於いて、
this.subject() → 攻撃側
target → 命中側
をそれぞれ指し示しておりますので、
targetのHPを確認し、0以下だった場合各オブジェクトの_actorId(プレイヤー側の場合) または_enemyId(敵の場合)を取得し変数に入れるなり処理するなりでいけると思います。
Game_Action.prototype.apply
内に於いて、
this.subject() → 攻撃側
target → 命中側
をそれぞれ指し示しておりますので、
targetのHPを確認し、0以下だった場合各オブジェクトの_actorId(プレイヤー側の場合) または_enemyId(敵の場合)を取得し変数に入れるなり処理するなりでいけると思います。
----
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
-出先に居る場合回答が未テスト状態である事が多い為、テストは重々にお願いいたします。
-基本自分や友人の問題解決は自分で1からプラグインを書いているので、「こういうプラグインはありますか」に対しては助けになれません。ご了承ください。
Re: [戦闘]とどめを刺したアクター、エネミーのID取得方法
剣崎 宗二 様
お世話になります。
ご返信ありがとうございます。
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を取得する
こちらの処理を使ってプラグインを作成しようと思います。
大変助かりました。ありがとうございます!
お世話になります。
ご返信ありがとうございます。
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を取得する
こちらの処理を使ってプラグインを作成しようと思います。
大変助かりました。ありがとうございます!