【解決済】装備画面の「最強装備」と「全て外す」を消す方法

とらは
記事: 7
登録日時: 2022年5月25日(水) 23:14

【解決済】装備画面の「最強装備」と「全て外す」を消す方法

投稿記事by とらは » 2022年5月26日(木) 16:19

お世話になります。
現在、装備画面での「最強装備」と「全て外す」を消す方法を探しています。
私が探した限りですとMVのプラグイン「最強全脱ぎコマンド削除 - TMOmitEquipCommand.js」が
理想なのですがMZには対応できませんでした。

二つのコマンドを消す方法を教えて頂けると幸いでございます。
よろしくお願いいたします。
最後に編集したユーザー とらは on 2022年5月31日(火) 20:40 [ 編集 1 回目 ]

やまQ
記事: 32
登録日時: 2017年6月26日(月) 14:26

Re: 装備画面の「最強装備」と「全て外す」を消す方法

投稿記事by やまQ » 2022年5月30日(月) 23:25

スクリプトまったく分からないけど書き換えてみました。
一通り使ってみて、正常に動作しているようです。

以下のコードを適当なファイル名.jsにして、プラグインとして読み込んでください。

コード: 全て選択

// ※rmmz_scenes.js から それっぽい部分を抜き出して改変。   /♪で検索すると変更箇所を辿れます。
//-----------------------------------------------------------------------------
// Scene_Equip
//
// 装備画面のシーンクラス。

Scene_Equip.prototype.createCommandWindow = function() {  //♪ 要らないところを切除
    const rect = this.commandWindowRect();
    this._commandWindow = new Window_EquipCommand(rect);
    this._commandWindow.hide();       //♪ コマンドウインドウを非表示
    this._commandWindow.deactivate(); //♪ コマンドウインドウを停止(非アクティブ化)
};

Scene_Equip.prototype.createSlotWindow = function() {
    const rect = this.slotWindowRect();
    this._slotWindow = new Window_EquipSlot(rect);
    this._slotWindow.setHelpWindow(this._helpWindow);
    this._slotWindow.setStatusWindow(this._statusWindow);
    this._slotWindow.setHandler("ok", this.onSlotOk.bind(this));
    this._slotWindow.setHandler("cancel", this.popScene.bind(this));      //♪ コマンドウインドウから移植
    this._slotWindow.setHandler("pagedown", this.nextActor.bind(this));   //♪ コマンドウインドウから移植
    this._slotWindow.setHandler("pageup", this.previousActor.bind(this)); //♪ コマンドウインドウから移植
    this.addWindow(this._slotWindow);
};

Scene_Equip.prototype.slotWindowRect = function() {
    const commandWindowRect = this.commandWindowRect();
    const wx = this.statusWidth();
    const wy = this.mainAreaTop();    //♪ 変更前 commandWindowRect.y + commandWindowRect.height;
    const ww = Graphics.boxWidth - this.statusWidth();
    const wh = this.mainAreaHeight(); //♪ 変更前 this.mainAreaHeight() - commandWindowRect.height;
    return new Rectangle(wx, wy, ww, wh);
};

Scene_Equip.prototype.refreshActor = function() {
    const actor = this.actor();
    this._statusWindow.setActor(actor);
    this._slotWindow.setActor(actor);
    this._itemWindow.setActor(actor);
    this._slotWindow.activate(); //♪ スロットウィンドウを起動する
};

Scene_Equip.prototype.onActorChange = function() { //♪ 要らないところを切除
    Scene_MenuBase.prototype.onActorChange.call(this);
    this.refreshActor();
};
とらは
記事: 7
登録日時: 2022年5月25日(水) 23:14

Re: 装備画面の「最強装備」と「全て外す」を消す方法

投稿記事by とらは » 2022年5月31日(火) 20:39

やまQさまプラグインを作って下さり誠にありがとうございます。
試したところ理想の形でした。
おかげで理想とするものに一歩近づけました!
RAPAGA
記事: 16
登録日時: 2022年12月11日(日) 03:43

