ページ 11

【解決】独自のアイテムカテゴリを直接開く方法

Posted: 2024年9月12日(木) 15:36
by mikan
Tomoaky様のTM アイテムカテゴリ拡張 - TMItemCategoryEx.jsを使用しております。
https://plugin-mz.fungamemake.com/archives/1485

このプラグインで作成した独自のアイテムカテゴリを、スクリプト等で直接開く方法が知りたいです。
具体的には、アイテム使用→コモンイベント後にカテゴリ選択中のウインドウに戻るという処理にしたいです。
解決方法がわかる方がいらっしゃいましたら、よろしくお願いいたします。

Re: 独自のアイテムカテゴリを直接開く方法

Posted: 2024年9月13日(金) 07:18
by ムノクラ
mikan さんが書きました:Tomoaky様のTM アイテムカテゴリ拡張 - TMItemCategoryEx.jsを使用しております。
https://plugin-mz.fungamemake.com/archives/1485

このプラグインで作成した独自のアイテムカテゴリを、スクリプト等で直接開く方法が知りたいです。
具体的には、アイテム使用→コモンイベント後にカテゴリ選択中のウインドウに戻るという処理にしたいです。
解決方法がわかる方がいらっしゃいましたら、よろしくお願いいたします。
おそらく、下記のプラグインで実現できると思います。

▼NUUN アイテム、スキルの使用効果でコモンイベント実行で画面を閉じない(NUUN様作) - NUUN_ContinuationItemWindowCommon.js
https://plugin-mz.fungamemake.com/archives/5741

Re: 独自のアイテムカテゴリを直接開く方法

Posted: 2024年9月13日(金) 17:53
by mikan
解決策のご提示、どうもありがとうございます!
プラグインを導入してみたところ、アイテム使用後に何も起こらない→アイテム欄を閉じるとコモンイベント発動、という順序になってしまいました。

メッセージウインドウやピクチャを使用するコモンイベントのため、アイテム使用で一旦アイテム欄を閉じる→コモンイベント処理後に再表示、という形が理想には近いです。
現在はコモンイベント末尾に SceneManager.push(Scene_Item); を記述しており、使用後にアイテム欄のトップには戻れるようになっています。
最低限これでも良いのですが、アイテム使用時の画面(カテゴリ選択後のアイテム欄)にジャンプできたら操作性がより良くなると感じています。

Re: 独自のアイテムカテゴリを直接開く方法

Posted: 2024年9月13日(金) 18:45
by ムノクラ
mikan さんが書きました:解決策のご提示、どうもありがとうございます!
プラグインを導入してみたところ、アイテム使用後に何も起こらない→アイテム欄を閉じるとコモンイベント発動、という順序になってしまいました。

メッセージウインドウやピクチャを使用するコモンイベントのため、アイテム使用で一旦アイテム欄を閉じる→コモンイベント処理後に再表示、という形が理想には近いです。
現在はコモンイベント末尾に SceneManager.push(Scene_Item); を記述しており、使用後にアイテム欄のトップには戻れるようになっています。
最低限これでも良いのですが、アイテム使用時の画面(カテゴリ選択後のアイテム欄)にジャンプできたら操作性がより良くなると感じています。
自分が挑戦して、頓挫したものに近いようですね。
viewtopic.php?f=23&t=15037&p=54256

ちょっとややこしいですし、MV向けですが下記が参考になるかも知れません。
viewtopic.php?t=10938

また、下記プラグインでメッセージウィンドウをアイテムシーンに追加したら、解決するかも知れません。
▼DarkPlasma 指定のシーンにメッセージウィンドウを表示させる(DarkPlasma様作) - DarkPlasma_Scene_MessageMixIn.js
https://plugin-mz.fungamemake.com/archives/5120
指定したシーンにメッセージウィンドウを表示できるようになります。

Re: 独自のアイテムカテゴリを直接開く方法

Posted: 2024年9月14日(土) 01:09
by 名無し蛙
2年前にも似たような質問に答えた記憶がありますね。
3年前にプラグイン化は不可避と書いた事は訂正します。
今回のトピックに合わせて最適化するならこんな感じですか。

コード: 全て選択

// TMItemCategoryExのプラグインパラメータ:categoryListから指定してください
const categorySymbol = 'weapon';

SceneManager.push(Scene_Item);
SceneManager._stack.push(new Scene_Menu().constructor);
SceneManager._nextScene._oldStart = SceneManager._nextScene.start;
SceneManager._nextScene.start = function() {
    this._oldStart.apply(this, arguments);
    this._categoryWindow.selectSymbol(categorySymbol); 
    this._categoryWindow.update();
    this.onCategoryOk();
    this._categoryWindow.deactivate();
}
このコードを使用効果:コモンイベントの末尾に書けば
アイテム画面に指定のカテゴリ欄を開いた状態で戻ります。

※当該アイテムを使用した後に
アイテム画面をキャンセルした時にマップ画面に直接戻ってしまうのでコード修正しました

Re: 独自のアイテムカテゴリを直接開く方法

Posted: 2024年9月14日(土) 17:27
by mikan
ムノクラ様、名無し蛙様、
解決策のご提示ありがとうございます!

名無し蛙様の上記のスクリプトをコモンイベント末尾に記述したところ、無事に想定通りの動作にすることができました。
ムノクラ様に教えていただいたプラグインも今後の制作の参考にさせて頂きます!
自分が考えていたよりも複雑な処理だったようで、大変お手数をおかけしました。

このスレッドは解決とさせていただきます。
お力添え頂きどうもありがとうございました!