【解決済み】Yana様のカテゴリ合成と重量制プラグイン併用のバグについて

返信する
KOHAKU
記事: 25
登録日時: 2021年12月04日(土) 14:09

【解決済み】Yana様のカテゴリ合成と重量制プラグイン併用のバグについて

投稿記事 by KOHAKU »

お久しぶりです。お世話になっております。
またプラグイン関連で質問がしたく書き込みさせていただきます。

Yana様のカテゴリ合成とアイテム重量制を併用して使用していると、カテゴリ合成でレシピを持っていない空欄を調べると

(F8を押した時の上2行の表示)
Cannot read property '_weight' of undefined
at Window_Recipe.isEnabled (js/plugins/CategorySynthesis.js:590)

というエラー画面が表示されてしまいます。

セカンダリカテゴリは、カテゴリ合成に必須のプラグインとの事なので導入しています。

セカンダリカテゴリ  https://rpg.mitukasa.jp/src/ogrpg1618.zip(SecondaryCategories)
カテゴリ合成 https://uploader.mitukasa.jp/archive/1/ ... Synthesis)
アイテム重量制 https://rpg.mitukasa.jp/src/ogrpg1619.zip(LimitPossession)

他のまっさらなプロジェクトでごく基本的なプラグインとこれら三つだけのプラグインが動作している状態にしても、エラーが発生しました。
逆に重量プラグインだけでもOFFにしていたらそのようなエラーは発生しませんでした。

解決する方法はありますでしょうか。ご教授お願い致します。
最後に編集したユーザー KOHAKU [ 2023年9月21日(木) 07:40 ], 累計 1 回
アバター
Plasma Dark
記事: 731
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: Yana様のカテゴリ合成と重量制プラグイン併用のバグについて

投稿記事 by Plasma Dark »

ダウンロード元のリンクは正しいでしょうか。アクセスできないようですが……。

yanaさんのプラグインは、ムノクラさんがGitHubで管理されているものがあります。
https://github.com/munokura/Yana-MV-plugins/tree/master

エラーの行数からして同じバージョンを利用されているとは思いますが、念のためプラグインのバージョンを確認していただけると良いかと思います。

コード: 全て選択

Cannot read property '_weight' of undefined
at Window_Recipe.isEnabled (js/plugins/CategorySynthesis.js:590)
スタックトレースを貼って頂いていてとても良いですね。
これを読めるようになると、原因が特定しやすくなります。

CategorySynthesis.js の590行目で、 undefined なシンボルに対して ._weight を参照しようとしてエラーになっています。
CategorySynthesis.js の記述を読む限り、 LimitPossession.js と併用した場合に重量の制限によってもレシピの有効無効判定を行っているようです。
ただ、渡されたアイテムが falsy かどうかのチェックが抜けているようですね。

とりあえず直すなら Window_Recipe.prototype.isEnabled の先頭で item が falsy の場合に偽を返すようにしてしまうのが手っ取り早いかと思います。

コード: 全て選択

Window_Recipe.prototype.isEnabled = function (item) {
  if (!item) {
    return false;
  }
  // (元々の処理は変えない。長くなるためここでは省略)
};
アバター
Plasma Dark
記事: 731
登録日時: 2020年2月08日(土) 02:29
連絡する:

Re: Yana様のカテゴリ合成と重量制プラグイン併用のバグについて

投稿記事 by Plasma Dark »

一応、ムノクラさんのリポジトリに修正のPRを出しました。

こちらからRawボタンを右クリックして対象をファイルに保存することで修正版を入手可能です。
KOHAKU
記事: 25
登録日時: 2021年12月04日(土) 14:09

Re: Yana様のカテゴリ合成と重量制プラグイン併用のバグについて

投稿記事 by KOHAKU »

貼ったURLは昔のもので、今はDL先が変わっていたんですね、確認不足で申し訳ありません……。

ひとまず 「Window_Recipe.prototype.isEnabled の先頭で item が falsy の場合に偽を返すように」の方法でも大丈夫そうだったので、そちらで対応させていただきました所、エラーが発生しなくなりました。

リポジトリでのPRもありがとうございます。

お手数をおかけしました、本当にありがとうございました!
返信する

“MV:質問”に戻る