イベント戦闘時の敵キャラの能力値変更について

Mr.あきちゃん
記事: 68
登録日時: 2017年7月23日(日) 02:51

イベント戦闘時の敵キャラの能力値変更について

投稿記事by Mr.あきちゃん » 2017年9月24日(日) 16:53

いつも大変お世話になっております。
過去に同様のトピックがあったら申し訳ありません。

イベント戦闘で、変数1の値に応じて敵キャラの能力値(攻撃力など)を変えたいのですが、
「バトルイベント」のバトル開始時に、
$gameTroop.members()[0].param(2) = $gameVariables.value(1)
とやってもうまくいきません。
$gameTroop.members()[敵ID].param(n)というのは参照専用なのでしょうか?

うまく変更できる方法があったら、何卒ご教示ください。
よろしくお願いいたします。

アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: イベント戦闘時の敵キャラの能力値変更について

投稿記事by トリアコンタン » 2017年9月24日(日) 17:04

こんにちは!
パラメータの設定は以下の通りです。

コード: 全て選択

$gameTroop.members()[n].enemy().params[m] = $gameVariables.value(1);

n:敵キャラインデックス(0~)
m:パラメータインデックス(0:最大HP、1:最大MP、2:攻撃力...)

敵グループのインデックスではなく敵キャラIDで指定する場合は以下の通りです。

コード: 全て選択

$dataEnemies[n].params[m] = 999;

n:敵キャラID(1~)
m:パラメータインデックス(0:最大HP、1:最大MP、2:攻撃力...)

なお、特にプラグインを使用しない場合、パラメータの最大値は以下の通りです。
最大HP:999999
最大MP:9999
その他:999

注意点として、変更した値はセーブ&ロードすると破棄されます。
また、同一IDの敵キャラがいた場合、その敵キャラのパラメータも同じように変化します。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
Mr.あきちゃん
記事: 68
登録日時: 2017年7月23日(日) 02:51

Re: イベント戦闘時の敵キャラの能力値変更について

投稿記事by Mr.あきちゃん » 2017年9月25日(月) 01:30

トリアコンタン様

いつもお世話になっております。
ご教示いただき、ありがとうございました。
なるほど、enemy()を間に入れるのですね。

ちなみに最大HPは
$gameTroop.members()[0].enemy().params[0] = $gameVariables.value(1);
で良いのですが、HPの場合だと
$gameTroop.members()[0].enemy().hp = $gameVariables.value(1);
とやってもうまくいきません。
同様の方法でHP・MPは変えられますか?
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: イベント戦闘時の敵キャラの能力値変更について

投稿記事by トリアコンタン » 2017年9月25日(月) 05:15

こんな感じになります。

コード: 全て選択

$gameTroop.members()[0].enemy().setHp($gameVariables.value(1));
$gameTroop.members()[0].enemy().setMp($gameVariables.value(1));


HPやMPの増減であればイベントコマンドの「敵キャラのHPの増減」等でも可能です。
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
Mr.あきちゃん
記事: 68
登録日時: 2017年7月23日(日) 02:51

Re: イベント戦闘時の敵キャラの能力値変更について

投稿記事by Mr.あきちゃん » 2017年9月27日(水) 15:13

トリアコンタン様

いつも大変お世話になっております。
返信が遅くなってしまい、申し訳ありませんでした。

HPは「敵キャラのHPの増減」でも出来るのですね。
値の指定ではなく、増加という形になりますが、問題はないです。

大変ご丁寧にご教示いただき、ありがとうございました。


ちなみに、ご教示いただいた
$gameTroop.members()[0].enemy().setHp($gameVariables.value(1));
だと、実行時に
TypeError: undefined is not a function
という別窓(?)のエラーが出ます。
導入しているプラグインのせいでしょうかね?
アバター
まっつUP
記事: 1155
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: イベント戦闘時の敵キャラの能力値変更について

投稿記事by まっつUP » 2017年9月27日(水) 17:53

Mr.あきちゃん様
お世話になります。
試してませんがenemy().を削除すれば動いてくれると思います。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
アバター
トリアコンタン
記事: 2311
登録日時: 2015年11月10日(火) 21:13
お住まい: きのこ王国
連絡を取る:

Re: イベント戦闘時の敵キャラの能力値変更について

投稿記事by トリアコンタン » 2017年9月27日(水) 23:37

ああ、すみません……
ご指摘の通り、enemy() は不要です。

$gameTroop.members()[0].setHp($gameVariables.value(1));
プラグイン関連のトラブルが発生した際の切り分けと報告の方法です。
http://qiita.com/triacontane/items/2e227e5b5ce9503a2c30

[Blog] : http://triacontane.blogspot.jp/
[Twitter]: https://twitter.com/triacontane/
[GitHub] : https://github.com/triacontane/
Mr.あきちゃん
記事: 68
登録日時: 2017年7月23日(日) 02:51

Re: イベント戦闘時の敵キャラの能力値変更について

投稿記事by Mr.あきちゃん » 2017年9月28日(木) 00:07

まっつUP様
トリアコンタン様

お世話になります。
確かにenemy().を除いたら問題なく動きました。
プラグインが原因でなくてよかったです。
ありがとうございました。

それにしても同じHP関係の設定なのに、
enemy() が要ったり要らなかったり‥
もう少し統一された仕様にならなかったんですかね…^^;
私はBasicなら若干読めるのですが、Javascriptは全く読めないので、
enemy() の要否とか(他のもそうですが)わからないのです…

いつも皆様のご教示に感謝いたします。

“MV:質問” へ戻る