MZのデフォルト仕様だと
装備品は装備するとアイテムの装備欄から消えて、装備管理画面に移ると思います。
例えば【ショートソード】を1つ所持していた場合、非装備状態ですとアイテム欄の武器の項目に【ショートソード】が表示されますが、これを誰かしらのアクターに装備させると、アイテムの武器の項目からこの【ショートソード】の表示が消えてしまいます。
これをアクターが【ショートソード】を装備中でも、武器の項目に装備したその【ショートソード】を表示したまま残す方法を探しています。(既存のゲームだと【E:ショートソード】等表記される感じのやつです。)
デフォルトや既存のプラグインで可能でしたら申し訳ないのですが
その場合も含めて方法を教えていただけるとありがたいです。よろしくお願いします。
Baz
2
調べたところ、MZ版はパーティが所持しているアイテムのみからアイテムリストを作成するため、武器が装備されるとそのリストからは除外されるようです。これとまったく同じ動作をするプラグインは見当たらなかったので、自作の小規模なプラグインを作成しました。ShowEquippedItems.jsとしてjs/pluginsフォルダに保存し、プラグインマネージャーで有効にしてください。
/*:
* @target MZ
* @plugindesc Shows equipped weapons and armor in the Item menu with an E: mark.
*/
(() => {
const mark = "E:";
const _createItemWindow = Scene_Item.prototype.createItemWindow;
Scene_Item.prototype.createItemWindow = function() {
_createItemWindow.call(this);
this._itemWindow._showEquips = true;
this._itemWindow.refresh();
};
const _makeItemList = Window_ItemList.prototype.makeItemList;
Window_ItemList.prototype.makeItemList = function() {
_makeItemList.call(this);
this._equipCount = 0;
if (this._showEquips) {
const equips = $gameParty.members()
.flatMap(actor => actor.equips())
.filter(item => item && this.includes(item));
this._equipCount = equips.length;
this._data = equips.concat(this._data);
}
};
const _drawItem = Window_ItemList.prototype.drawItem;
Window_ItemList.prototype.drawItem = function(index) {
if (index < this._equipCount) {
const item = this.itemAt(index);
const rect = this.itemLineRect(index);
const markWidth = this.textWidth(mark);
this.changePaintOpacity(this.isEnabled(item));
this.resetTextColor();
this.drawText(mark, rect.x, rect.y, markWidth);
this.drawItemName(item, rect.x + markWidth, rect.y, rect.width - markWidth);
this.changePaintOpacity(1);
} else {
_drawItem.call(this, index);
}
};
})();
装備中のアイテムは、武器タブと防具タブの最上部に数量なしで E:ショートソード のように表示され、未装備のアイテムはこれまで通り数量付きでその下に表示されます。このプラグインはアイテムメニューのみに作用するため、ショップの売却リストや装備画面は変更されません。別のマークを使いたい場合は、コード内の mark 変数で定義されている “E:” を変更してください。
VisuStellaのItems and Equips Coreなど、アイテムメニューを変更する他のプラグインをすでに使用している場合、それらが正しく連携するかどうかは確信が持てないため、まずは新規プロジェクトで試してみることをお勧めします。
返信ありがとうございます。
作っていただいたプラグインを試してみたところ
ちゃんと装備中でも、装備中の装備が武器・防具共に
アイテムの装備欄に表記されました。
色々調べても解決しなかったので本当に助かりました。
ありがとうございました。