コンフィグ画面を右クリックで戻るようにするプラグイン

はじめに

セーブやロード画面は右クリックで前の画面に戻れるのですが、独自に作ったコンフィグ画面に関してはそうはなりません。
コンフィグ画面も右クリックで戻れるようにしたいとの要望で作ったプラグインです。
ティラノスクリプト バージョン471bで動作を確認しています。

概要

コンフィグ画面から右クリックで戻るを実現するには、右クリックを押した時に、画面上の戻るボタンが押されたのと同じ動作をすれば良いです。そのためのプラグインを作りました。

ダウンロードはこちら
いろいろ入っていますがrightClickButtonというフォルダが今回のプラグインです。

画面上のボタンのnameにrightClickButtonを設定すると、右クリック時にそのボタンが押されたのと同じ動作になります。

設定例

1
[button graphic="back.png" name="rightClickButton" fix=true target="backtitle" x=800 y=100]

すでにname属性を使用している場合は、以下のように,で区切って指定してください。
name="test,rightClickButton"

ライセンス

完全に自由にどうぞ。
クレジットの表記もいりません。

テストのレポートを作るプラグイン

テストのレポート

ゲームのテストをしたときにバグや良かったところとか報告をします。
しかし、画面のキャプチャをしたりセーブファイルを添付したり、結構大変ですし、そういう作業をしながらでは、ゲームに集中できません。
そこでレポート作成を楽にできるプラグインを試作をしていたのでその概要の記事です。
申し訳ありませんが、試作段階のため配布の予定は今のところありません

レポート作成ウィンドウ

ゲーム本体側に影響を与えず、すぐにレポートを書けることを重視して、レポート作成画面は別ウィンドウで自動起動します。
以下の画面のような構成です。
レポート作成ウィンドウ

レポートのHTML

レポートは以下の画像のようにHTMLで出力されます。

実際のレポートのHTMLは以下より確認できます。
レポートサンプル

以下の2つのセーブが添付されます。

  1. 最後にプレイヤーが実際にセーブした時点のセーブファイル
  2. レポートを送信した時点のセーブファイル

2に関しては場合によっては正しくないセーブファイルになります。
例えば、イベント途中でレポートを書いた場合、イベントを途中まで実行しているので中途半端なデータになりかねません。
使用するときは注意が必要です。

使用感とか

一回だけテストをする機会があったので使って、レポートを提出しましたが、悪くはなかったです。
受け取る側も見やすいと言って頂けたました。
ただ公開できるクォリティではないので、今回はとりあえず概要だけ記事にしてみました。

メニューとマップのスクリーンショットについて

メニューの背景のマップ画像

以下の画像のようにメニューの背景にはマップが映っています。
しかし、この画像は実際のマップではなくただの画像です。
メニューを開く瞬間にスクリーンショットが撮られ、それをぼかして表示しているだけです。

メニューの裏に表示されているマップ

ツクールはシーンが2つ以上存在するような構造になってなく、別のシーンに遷移したときに前のシーンは破棄されます。
マップからメニューやショップ、メニューからスキル画面やアイテム画面に遷移したとき、シーンは破棄され、戻った時に作り直されます。
もちろんマップからメニューなどに遷移するときはそのマップの情報(キャラの位置、歩行ルートの進行状況、使用しているピクチャの情報など)は保持されますが、戻った時はその情報をもとにマップを組み立て直します。

イベントのテストでエラーになるプラグインのケース

イベントのテストとは

ツクールMVにはイベントのテストという機能があります。
以下のようにイベントコマンドを右クリックすると表示される「テスト」です。

イベントのテスト

自分でプラグイン作っていてもテストするとき考慮が漏れるのですが、このイベントのテストを使用時のみエラーになるケースがあり、何度か対応しています。

普通の場合と何が違うか

マップのメモ欄が取得できません。
$dataMap.metaundefinedのため、metaが存在する前提で作るとエラーが発生します。
そのため、metaの存在チェックをする必要があります。プラグインを作る際、これに注意が必要です。

ロードした結果が異なる場合がある

発生条件

この動画のようにセーブしてすぐにロードするとイベントの位置は変わらないですが、一度ゲームを落としてエディタを保存してからロードするとイベントの位置が元に戻ります。VXAceも同様です。

昔のツクール(RPGツクール3とか)だとイベントの位置は保存されないので、ロード時にイベントの位置が元に戻るのに違和感はないかもしれませんが、今回のように場合によって結果が異なるのはどういうことかと。

解説

実は内部でバージョンを管理していて、保存をすると作成中のゲームのバージョンが上がります(System.jsonのversionIdです)。
バージョンといってもランダムな7桁の数字で、例えば77819147だったり2368236だったりします。  
このバージョンが肝で、バージョンが変わったらロード時にマップを初期化し直すということをします(マップ移動し直すと同じ挙動)。

  • バージョンが変わらない例 セーブ→すぐにロード
    この場合バージョンは変わらないのでマップは前回保存時のものをそのまま使用します。
  • バージョンが変わる例 セーブ→ゲームを落とす→エディタで保存→ゲーム起動してロード
    この場合、バージョンは変わるのでマップは前回保存時をリセットし、読み込み直します。

なぜ、バージョンが変わったらマップを読み込み直すのか?
新しくイベントを追加した場合、ロード時にそれを読み込みたいからか?

エディタで保存したらバージョンは変わるので、デプロイしたあとは意識しなくて良いかと思ったのですが、アップデートしたときにバージョン変わるので注意が必要です。