みなさん、こんにちは!初めて投稿する者ですが、長らく(旧フォーラムも含めて)閲覧のみで伺っておりました。
Visustellaのコアプラグインを愛用していますが、ショップや装備ストア周りで他のプラグインよりも多くのトラブルに見舞われています。そこで、私が抱えている問題を箇条書きでまとめました:
- カスタムパラメータを4つ追加しています。表示されるのは「compare」データスタイルを使用した場合のみです。
- 素晴らしいですね?しかし、問題は現在戦闘中のメンバーしか表示されない点です。これは使い勝手が悪いです。なぜなら、最終的には多くの操作可能なキャラクターが登場する予定だからです。
- 理想的には、選択された武器タイプを使用可能な操作可能なキャラクター(パーティーメンバー)(戦闘中のメンバーかどうかに関わらず)のみを表示し、表示されるキャラクターの最大数を5〜6人に拡張したいです。
「actor.canEquip(this._item)」が関係していると思われますが、私には手が出ないレベルです!
以下は、JSの「Draw Equip Data」の編集前のコードです:
// 変数の設定
const lineHeight = this.lineHeight();
const paramheight = this.gaugeLineHeight() + 8;
let x = 0;
let y = 0;
let width = this.innerWidth;
let height = this.innerHeight;
let hw = Math.floor(width / 2);
let hx = x + width - hw;
// アイテム名、タイプ、数量の描画
this.drawItemName(this._item, x + this.itemPadding(), y, width - this.itemPadding() * 2);
this.drawItemDarkRect(x, y, width);
y += lineHeight;
if (this.drawItemEquipType(x, y, hw)) y += 0;
if (this.drawItemQuantity(hx, y, hw)) y += lineHeight;
// パラメータ名の描画
const params = this.actorParams();
const backY = y;
y = height - (params.length * paramheight) - 4;
let paramX = x;
let paramWidth = 0;
let tableY = y;
for (const paramId of params) {
paramWidth = Math.max(this.drawParamName(paramId, x + 4, y + 4, width), paramWidth);
y += paramheight;
}
// アクターデータの描画
const actorMax = $gameParty.maxBattleMembers();
const actorWidth = Math.floor((width - paramWidth) / actorMax);
paramWidth = width - (actorWidth * actorMax);
for (const actor of $gameParty.battleMembers()) {
const index = $gameParty.battleMembers().indexOf(actor);
const actorX = paramX + paramWidth + (index * actorWidth);
this.changePaintOpacity(actor.canEquip(this._item));
this.drawActorCharacter(actor, actorX + (actorWidth / 2), tableY);
let actorY = tableY;
// パラメータ変更の描画
for (const paramId of params) {
const diffY = actorY - ((lineHeight - paramheight) / 2);
this.drawActorParamDifference(actor, paramId, actorX, diffY, actorWidth);
actorY += paramheight;
}
}
// 背景の四角形の描画
this.drawItemDarkRect(paramX, backY, paramWidth, tableY - backY);
for (let i = 0; i < actorMax; i++) {
const actorX = paramX + paramWidth + (i * actorWidth);
this.drawItemDarkRect(actorX, backY, actorWidth, tableY - backY);
}
for (const paramId of params) {
this.drawItemDarkRect(paramX, tableY, paramWidth, paramheight);
for (let i = 0; i < actorMax; i++) {
const actorX = paramX + paramWidth + (i * actorWidth);
this.drawItemDarkRect(actorX, tableY, actorWidth, paramheight);
}
tableY += paramheight;
}
ご意見や知識をお持ちの方がいらっしゃいましたら、ぜひご教示ください。お時間を割いていただき、ありがとうございます!


