返信先: 【解決】NUUN_Resultのパッチプラグインを作りたい

#ツクルーム フォーラム RPGツクールMZ (RPG Maker MZ) 【解決】NUUN_Resultのパッチプラグインを作りたい 返信先: 【解決】NUUN_Resultのパッチプラグインを作りたい

#635
DarkPlasma
参加者

Window_ResultActorStatus はNUUN_Resultプラグイン内で定義されている内部クラスであり、グローバルスコープに公開されていません。そのため、パッチプラグインから直接アクセスすることができません。これがエラーの原因です。

 

これは真ですが

 

Window_ResultActorExp はコアスクリプトで定義されているため、グローバルスコープに存在し、パッチプラグインからアクセス可能です。

 

これは嘘です。どちらのクラスもコアスクリプトには存在しません。

 

NUUN_Result.jsでは、 Window_ResultActorExp クラスを明示的にグローバルスコープに公開しています。

 

window.Window_ResultActorExp = Window_ResultActorExp;

 

一方、 Window_ResultActorStatus ではこれをしていません。

 

どうやら、直接書き換えるほかなさそうですね。

 

実はパッチプラグインで対処する方法がないわけではありません。

Windowクラスが直接グローバルスコープに展開されていなくとも、そのクラスのインスタンスはScene_Battleが保持しています。

 

https://gist.github.com/elleonard/ecf55fe854e812c1cc34cb6d7b24dcbb

 

インスタンス生成時に行われる処理には気をつける必要がありますし、このクラスの別のインスタンスが作られたりする場合は厄介ですが、今回は問題ないように思います。

 

余談:

掲示板の実装にバグがありそうです。

– コードブロック中の半角大なり小なりもエスケープされる

– Markdownの複数行コードブロックがサポートされていない

– 編集を確定すると書き込みが消滅する

ゲスト