プラグイン導入による変更を防ぐには?

返信する
Mr.あきちゃん
記事: 68
登録日時: 2017年7月23日(日) 02:51

プラグイン導入による変更を防ぐには?

投稿記事 by Mr.あきちゃん »

お世話になります。
申し訳ありません、恐れ多くもスクリプトとかプラグインの仕様を全く知らずに質問させていただきます。

メニュー画面で、アクターのレベルの脇に最大レベルも表示させたいのです。
それ自体は、元々あるrpg_windows.jsの中の
「Window_Base.prototype.drawActorLevel」に1行追加すれば実現できました。
(あまり良い方法ではないのかもしれませんが…)
しかし、他のプラグイン(YEP_○○等)を導入したら、↑が効かず、元(デフォルト)に戻ってしまいます。

他のどんなプラグインを導入しても、絶対に↑の最大レベル表示を無効化させない方法はないのでしょうか?
やはりそういったプラグイン(最大レベルを表示するプラグイン)を作らないとダメなのでしょうか?

何卒、ご教示くださいませ。
よろしくお願いいたします。
アバター
まっつUP
記事: 1149
登録日時: 2016年8月11日(木) 15:38
お住まい: タケノコ王国

Re: プラグイン導入による変更を防ぐには?

投稿記事 by まっつUP »

Mr.あきちゃん 様
お世話になります。

一番良いのはWindow_Base.prototype.drawActorLevelを上書きしているプラグインの下で
再度期待する動作をする記述に上書きするためのプラグインを適用することです。
この時、この関数の場合オーバーライドが使えるかもしれません。

あるいは既存のプラグインの内容を書き換えてしまってもよいでしょう。
RPGで笑顔を・・・

ツイッター(ツクラーの巣窟)(閲覧は自己責任でお願いします)
https://twitter.com/mattuup

github
https://github.com/mattuup/RPGMakerMZ
アバター
ビービー
記事: 308
登録日時: 2016年1月12日(火) 18:40

Re: プラグイン導入による変更を防ぐには?

投稿記事 by ビービー »

こんばんは。

使用されているプラグインがどこをどう言う風に書き換えているのかわからないので
解決しないかもしれませんが

こちらか

コード: 全て選択

var _Window_Base_drawActorLevel = Window_Base.prototype.drawActorLevel;
Window_Base.prototype.drawActorLevel = function(actor, x, y) {
    _Window_Base_drawActorLevel.call(this, actor, x, y);//元の処理を呼んでいます。
//この↓の行を適当に書き換えてください。
    this.drawText("/99", x + 132, y, 36, 'right');
};
こちらを

コード: 全て選択

Window_Base.prototype.drawActorMaxLevel = function(actor, x, y) {
//この↓の行を適当に書き換えてください。
    this.drawText("/99", x + 132, y, 36, 'right');
};

var _Window_Base_drawActorSimpleStatus = Window_Base.prototype.drawActorSimpleStatus;
Window_Base.prototype.drawActorSimpleStatus = function(actor, x, y, width) {
    _Window_Base_drawActorSimpleStatus.call(this, actor, x, y, width);//元の処理を呼んでいます。
    this.drawActorMaxLevel(actor, x, y + this.lineHeight() * 1);
};
プラグイン化して他のプラグインより下に配置すれば解決するかもしれません。

もしくはどのプラグインが処理を書き換えているのか探して
そのプラグインに書き加える事でも解決します。
------------------------------------------------------
Twitterやってます。
https://twitter.com/BB_ENTER
ブログもやってます。
http://bb-entertainment-blog.blogspot.jp/
Mr.あきちゃん
記事: 68
登録日時: 2017年7月23日(日) 02:51

Re: プラグイン導入による変更を防ぐには?

投稿記事 by Mr.あきちゃん »

まっつUP様
ビービー様

お世話になります。早速のご教示、誠にありがとうございました。
以前のRuby言語を使っていたバージョン(RPGVX?)の時に
「後に置いた方の記述が有効になる~」みたいなことが書かれていましたが、
なるほどJavascriptでも同じことが言えるのですね。
頂いたサンプルで記述したものを~.jsで保存し、プラグインとしてお終いに組み込んだら
見事に最大レベルが表示されました\(^o^)/

ありがとうございました。
返信する

“MV:質問”に戻る