rpg_managers.js の BattleManager.displayStartMessages の部分で、
敵の出現コメントと一緒にその敵のデーターベースのID番号を表示したいです!
色々試してみましたが取得できませんでした!
敵IDの取得について
Re: 敵IDの取得について
まず問題を分けましょう。
敵のIDをconsole.log()で出力はできましたか?
また、適当な数字を仮に画面に出すのはどうでしょうか?
敵のIDが取れないなら代わりに「234」のような適当な数字を画面に出すのも有効な手です。
それから次に進んでみてはどうでしょうか?
なお、画面に表示を出す部分はBattleManager内でthis._logWindow.push()などで表示します。
logWindowは少し複雑なのでご注意を。
敵のIDをconsole.log()で出力はできましたか?
また、適当な数字を仮に画面に出すのはどうでしょうか?
敵のIDが取れないなら代わりに「234」のような適当な数字を画面に出すのも有効な手です。
それから次に進んでみてはどうでしょうか?
なお、画面に表示を出す部分はBattleManager内でthis._logWindow.push()などで表示します。
logWindowは少し複雑なのでご注意を。
現在、プラグイン依頼はお休み中です。
Re: 敵IDの取得について
$gameMessage.add(TextManager.emerge.format(name));
ここの()の中に適当な数字を入れたらその数字が出てきますね
ここに敵のIDの番号を入力できたら理想的です!
ここの()の中に適当な数字を入れたらその数字が出てきますね
ここに敵のIDの番号を入力できたら理想的です!
Re: 敵IDの取得について
敵の管理番号は.enemyId()で取得できます。
調べましたが、本体スクリプトを改造する必要があります。
この部分が出現時に敵モンスターの名前を表示する処理ですが、これは名前の一覧だけですので敵のIDなどの情報が欠落しています。
.enemyNames()をmembers()にして、Game_Enemy型に対してforEachする必要があります。
改造して元と同じ動きになるよう改造すると、大体こんな感じです。
名前表示部分は把握しているようなので、enemy.enamyId() +':'+enemy.name() のような記述にして試してみてください。
調べましたが、本体スクリプトを改造する必要があります。
コード: 全て選択
BattleManager.displayStartMessages = function() {
$gameTroop.enemyNames().forEach(function(name) {
$gameMessage.add(TextManager.emerge.format(name));
});
if (this._preemptive) {
$gameMessage.add(TextManager.preemptive.format($gameParty.name()));
} else if (this._surprise) {
$gameMessage.add(TextManager.surprise.format($gameParty.name()));
}
};
.enemyNames()をmembers()にして、Game_Enemy型に対してforEachする必要があります。
改造して元と同じ動きになるよう改造すると、大体こんな感じです。
コード: 全て選択
BattleManager.displayStartMessages = function() {
$gameTroop.members().forEach(function(enemy) {
$gameMessage.add(TextManager.emerge.format(enemy.name()));
});
if (this._preemptive) {
$gameMessage.add(TextManager.preemptive.format($gameParty.name()));
} else if (this._surprise) {
$gameMessage.add(TextManager.surprise.format($gameParty.name()));
}
};
現在、プラグイン依頼はお休み中です。
Re: 敵IDの取得について
なるほど
.enamyIdと入力しても表示されないのはそういう事だったのですね
教えていただき有難うございます!
BattleManager.displayStartMessages = function () {
$gameTroop.members().forEach(function (enemy) {
$gameMessage.add(enemy.enamyId() + ':' + enemy.name());
});
if (this._preemptive) {
$gameMessage.add(TextManager.preemptive.format($gameParty.name()));
} else if (this._surprise) {
$gameMessage.add(TextManager.surprise.format($gameParty.name()));
}
};
ただ、しぐれん様のを参考にしこのように書き換えましたが、undefined is not a functionと出てしまいます
どこがいけないのでしょうか?
.enamyIdと入力しても表示されないのはそういう事だったのですね
教えていただき有難うございます!
BattleManager.displayStartMessages = function () {
$gameTroop.members().forEach(function (enemy) {
$gameMessage.add(enemy.enamyId() + ':' + enemy.name());
});
if (this._preemptive) {
$gameMessage.add(TextManager.preemptive.format($gameParty.name()));
} else if (this._surprise) {
$gameMessage.add(TextManager.surprise.format($gameParty.name()));
}
};
ただ、しぐれん様のを参考にしこのように書き換えましたが、undefined is not a functionと出てしまいます
どこがいけないのでしょうか?
Re: 敵IDの取得について
Visual Studio Codeでステップ実行して試してみるのがいいと思います。
導入用の資料はネットにあるので、調べてみてください。
ツクールMV vscodeあたりでググると出てきます。
導入用の資料はネットにあるので、調べてみてください。
ツクールMV vscodeあたりでググると出てきます。
現在、プラグイン依頼はお休み中です。
Re: 敵IDの取得について
kag様
enamyIdと言う名の関数はないので
enemy.enemyId()でいくと思います。
追記:誤字であることに気付いてませんでした。
enamyIdと言う名の関数はないので
enemy.enemyId()でいくと思います。
追記:誤字であることに気付いてませんでした。
RPGで笑顔を・・・
ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup
github
https://github.com/mattuup/RPGMakerMZ
ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup
github
https://github.com/mattuup/RPGMakerMZ
Re: 敵IDの取得について
何故か上手くいかないと思ったらenemy.enemyId()の部分を誤字していました!
直したらちゃんとIDが表示されました!
教えて頂いてありがとうございます
直したらちゃんとIDが表示されました!
教えて頂いてありがとうございます
