見出し画像

【MZプラグイン】ゲームデータ自動同期

いちいち変数に一旦入れるのがイヤ

いまいるマップのIDを一旦変数#25に入れようとしている図

上図はいまいるマップの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) ※右クリックでどうぞ


この記事が気に入ったらサポートをしてみませんか?