エラーが発生して大変困っております。お助けいただけると幸いです。

返信する
コヨコヨ
記事: 3
登録日時: 2023年7月13日(木) 17:22

エラーが発生して大変困っております。お助けいただけると幸いです。

投稿記事 by コヨコヨ »

ツクールМVで制作中のゲームで厄介なバグが発生してしまいました。

添付したファイルを見ていただければと思うのですが、
ゲームを進めるとこのような画面が表示され、進行できなくなってしまいます。

このエラーは同じタイミングで必ず発生するのですが、
(※あるマップに移動して、自動実行のイベントが起動するタイミング)
そこに至る経過を変えると発生しないこともあり、
何が原因なのか不明です……。

このエラー文の意味と、可能であれば解決方法も教えていただけると大変ありがたく思います。
何卒よろしくお願いいたします。
添付ファイル
0001.png
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: エラーが発生して大変困っております。お助けいただけると幸いです。

投稿記事 by Plasma Dark »

Cannot read property 'XXXXX' of undefined
このエラーメッセージは英文を読んだ通りで、 undefined (未定義なシンボル) の 'XXXXX' プロパティを読めません、という意味です。
その後のスタックトレースが重要で、コード上でエラーが起こった場所を示しています。

rpg_objects.jsの5570行目、 Game_Map.prototype.eraseEvent 関数内で起きたエラーです。
eraseEvent 関数がどこから呼ばれたかというと、9834行目、 Game_Interpreter.prototype.command214 の中からです。

command214 はイベントの一時消去の処理を行う関数です。
それを踏まえて5570行目前後、 Game_Map.prototype.eraseEvent 関数を見てみると

コード: 全て選択

Game_Map.prototype.eraseEvent = function(eventId) {
  this._events[eventId].erase();
};
Game_Map クラスインスタンスが持つ _events は、そのマップ内にあるイベントの配列です。
イベントの一時消去では、そのイベントコマンドが書かれたイベントのIDをこの関数に渡してきます。
つまり、本来であれば this._events[eventId] には、実行中のイベントが入っていなければならないはずです。
ところが、それが undefined になってしまっているためにエラーが起こっています。

通常、ツクールMVデフォルト状態では起こらないエラーです。
何かのプラグインによって引き起こされていると思われます。

エラーを起こしているイベント(イベントの一時消去を行っているイベント)の起動条件などから原因を絞っていくことになるかと思います。

それはそれとして、 PictureCallCommon.js のバージョンは最新 1.14.5 になっているでしょうか。
直接エラーとは関係がないかもしれませんが、プラグインの更新は定期的にチェックしておくことを推奨します。
コヨコヨ
記事: 3
登録日時: 2023年7月13日(木) 17:22

Re: エラーが発生して大変困っております。お助けいただけると幸いです。

投稿記事 by コヨコヨ »

Plasma Dark 様

教えて頂きありがとうございます!

>通常、ツクールMVデフォルト状態では起こらないエラーです。
>何かのプラグインによって引き起こされていると思われます。

プラグインはかなり入れているため、最近導入したものが原因となってしまったのかもしれません。
教えて頂いた情報を元に精査したいと思います。
また、プラグインの更新は盲点だったためこちらもチェックしたいと思います。
あらためて、感謝いたします!

なお……すみません。1点だけ質問させて頂けないでしょうか。

特定のプラグインの導入が原因だった場合、
そのプラグインを省けば元に戻る(エラーは発生しない)のでしょうか。
あるいは一度こうなってしまうと、元のプログラム部分が書き換えられてしまいプラグインを抜いただけではもう元には戻らないのでしょうか……?

いかにも初心者な質問で申し訳ありません。
お手間でなければそれだけ教えて頂けると大変ありがたく思います。
何卒よろしくお願いいたします。
アバター
Plasma Dark
記事: 736
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: エラーが発生して大変困っております。お助けいただけると幸いです。

投稿記事 by Plasma Dark »

特定のプラグインの導入が原因だった場合、
そのプラグインを省けば元に戻る(エラーは発生しない)のでしょうか。
ゲームプログラムの挙動自体は、プラグインをOFFにしてしまえば元に戻ります。

ですが、プラグインがONのときに残されたセーブデータへの影響は、プラグインをOFFにしても取り除くことができません。
プラグインの追加や削除を行った後の動作確認では、ニューゲームから開始することを推奨します。
コヨコヨ
記事: 3
登録日時: 2023年7月13日(木) 17:22

Re: エラーが発生して大変困っております。お助けいただけると幸いです。

投稿記事 by コヨコヨ »

Plasma Dark 様

質問へのご返答ありがとうございます。
とても助かりました。感謝いたします!!
返信する

“MV:質問”に戻る