Re: 【解決済】装備画面の「最強装備」と「全て外す」を消す方法

投稿記事by RAPAGA » 2023年6月26日(月) 02:17

お世話になります。
今さらながら恐縮なのですが、このトピックについてお助け頂きたいです。
装備画面のコマンド(装備、最強装備、すべて外す)について、こちら使わせてもらおうと思ったのですが、
1)メニューから装備画面へ
2)装備画面になって、カーソルがどの部位にもあっていない状態になっている
3)その状態でリターンキーを押すと、空白の画面になる
4)そこでリターンを押すと、エラーになる
※おそらくメニューから装備画面に移行した際に、削除したはずのコマンド(?)のところにカーソルがあっていて、そこでリターンキーを押すとエラーになっている? と想像しています。
お手数ですがお助け頂けないでしょうか?
理想としては、メニューから装備画面に移行した際に、装備部位の一番上の部分にカーソルがあっているとありがたいです。
何卒よろしくお願いします。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 【解決済】装備画面の「最強装備」と「全て外す」を消す方法

投稿記事by Plasma Dark » 2023年6月26日(月) 07:01

スロットウィンドウをアクティブにしながらもselect(0)しておらず、カーソルのindexが-1になってしまっているのが原因です。
スロットウィンドウをアクティブ化する行の直前辺りに以下のコードを足せば解決しそうです。

コード: 全て選択

this._slotWindow.select(0);


メソッドの上書きを避けてふんわり競合対策した版も置いておきます。
https://gist.github.com/elleonard/e437b ... 14d9c647ed
RAPAGA
記事: 16
登録日時: 2022年12月11日(日) 03:43

Re: 【解決済】装備画面の「最強装備」と「全て外す」を消す方法

投稿記事by RAPAGA » 2023年6月26日(月) 22:28

Plasma Dark様、ありがとうございます。お教えいただいたコードを足したことで解決しました。
ありがとうございました。
ゆ――
記事: 60
登録日時: 2023年5月03日(水) 14:18

Re: 【解決済】装備画面の「最強装備」と「全て外す」を消す方法

投稿記事by ゆ―― » 2023年11月19日(日) 04:36

横から失礼します。

メソッドの上書きを避けてふんわり競合対策した版も置いておきます。
https://gist.github.com/elleonard/e437b ... 14d9c647ed

こちらのプラグインを使わせていただきたいのですが、
プロジェクトに入れてみたら、最強装備等のコマンドがなくなった分、装備欄全体がコマンドの縦幅分上に上がってしまいました。
ページ切り替えの『<>』の記号と被ってしまうので、装備欄は元の位置のまま、最強コマンド類のみの削除に改良していただけないでしょうか?
装備欄のy軸を下にずらせばいいのでしょうけど、私にはコードも分からないので、改良していただけると助かります。
どうか、よろしくお願いいたします。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: 【解決済】装備画面の「最強装備」と「全て外す」を消す方法

投稿記事by Plasma Dark » 2023年11月19日(日) 13:39

そういえばコマンドウィンドウのY座標をベースにしているんでしたね。
それをmainAreaTopにしてあげれば良さそうです。

gistを更新しましたので、お手数ですがダウンロードし直していただけると。
ゆ――
記事: 60
登録日時: 2023年5月03日(水) 14:18

Re: 【解決済】装備画面の「最強装備」と「全て外す」を消す方法

投稿記事by ゆ―― » 2023年11月19日(日) 22:03

そういえばコマンドウィンドウのY座標をベースにしているんでしたね。
それをmainAreaTopにしてあげれば良さそうです。

gistを更新しましたので、お手数ですがダウンロードし直していただけると。


ありがとうございます。
テストプレイしたところ、きちんと理想の形になっていました。
対応いただき、ありがとうございました。

“MZ:質問” へ戻る