いつも便利なプラグインを開発してくださりありがとうございます。
私のイベントの組み方が悪いだけな気もしますが、一応ご報告です。
【事象】
・敵の攻撃(スキルタイプなし)をダメージ処理も含めコモンイベントで行う
・その際、戦闘不能(=パーティーが1人なので全滅)になるダメージを負う場合、そのタイミングではダメージを与えずスイッチN番をON
・同じコモンイベント内で画像を表示したりSEを流すなど処理をする
・それらが終わったあと、スイッチN番を条件に改めてダメージを与える処理をする(戦闘不能を許可)
・戦闘不能後に特段このプラグインを呼ぶ処理はしていない(はず)
・一応、条件分岐でN番のスイッチがONでない場合(それ以外)の処理(で呼び出す別のコモンイベント内)にこのプラグインを呼ぶ処理が入ってはいる
・問題の箇所に入っている処理は上記の「呼ばれないはずの条件分岐内の処理」のみ
とした場合、「TypeError: Cannot read property 'battleVoices' of null」エラーが発生してしまいます。
(たぶんアクターが戦闘不能で存在しなくなった状態でこのプラグインが呼ばれてしまっているため、引数がnullとなりエラーになっている。)
【対処】
2949行目付近、playActorVoice関数内の最初にnullチェックを追加してreturnすることで強引に対処しました。
【原因切り分け】
・敵の攻撃スキルで戦闘不能(=全滅)になった場合は発生しない
・自爆スキル(HPダメージ)で戦闘不能(=全滅)になった場合も発生しない
・改変自爆スキル(スキルタイプなし、コモンイベントでダメージ処理のみ記述)で戦闘不能(=全滅)になった場合も発生しない
・問題のダメージ処理の手前や直後に「文章を表示」処理を入れてもそこではエラーにならず、文章表示後に決定キーを押した後でエラーになる
【結論】
プラグインを改変させて頂き対処はできたのですが、イマイチ原因がハッキリわからずモヤモヤしています。
私のイベントの組み方が悪いだけであれば気にしないでもらって大丈夫です。(私はにわかプログラマーなので、単なる私のミスの可能性は高そうです;)
【提案】
こんな感じでここにnullチェック入れて、アクターnullだった場合に(呼ばれることは想定していないだろうけども)その後の処理をスキップする記述があると便利な気がしたのですが、素人考えですかね;
私のイベントの組み方が悪いだけな気もしますが、一応ご報告です。
【事象】
・敵の攻撃(スキルタイプなし)をダメージ処理も含めコモンイベントで行う
・その際、戦闘不能(=パーティーが1人なので全滅)になるダメージを負う場合、そのタイミングではダメージを与えずスイッチN番をON
・同じコモンイベント内で画像を表示したりSEを流すなど処理をする
・それらが終わったあと、スイッチN番を条件に改めてダメージを与える処理をする(戦闘不能を許可)
・戦闘不能後に特段このプラグインを呼ぶ処理はしていない(はず)
・一応、条件分岐でN番のスイッチがONでない場合(それ以外)の処理(で呼び出す別のコモンイベント内)にこのプラグインを呼ぶ処理が入ってはいる
・問題の箇所に入っている処理は上記の「呼ばれないはずの条件分岐内の処理」のみ
とした場合、「TypeError: Cannot read property 'battleVoices' of null」エラーが発生してしまいます。
(たぶんアクターが戦闘不能で存在しなくなった状態でこのプラグインが呼ばれてしまっているため、引数がnullとなりエラーになっている。)
【対処】
2949行目付近、playActorVoice関数内の最初にnullチェックを追加してreturnすることで強引に対処しました。
【原因切り分け】
・敵の攻撃スキルで戦闘不能(=全滅)になった場合は発生しない
・自爆スキル(HPダメージ)で戦闘不能(=全滅)になった場合も発生しない
・改変自爆スキル(スキルタイプなし、コモンイベントでダメージ処理のみ記述)で戦闘不能(=全滅)になった場合も発生しない
・問題のダメージ処理の手前や直後に「文章を表示」処理を入れてもそこではエラーにならず、文章表示後に決定キーを押した後でエラーになる
【結論】
プラグインを改変させて頂き対処はできたのですが、イマイチ原因がハッキリわからずモヤモヤしています。
私のイベントの組み方が悪いだけであれば気にしないでもらって大丈夫です。(私はにわかプログラマーなので、単なる私のミスの可能性は高そうです;)
【提案】
こんな感じでここにnullチェック入れて、アクターnullだった場合に(呼ばれることは想定していないだろうけども)その後の処理をスキップする記述があると便利な気がしたのですが、素人考えですかね;
最後に編集: