こんばんは、タコイカです!
道楽でRPGツクールMZやってる? タコイカはやってます!
というわけで(どういうわけで?)プラグインのカスタムとかしてますか?
いや、意外とプラグインのカスタム雑記とか、無いんですよ…探してもなかなか…秘伝のタレみたいな扱いなの?
いや、公式がまさかの個人サポートしたりしてるので、そういうところで解決されちゃって必要がないのかもしれないけども。
なので、ゲ制アカウントではないここで初級編見たいな覚書を残しておこう。
そう、これは完全趣味の雑記なのである。
とういうわけで、「鳥小屋プラグイン置き場」様の神プラグインをカスタムします
こちらの神の
https://twitter.com/ru_shalm
こちらのプラグインです
https://torigoya-plugin.rutan.dev/map/notifyMessage/
ポップアップ表示するプラグインでございますね!
通常マップで実装されるので、戦闘中は利用できません。
戦闘中に表示したいです。 バトルログだけでは満足できない。
注目すべきは745行目から
// Scene_Map
const upstream_Scene_Map_createWindowLayer = Scene_Map.prototype.createWindowLayer;
Scene_Map.prototype.createWindowLayer = function () {
NotifyManager.setScene(this);
upstream_Scene_Map_createWindowLayer.apply(this);
};
const upstream_Scene_Map_update = Scene_Map.prototype.update;
Scene_Map.prototype.update = function () {
upstream_Scene_Map_update.apply(this);
NotifyManager.update();
};
なにかっていうと、大雑把に言うとツクールmzは作ったものを「WindowLayer」にぶち込んで使用するのだ。
Scene_Mapっていうのは、つまり移動マップ用のWindowLayerです。
じゃあ、つまり「たぶん“Scene_Battle”というのがあるハズだから、そう書き加えれば動くんじゃないかい!?」
そんなハズないやろ、行き当たりばったりにもほどがある。
いや、今回はそれで動くんですけど。
// Scene_Battle
const upstream_Scene_Battle_createWindowLayer = Scene_Battle.prototype.createWindowLayer;
Scene_Battle.prototype.createWindowLayer = function () {
NotifyManager.setScene(this);
upstream_Scene_Battle_createWindowLayer.apply(this);
};
const upstream_Scene_Battle_update = Scene_Battle.prototype.update;
Scene_Battle.prototype.update = function () {
upstream_Scene_Battle_update.apply(this);
NotifyManager.update();
};
丁度その下くらいに、これを書き加えれば終わりです。
いや、ほんとに動くよ。 試してみてほしい。 ただ、こういうリアルタイムな処理は思ったより負荷が高いので気を付けてください(すぐ重くなるよ)。
あ、前提プラグイン様を入れるの忘れないでね!
実際の動作はこうなる(左下 ※無駄にR-18要素を含むので注意)。
https://twitter.com/Dagon_tako/status/1510553902839906304
我々が充実したRPGツクールMZカスタム生活を送れるのは、手厚い公式サポートとプラグイン開発者様方のおかげ。 拝もう。
したらな!
フォロワー以上限定無料
DT_MinusStates.js タコイカ製、ツクールMZでHPとMPの負数利用を可能にするプラグイン