ページ 1 / 1
【済】エネミーのIDを変数に
Posted: 2016年11月07日(月) 12:29
by Abstain company
プラグインのリクエストとは少し違うと思ってこちらで。
戦闘中、イベントコマンド「スクリプト」でエネミーのIDを変数に入れるコマンドを欲しております。
デフォルトで言うなら、スライムの時は 2、オークなら 3の値を返すというものです。
無論、変身したら変身後のIDが入る様に。
何卒ご教示下さい。
Re: エネミーのIDを変数に
Posted: 2016年11月07日(月) 17:56
by まっつUP
Abstain company様
お世話になります。
具体的にどのエネミーのIDを入れたいのかが分からなかったので
敵グループの0番目にいるメンバーのデータベース上のIDを取得する方法を貼ります。
例ではコンソールに取得した値を表示します。
(スクリプトコマンド)
console.log($gameTroop.members()[0]._enemyId);
Re: エネミーのIDを変数に
Posted: 2016年11月07日(月) 20:10
by Abstain company
まっつUP様
教えて頂いてなんですが、これだけではまだわかりません。
コンソールってどこにある何なんでしょう!?
(プログラムの専門用語に関しては当方まったく無知です)
より具体的な使用手順の御教示をお願い致します。
>具体的にどのエネミーのIDを入れたいのかが分からなかったので
どのエネミーも(コマンド中の値を変えれば)入れられる汎用性のあるコマンドを希望しております。
[追記]
console.logの事を調べて来ました。これを使われても困ります。
私はプラグインを作ろうとしているのではありません。
飽くまでイベントコマンドとして使えるものが欲しいだけです。
Re: エネミーのIDを変数に
Posted: 2016年11月07日(月) 20:50
by まっつUP
イベントコマンド「変数の操作」でオペランドに「スクリプト」を選択します。
以下のようになるようにしてください。
◆変数の操作:#0001 = $gameTroop.members()[0]._enemyId;
Re: エネミーのIDを変数に
Posted: 2016年11月07日(月) 20:54
by Abstain company
まっつUP様
うまくいきました!
こちらこそ(プラグイン作成するものと)誤解を招く書き方ですみませんでした。
ありがとうございました!
Re: エネミーのIDを変数に
Posted: 2021年12月07日(火) 16:41
by Zakky
まっつUP さんが書きました:イベントコマンド「変数の操作」でオペランドに「スクリプト」を選択します。
以下のようになるようにしてください。
◆変数の操作:#0001 = $gameTroop.members()[0]._enemyId;
横から失礼します。
ご参考にさせていただき、自分の問題もなんとかできました。
変数 = $gameTroop.members()[$gameTroop.members([BattleManager._subject._lastTargetIndex].index()]._enemyId;
これで変数へ敵IDを入れることができました。
(味方アクターが対象になるとおかしくなるので、対象が敵バトラーである条件分岐する必要はあるようですね。)
上記の式で冗長なところがあれば、ご指摘いただけるとあ
Re: 【済】エネミーのIDを変数に
Posted: 2021年12月07日(火) 19:39
by 名無し蛙
)が欠けてる部分がある、というツッコミは置いておいてこの式が正しいと仮定するなら
コード: 全て選択
$gameTroop.members()[BattleManager._subject._lastTargetIndex].enemyId();
で十分だと思います。
日本語に直すなら提示されたコードが
現在行動者(BattleManager._subject)が最後に対象を取ったバトラーのindex(._lastTargetIndex)を元にトループからエネミーを取得し、
そのインデックスからトループからエネミーを取得し、そのエネミーIDを取得。
という同じオブジェクトを指す重複表現があるのでそれを削除しました。
あとついでにエネミーIDを取得する時は._enemyIdよりも.enemyId()の方が良いのですが
まぁ、他の._subjectや._lastTargetIndexにも触ってるし誤差ですね。