【解決済み】DarkPlasma_EnemyBookでMPを非表示にしたい

真白灰
記事: 22
登録日時: 2018年3月05日(月) 15:02

【解決済み】DarkPlasma_EnemyBookでMPを非表示にしたい

投稿記事by 真白灰 » 2023年12月25日(月) 16:53

戦闘中にモンスター図鑑を見れるようにしたいので
DarkPlasma_EnemyBook、DarkPlasma_EnemyBookInBattleを使用しているのですが
今作ろうとしているゲームにはMPという概念がないのでMPの表示を消したいです。

よろしくお願いします。
最後に編集したユーザー 真白灰 on 2023年12月26日(火) 12:18 [ 編集 1 回目 ]

アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: DarkPlasma_EnemyBookでMPを非表示にしたい

投稿記事by Plasma Dark » 2023年12月25日(月) 18:19

入手元のURLと、ご利用のバージョンをご記載頂いたほうが間違いがありません。
DarkPlasma_EnemyBook 5.2.2 を利用されているという前提で回答します。

私のエネミー図鑑プラグインは、メンテナンス性を目的として表示項目に関する設定を意図的に削っています。
表示に関するカスタマイズを行う場合は拡張プラグインを各々利用者で書いてください、という思想です。

Window_EnemyBookStatus.prototype.drawStatus を上書きするような拡張プラグインを書くことで、表示項目をカスタマイズできます。

コード: 全て選択

(() => {
  'use strict';
  Window_EnemyBookStatus.prototype.drawStauts = function (x, y) {
    const paramIds = [0, 2, 3, 4, 5, 6, 7];
    paramIds.forEach(paramId => {
      this.changeTextColor(this.systemColor());
      this.drawText(TextManager.param(paramId), x, y, 160);
      this.resetTextColor();
      this.drawText(`${enemy.params[paramId]}`, x + 160, y, 60, 'right');
      y += lineHeight;
    });
  };
})();


例えば、こんなふうに書くことができます。

一方、他の方のプラグイン、例えばNUUNさんのエネミー図鑑プラグインなどは、表示に関するカスタマイズをプラグインパラメータで行えるようです。

自分で拡張プラグインを書いて管理するべきか、設定値の複雑なプラグインを入れて自分で拡張プラグインを書かずに済ませるべきかはプロジェクトごとに判断基準が違うでしょうから、どちらかやりやすい方法をお選びいただくのが良いかと思います。
真白灰
記事: 22
登録日時: 2018年3月05日(月) 15:02

Re: DarkPlasma_EnemyBookでMPを非表示にしたい

投稿記事by 真白灰 » 2023年12月25日(月) 18:59

入手元は
https://github.com/elleonard/DarkPlasma ... ee/release
バージョンは5.2.2です。

お書きいただいたコードを拡張プラグインにしたところ、
効果がありませんでした。
3行めのdrawStautsはdrawStatusではないしょうか。

そのように修正してなお、下記のようなエラーが出てしまいました。

rmmz_managers.js:2030 ReferenceError: enemy is not defined
at darkplasma_enemybook_extention.js:9
at Array.forEach (<anonymous>)
at Window_EnemyBookStatus.drawStatus (darkplasma_enemybook_extention.js:5)
at Window_EnemyBookStatus.drawPage (DarkPlasma_EnemyBook.js:1140)
at Window_EnemyBookStatus.refresh (DarkPlasma_EnemyBook.js:1134)
at Window_EnemyBookStatus.setEnemy (DarkPlasma_EnemyBook.js:1092)
at Window_EnemyBookIndex.updateStatus (DarkPlasma_EnemyBook.js:987)
at Window_EnemyBookIndex.setStatusWindow (DarkPlasma_EnemyBook.js:978)
at new EnemyBookWindows (DarkPlasma_EnemyBook.js:908)
at Scene_Battle_EnemyBookMixIn.sceneBattle.createEnemyBookWindows (DarkPlasma_EnemyBookInBattle.js:180)
SceneManager.catchNormalError @ rmmz_managers.js:2030

よろしくお願いします。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: DarkPlasma_EnemyBookでMPを非表示にしたい

投稿記事by Plasma Dark » 2023年12月25日(月) 20:54

drawStatus でしたね。

enemy も this._enemy にしてください。
真白灰
記事: 22
登録日時: 2018年3月05日(月) 15:02

Re: DarkPlasma_EnemyBookでMPを非表示にしたい

投稿記事by 真白灰 » 2023年12月25日(月) 21:19

すみません。
またエラーが出てしまいました。

rmmz_managers.js:2030 ReferenceError: lineHeight is not defined
at Darkplasma_EnemyBook_Extention.js:10
at Array.forEach (<anonymous>)
at Window_EnemyBookStatus.drawStatus (Darkplasma_EnemyBook_Extention.js:5)
at Window_EnemyBookStatus.drawPage (DarkPlasma_EnemyBook.js:1140)
at Window_EnemyBookStatus.refresh (DarkPlasma_EnemyBook.js:1134)
at Window_EnemyBookStatus.setEnemy (DarkPlasma_EnemyBook.js:1092)
at Window_EnemyBookIndex.updateStatus (DarkPlasma_EnemyBook.js:987)
at Window_EnemyBookIndex.setStatusWindow (DarkPlasma_EnemyBook.js:978)
at new EnemyBookWindows (DarkPlasma_EnemyBook.js:908)
at Scene_Battle_EnemyBookMixIn.sceneBattle.createEnemyBookWindows (DarkPlasma_EnemyBookInBattle.js:180)

よろしくお願いします。
アバター
Plasma Dark
記事: 669
登録日時: 2020年2月08日(土) 02:29
連絡を取る:

Re: DarkPlasma_EnemyBookでMPを非表示にしたい

投稿記事by Plasma Dark » 2023年12月26日(火) 02:15

lineHeight も this.lineHeight() が正しいです。
真白灰
記事: 22
登録日時: 2018年3月05日(月) 15:02

Re: DarkPlasma_EnemyBookでMPを非表示にしたい

投稿記事by 真白灰 » 2023年12月26日(火) 12:18

できました。
色々お手数おかけして申し訳ありませんでした。
本当にありがとうございます。
助かりました。

“MZ:質問” へ戻る