【MZプラグイン】ゲームデータ自動同期
いちいち変数に一旦入れるのがイヤ
上図はいまいるマップのIDですが、 #RPGツクールMZ では上記のほかにもプレイヤーのいるマップ上のXY座標とか、直前に使用したアイテムのIDとか、現在の所持金とか、戦闘回数とかetcetc、イベントの制御とかでけっこう有用なゲーム上の各種データをとりだして変数に入れることができます。
いろいろ有用そうではあるんですが、ただこれ、必ずその受け皿になる変数が必要になります。これらのゲームデータを同時に複数扱いたい場合は受け皿にする変数もその数だけ必要になります。これを無計画にやってると、どこに何を入れたかわかんなくなりそうな気がしませんか? わたしはします。このマップIDぽいのはいつの? 直前使用っていうけどそれいつの話? 戦闘回数ってどの時点の? etcetc
じゃあもうどこに何を入れるか最初から決めよう
ということで、このプラグインを入れて、全部最初に決めてしまいましょう。全部で20個の変数を「先に」確保してしまいます。もちろん、決めるだけならプラグインは必要ありませんが、このプラグインは、それらの20種類のゲームデータを常に、受け皿にする変数に自動で同期し続けます。たとえば、マップIDを変数#10に入れておく設定にしておくと、マップが変わるたびに何もしなくても変数#10にいまいるマップのIDが入ります。そうしておくと、いざいまいるマップのIDをイベントコマンドで使いたいとなったとき、適当な変数にゲームデータからマップIDを選択して、その変数を改めて見て……とすることなく、最初から変数#10を見ればいいわけです。
減らせる記述量
半分にできます。ひとつひとつは「ゲームデータを受け皿変数に入れる」「それを使う」という2行が、「それを使う」の1行になりますが、このプラグインが対応するゲームデータすべてでそれが起こるので、10回そういうことをやる場合20行が10行ですみます。そのうえ、所持金をいつも入れてる変数どれだっけ? となることもありません。
対応ゲームデータ
このプラグインで自動同期できるゲームデータは以下のとおりです。
直前に使用したスキル
スキルID
消費MP
消費TP
直前に使用したアイテムのID
直前に行動した
アクターのID
敵インデックス
直前に行動の対象になった
アクターのID
敵インデックス
プレイヤーがいる
マップID
X座標
Y座標
リージョン
地形タグ
プレイヤーが直前にいた
リージョン
地形タグ
所持金
累計歩数
戦闘
全回数
勝利回数
逃走回数
ちょっとくわしい話
#RPGツクールMZ では、スイッチや変数が更新されるとそれにあわせてマップやイベントを描画し直すようになっています。ただ、このプラグインが対象にしているようなデータの場合はいちいち描画し直さなくても困らないことが多いため、描画を更新するかどうかを設定することができます。まぁ、よくわかんない方はデフォルトの値をそのまま適用いただければOKです。
ダウンロードはこちらから
CSVN_gameDataSync.js (GitHub) ※右クリックでどうぞ