mz対応のアイテムボックスプラグインを探しています

アバター
GrayOgre
記事: 45
登録日時: 2020年9月03日(木) 08:15
連絡を取る:

Re: mz対応のアイテムボックスプラグインを探しています

投稿記事by GrayOgre » 2021年5月04日(火) 20:50

塩と佐藤。。 さんが書きました:ゲームを続きから始めるとエラーが表示されてしまいます。
TypeError: Cannot read property 'hasOwnProperty' of undefined
at PHWarehouseManager.createWarehouse (PH_Warehouse_MZ.js:787)
at Game_Interpreter.<anonymous> (PH_Warehouse_MZ.js:822)
at Function.PluginManager.callCommand (rmmz_managers.js:3104)
at Function.PluginManager.callCommand (PluginCommonBase.js:323)
at Game_Interpreter.command357 (rmmz_objects.js:11270)
at Game_Interpreter.executeCommand (rmmz_objects.js:9621)
at Game_Interpreter.update (rmmz_objects.js:9526)
at Game_Map.updateInterpreter (rmmz_objects.js:6757)
at Game_Map.update (rmmz_objects.js:6661)
at Scene_Map.updateMain (rmmz_scenes.js:733)
SceneManager.catchNormalError @ rmmz_managers.js:2030

プラグインを全てoffにもしてみましたがよく分かりませんでした。


こちらでは再現できないので、発生するプロジェクトを圧縮してアップロードしてもらえませんか?

塩と佐藤。。
記事: 16
登録日時: 2021年4月06日(火) 21:19

Re: mz対応のアイテムボックスプラグインを探しています

投稿記事by 塩と佐藤。。 » 2021年5月04日(火) 22:23

何度か試してみましたが前に使っていたデータで倉庫を開くとエラーが起こり、新規で始めると問題が無かったのでこのエラーの件は無かった事に…
アバター
GrayOgre
記事: 45
登録日時: 2020年9月03日(木) 08:15
連絡を取る:

Re: mz対応のアイテムボックスプラグインを探しています

投稿記事by GrayOgre » 2021年5月04日(火) 22:48

倉庫のデータはセーブデータに書き込まれるので、それが壊れていたのかもしれませんね。
アバター
Plasma Dark
記事: 668
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: mz対応のアイテムボックスプラグインを探しています

投稿記事by Plasma Dark » 2021年5月05日(水) 16:33

コードを読む限り、 PH_Warehouse_MZ.js は(移植前のMV版もですが)導入前のセーブデータをロードして倉庫を開こうとすると必ずエラーを起こします。

https://github.com/PrimeHover/Warehouse

_warehousesの初期化に注意してあげたほうが、利用者にはやさしいかと思います。
アバター
GrayOgre
記事: 45
登録日時: 2020年9月03日(木) 08:15
連絡を取る:

Re: mz対応のアイテムボックスプラグインを探しています

投稿記事by GrayOgre » 2021年5月05日(水) 17:47

Plasma Dark さんが書きました:コードを読む限り、 PH_Warehouse_MZ.js は(移植前のMV版もですが)導入前のセーブデータをロードして倉庫を開こうとすると必ずエラーを起こします。

https://github.com/PrimeHover/Warehouse

_warehousesの初期化に注意してあげたほうが、利用者にはやさしいかと思います。


導入前のセーブデータを導入後にロードしてエラーになるのは、
仕方のないことじゃないかと思いますが、対応できるか見てみます。

(追記)
考えてみたのですが、導入前のセーブデータを導入後に読み込むのは異常なことなので、
エラーとなるべきだと考えます。
アバター
Plasma Dark
記事: 668
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: mz対応のアイテムボックスプラグインを探しています

投稿記事by Plasma Dark » 2021年5月05日(水) 21:46

導入前のセーブデータを導入後に読み込むのは異常なことなので、
エラーとなるべきだと考えます。


異常であるならその旨をエラーとして表示してあげるほうが親切ですね。

プラグイン導入前のセーブデータを導入後にロードする状況は、特に開発中であればユースケースとして珍しい話ではないように思います。
ウェブ上でプレイ可能な形態で、継続的にアップデートする作品も最近は少なくありませんし。

とは言え、対応すべきかどうかの判断はお任せします。

1403行目を下記のようにしてしまうのがミニマムな修正だと思いますが、エラーを出したいのであれば適宜throwしてあげると良さそうです。

コード: 全て選択

PHPlugins.PHWarehouse._warehouses = contents.phwarehouse || {};
アバター
GrayOgre
記事: 45
登録日時: 2020年9月03日(木) 08:15
連絡を取る:

Re: mz対応のアイテムボックスプラグインを探しています

投稿記事by GrayOgre » 2021年5月05日(水) 23:04

セーブデータの中の倉庫データが空の場合に例外をthrowするようにしたら、
ロード時に警告音が鳴ってロードできなくなりました。
まあ、これで異常なデータがロードできなくなるので良しとしたいと思います。

https://grayogre.info/rmmz/plugin/PH_Warehouse_MZ1_3_3.zip
アバター
Plasma Dark
記事: 668
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: mz対応のアイテムボックスプラグインを探しています

投稿記事by Plasma Dark » 2021年5月06日(木) 03:46

セーブデータの中の倉庫データが空の場合に例外をthrowするようにしたら、
ロード時に警告音が鳴ってロードできなくなりました。


大変失礼しました。セーブデータのロード中にthrowしても握りつぶされるんでした。
ロード時にエラーをわかりやすく明示するなら、console.errorでログ出してあげるくらいが楽で良さそうですね。

“MZ:プラグイン素材のリクエスト” へ戻る