RPGツクールMZでアイテム選択時に「Cannot read property 'replace' of undefined」
現象
RPGツクールMZでゲーム制作時、特定のアイテムを選択(カーソル移動)しようとした際にタイトルに記載のエラーが発生した。
(MZのバージョン:v1.3.2)※結論としては、バージョンが古いことが原因でした。。
原因
該当アイテムのJSON(※1)を確認したところ、対象のアイテムの情報が記述された行の記載形式が他と異なっていた。(壊れている?)
当該アイテムは、制作補助ツール「RPGツクールMVツール データベースコンバーターMV」(※2)を使い、データをExcel上で編集・インポート(そしてMZのデータベース画面で編集)したものだった。
上記ツール起因で、インポート以降の工程でJSONの形式が変になってしまっている?
※1 今回は厳密には防具でエラーが発生していたので、プロジェクトフォルダ\data配下の「Armors.json」を参照した。
※2 当該ツールは「RPGツクールMV~」と書かれているものの、MZでも利用可能。超便利ツールです。
【#RPGツクールMZ 本日の新情報extra】前作MV公式サイトで公開中の「データベースコンバーターMV」は、MZにも対応しております。データベースなどの内容をExcelやCSV形式に相互変換できるアプリケーションです。ぜひご活用ください。https://t.co/d7U7gGqh6F
— ツクール開発部 (@tkool_dev) August 6, 2020
対応
- RPGツクールMZのデータベース編集画面で、エラーとなっていたアイテム(→Excelで編集したデータをインポートしたもの)を削除
- 「OK」を押したうえでプロジェクトを保存
- 再度データベース編集画面でアイテムを再登録(ツールを使わずに画面上から登録)
- 「OK」を押したうえでプロジェクトを保存
これでJSONの記載が正常な状態になり、エラーが発生しなくなった。
エラー発生起因がわかったので、メモ。
その他
自PCのRPGツクールMZのバージョンがv1.3.2の状態で当事象が発生したので、最新版のv1.6.0では直っているかも。
直っていました!バージョンは最新にしましょう!!!!!