【解決済】在庫システムを有するお店(アイテムカテゴリーを限定)

tanaka1105
記事: 46
登録日時: 2020年12月28日(月) 23:16

【解決済】在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by tanaka1105 » 2021年12月08日(水) 18:48

いつもお世話になっております。
Munokura様が改変されました在庫システムを有するお店のプラグインを利用させてもらっています。
https://raw.githubusercontent.com/munok ... StockMZ.js

こちらのプラグインを大変重宝させてもらっているのですが、
お店に表示されるアイテムカテゴリーがデフォルトの4種(アイテム、武器、防具、大事なもの)に固定されておりまして、これらを設定で変更する(なくそうとすると)エラーが出てしまいます。
自力で何とかしようと試みましたがうまくいかず、ここに書かせてもらいました。。

表示するアイテムカテゴリーを2つだけにしたい(アイテムと防具だけ)とさせてもらいたいのですが、お助けいただけないでしょうか。

よろしくお願いします。
最後に編集したユーザー tanaka1105 on 2022年1月25日(火) 20:56 [ 編集 1 回目 ]

アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by ムノクラ » 2021年12月09日(木) 12:17

tanaka1105 さんが書きました:いつもお世話になっております。
Munokura様が改変されました在庫システムを有するお店のプラグインを利用させてもらっています。
https://raw.githubusercontent.com/munok ... StockMZ.js

こちらのプラグインを大変重宝させてもらっているのですが、
お店に表示されるアイテムカテゴリーがデフォルトの4種(アイテム、武器、防具、大事なもの)に固定されておりまして、これらを設定で変更する(なくそうとすると)エラーが出てしまいます。
自力で何とかしようと試みましたがうまくいかず、ここに書かせてもらいました。。

表示するアイテムカテゴリーを2つだけにしたい(アイテムと防具だけ)とさせてもらいたいのですが、お助けいただけないでしょうか。

よろしくお願いします。


移植者です。(インターフェースをMZに合わせただけですが…)

「アイテムカテゴリーがデフォルトの4種」を全て変更したいのであれば、下記プラグインで可能です。

▼TM アイテムカテゴリ拡張(tomoaky様作) - TMItemCategoryEx.js
https://plugin-mz.fungamemake.com/archives/1485
アイテムカテゴリの追加、削除をおこないます。

上記のプラグインを見た印象では、カテゴリを途中で変化させるのは、コアの構造から、かなり大規模な変更が必要な予感がします。
自分のスキルでは、機能を追加できる自信がありません。
表示はするが、選択できないという機能なら無理なく可能です。

素朴な疑問ですが、
設定で変更する(なくそうとすると)エラーが出てしまいます。

というのは、どのような設定でしょうか?
(このプラグインに、そのような設定項目があったでしょうか?)
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
tanaka1105
記事: 46
登録日時: 2020年12月28日(月) 23:16

Re: 在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by tanaka1105 » 2021年12月09日(木) 23:03

ムノクラ様、返信いただきありがとうございます。
かなり大規模な改造になること理解いたしました。結論から言いますと今回は断念しようと思います。表示内容を工夫して対応を検討いたします。
お教えいただいたプラグインも当ててみましたが、同様のエラーが出ていることも確認できました。

説明が不足しており申し訳ありませんでしたが、
「設定で変更する(なくそうとすると)エラーが出てしまいます。」
というのは、ツクールに最初からある機能でシステム2のアイテムカテゴリーから外したいアイテムを取り除いた時にエラーを吐いたというものでした。

お手を煩わせてしまい申し訳ありませんでしたが、ご検討いただき感謝です。
今後ともよろしくお願いします。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by ムノクラ » 2021年12月10日(金) 07:11

tanaka1105 さんが書きました:ムノクラ様、返信いただきありがとうございます。
かなり大規模な改造になること理解いたしました。結論から言いますと今回は断念しようと思います。表示内容を工夫して対応を検討いたします。
お教えいただいたプラグインも当ててみましたが、同様のエラーが出ていることも確認できました。

説明が不足しており申し訳ありませんでしたが、
「設定で変更する(なくそうとすると)エラーが出てしまいます。」
というのは、ツクールに最初からある機能でシステム2のアイテムカテゴリーから外したいアイテムを取り除いた時にエラーを吐いたというものでした。

お手を煩わせてしまい申し訳ありませんでしたが、ご検討いただき感謝です。
今後ともよろしくお願いします。


エラーの原因が分かりました。

解決できていると思うので、お試しください。
https://raw.githubusercontent.com/munok ... StockMZ.js


なお、下記のようにエラー内容と状況をご説明いただけると、解決が早くなることが多いです。
ご留意いただければ幸いです。
https://fungamemake.com/archives/12097
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
tanaka1105
記事: 46
登録日時: 2020年12月28日(月) 23:16

【解決済み】在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by tanaka1105 » 2021年12月10日(金) 22:28

ムノクラ様、ありがとうございます!
想定していたものとなっております。ご対応いただき感謝感謝です。

