【解決済み】tomoaky様の「TMItemCategoryEx」プラグインについて

アバター
ツクラ―
記事: 68
登録日時: 2019年5月15日(水) 19:03

【解決済み】tomoaky様の「TMItemCategoryEx」プラグインについて

投稿記事by ツクラ― » 2022年4月25日(月) 20:12

tomoaky様の「TMItemCategoryEx」プラグインについて
機能拡張ができないかお聞きしたく投稿させていただきました。

公開されておりますプラグインでは「パラメータ」での一括設定(ショップの売却に表示される項目(アイテム・武器など)となっております。
これを各ショップごとに、売却に表示される項目をプラグインコマンドのような形式で別々に設定する仕様にすることは可能でしょうか?

ご存知の方がおりましたらご回答していただければ幸いです。
宜しくお願い致します。

URL:https://drive.google.com/file/d/1bTAl-AW_JxONf2azdbsGMmovK60KI6Xh/view
最後に編集したユーザー ツクラ― on 2022年4月26日(火) 23:12 [ 編集 1 回目 ]

名無し蛙
記事: 305
登録日時: 2015年11月23日(月) 02:46

Re: tomoaky様の「TMItemCategoryEx」プラグインについて

投稿記事by 名無し蛙 » 2022年4月26日(火) 07:47

var categoryList = (parameters['categoryList'] || 'item weapon armor keyItem').split(' ');
の下の行からこれ挿し込んでおけば変更出来そうですね

コード: 全て選択

    //-----------------------------------------------------------------------------
    // Game_Interpreter
    //
    const _Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
    Game_Interpreter.prototype.pluginCommand = function(command, args) {
        _Game_Interpreter_pluginCommand.apply(this, arguments);
        if (command === 'CategoryChange') {
            categoryList = args;
        } else if (command === 'CategoryReset') {
            categoryList = parameters['categoryList'];
        }
    };

プラグインコマンドで「CategoryChange カテゴリー1 カテゴリー2 カテゴリー3」という形で上書きできると思います
一応注意点を挙げるならこの方法で変更した場合はその情報がセーブに反映されないという事でしょうかね
ショップ処理の前後で都度変更するつもりならあまり関係無いかも知れませんが

※多分頻用すると思うのでCategoryResetも追加
プラグインパラメータで設定した初期値に再設定します
アバター
ツクラ―
記事: 68
登録日時: 2019年5月15日(水) 19:03

Re: tomoaky様の「TMItemCategoryEx」プラグインについて

投稿記事by ツクラ― » 2022年4月26日(火) 19:37

名無し蛙様

希望の設定ができるコードを書いていただき誠にありがとうございます。
無事設定することができました!感謝致します。

>一応注意点を挙げるならこの方法で変更した場合はその情報がセーブに反映されないという事でしょうかね
解決後にメニューを弄っておりましたら、
制作中のものでは「隠れアイテムA」も使用しておりまして、メニューからのアイテム欄にも「隠れアイテムA」を表示させたく、書いていただいたコードでショップ利用後はアイテム欄に「隠れアイテムA」が追加で表示されておりますがゲームを再起動すると元に戻ってしまいます。

そこで質問なのですが、ゲーム起動時からメニュー内のアイテム欄に「隠れアイテムA」も一緒に表示する設定は可能でしょうか?

お答えいただければ幸いです。
宜しくお願い致します。
名無し蛙
記事: 305
登録日時: 2015年11月23日(月) 02:46

Re: tomoaky様の「TMItemCategoryEx」プラグインについて

投稿記事by 名無し蛙 » 2022年4月26日(火) 22:45

プラグインパラメータ(categoryList)にも同様の文字列を入れれば反映されるのでは。
どちらもスペース区切りの文字列を配列に分解して
カテゴリーリストに代入しているだけなのでやってる事は同じはずですね。
コマンドで反映されてパラメータでは反映されない、という事はないと思います。

一応、隠しアイテム表示の流れをチェックしてみましたけど

コード: 全て選択

  //-----------------------------------------------------------------------------
  // Window_ItemList
  //
  var _Window_ItemList_includes = Window_ItemList.prototype.includes;
  Window_ItemList.prototype.includes = function(item) {
    if (item && item.meta.itemCategory) return this._category === item.meta.itemCategory;
    return _Window_ItemList_includes.call(this, item);
  };

この部分が関わって来るようですね。
このプラグインの<itemCategory:カテゴリー>タグを利用したアイテムは
アイテムタイプの設定に関わらず強制的に表示されます。
アバター
ツクラ―
記事: 68
登録日時: 2019年5月15日(水) 19:03

Re: tomoaky様の「TMItemCategoryEx」プラグインについて

投稿記事by ツクラ― » 2022年4月26日(火) 23:11

名無し蛙様

ご回答いただきありがとうございます。
今回もコードまで記載していただき、とても分かりやすくて助かりました。

ご教示いただいた通りパラメータに記載致しましたところ
無事ゲーム起動時からアイテム欄に表示することができました。

今回の問題はすべて解決することができました。
改めまして、名無し蛙様ご回答していただき誠にありがとうございました、感謝申し上げます!

“MV:質問” へ戻る