エラー内容と状況の説明について、理解いたしました。今後、質問させてもらう場合、そのようにいたします。
ありがとうございました。
tanaka1105
記事: 46
登録日時: 2020年12月28日(月) 23:16

Re: 在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by tanaka1105 » 2021年12月10日(金) 23:25

ムノクラ様、申し訳ありません、先ほど解決済みとさせていただいたのですが、一つ問題が見つかりました。

アイテムカテゴリーには、もともと
「アイテム」「武器」「防具」「大事なもの」
がありますが、これらのうち、
「アイテム」「防具」
だけをシステム2の設定でチェックを残して、武器と大事なものは非表示にしようと試みました。

在庫システムショップは無事に開くことができて、
アイテムの購入、売却はうまくいったのですが、
防具の購入は「武器」が参照されていました。(防具の売却は正しく防具が参照されていました)。

大変お手数おかけしますが、今一度見ていただくことは可能でしょうか。
よろしくお願いします。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by ムノクラ » 2021年12月11日(土) 10:52

tanaka1105 さんが書きました:ムノクラ様、申し訳ありません、先ほど解決済みとさせていただいたのですが、一つ問題が見つかりました。

アイテムカテゴリーには、もともと
「アイテム」「武器」「防具」「大事なもの」
がありますが、これらのうち、
「アイテム」「防具」
だけをシステム2の設定でチェックを残して、武器と大事なものは非表示にしようと試みました。

在庫システムショップは無事に開くことができて、
アイテムの購入、売却はうまくいったのですが、
防具の購入は「武器」が参照されていました。(防具の売却は正しく防具が参照されていました)。

大変お手数おかけしますが、今一度見ていただくことは可能でしょうか。
よろしくお願いします。


アイテムカテゴリーの選択は、MZになっての機能追加で自分が把握できていませんでした。
幸い参考になるパッチプラグインがあったので、こちらを参考に修正する予定ですが、少し時間がかかりそうです。
https://plugin.fungamemake.com/archives/27093

一応、そのまま動かないか実験したのですが、MVでも動作のさせかたが間違っているのか、上手く動かせないでいます。
お待ちいただければ幸いです。
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。
tanaka1105
記事: 46
登録日時: 2020年12月28日(月) 23:16

Re: 在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by tanaka1105 » 2021年12月11日(土) 14:55

ムノクラ様、ありがとうございます!無理を言って恐縮ですが、何卒よろしくお願いします。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by Plasma Dark » 2021年12月11日(土) 16:42

L593 type の設定ロジックに問題があります。(私が過去に作ったMV向けパッチでも同様に問題になっていました)
最小コストで直すのであれば、こんな形になるかと思います。

コード: 全て選択

const type = ["item", "weapon", "armor", "keyItem"].indexOf(this._categoryWindow.currentSymbol());


カテゴリウィンドウのindexでは、何番目のカテゴリを選択しているかは取れても、そのカテゴリが何であるかはちょっと工夫しなければわかりません。
ショップの goods として渡す配列パラメータの0番目は、ショップに追加したアイテムのカテゴリを表す定数で、0がアイテム、1が武器、2が防具、3が大事なものになります。
currentSymbolであれば現在選択中のカテゴリの名前が返ってくるので、その名前が対応するカテゴリの番号をtypeに入れてあげれば意図通りに動くはずです。
アバター
ムノクラ
記事: 2011
登録日時: 2018年2月23日(金) 11:41
連絡を取る:

Re: 在庫システムを有するお店(アイテムカテゴリーを限定)

投稿記事by ムノクラ » 2021年12月11日(土) 19:51

Plasma Dark さんが書きました:L593 type の設定ロジックに問題があります。(私が過去に作ったMV向けパッチでも同様に問題になっていました)
最小コストで直すのであれば、こんな形になるかと思います。

コード: 全て選択

const type = ["item", "weapon", "armor", "keyItem"].indexOf(this._categoryWindow.currentSymbol());


カテゴリウィンドウのindexでは、何番目のカテゴリを選択しているかは取れても、そのカテゴリが何であるかはちょっと工夫しなければわかりません。
ショップの goods として渡す配列パラメータの0番目は、ショップに追加したアイテムのカテゴリを表す定数で、0がアイテム、1が武器、2が防具、3が大事なものになります。
currentSymbolであれば現在選択中のカテゴリの名前が返ってくるので、その名前が対応するカテゴリの番号をtypeに入れてあげれば意図通りに動くはずです。


ご助言いただき、ありがとうございます。
いただいたコードで動作確認できました。

>tanaka1105氏

下記に反映させたので、解決できていると思います。
ご査収ください。

https://raw.githubusercontent.com/munok ... StockMZ.js
---
JavaScriptの基本を学習せずにツクールのプラグインやスクリプトを使って横着してゲームを作ろうとしている人間です。
そのような者なので、適当な投稿をするかも知れません。
他の方の投稿を信用してください。

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