VX Aceプロジェクトのデータをテキストに変換する
概要
RPGツクールVX Aceのデータはプロジェクト内のDataフォルダに.rvdata2という形式で保存されています。
バイナリデータのため簡単に編集などはできないのですが、rvpackerというツールを使うと、テキストデータ(YAML形式)に変換することができます。もちろん、テキストデータから元のデータに戻すこともできます。
テキストデータにすることにより、会話やファイル名などの全置換を行うことができます。また、バージョン管理もしやすくなる利点があります。
Rubyのインストール
Windows10下でのインストールを説明します。rvpackerのInstallationも参照してください。
まず、Rubyをインストールする必要があります。
(Ruby Installer)[https://rubyinstaller.org/downloads/] からRuby+Devkitをダウンロードします(執筆時バージョンは2.5.1-2でした)
x64かx86かは環境に合わせてください。
ダウンロードしたら普通にインストールします。特に途中の選択肢は変更する必要ありません。
一緒にMSYS2もインストールする必要があり、最後に以下のようなプロンプトが立ち上がります。
ここで、1を押してエンターで、 MSYS2 base installation
を選択します。
これでRubyの準備はできました。
rvpackerのインストール
Windowsに標準に付属しているPowerShell
を立ち上げます。gem install rvpacker
と入力し、エンターするとrvpackerがインストールできます。
テキストデータに変換する
PowerShell
で変換したいツクールのプロジェクト配下(Game.rvproj2があるフォルダ)まで移動します。
そこで rvpacker --action unpack --project ./ --project-type ace
とコマンドを実行します。
すると、フォルダにScripts
とYAML
フォルダが生成されます。Scripts
はRGSSスクリプトがruby形式になって保存されています。YAML
フォルダ内に以下のように各rvdata2がYAML形式に変換されて保存されます。
中身は例えば、Items.yaml
を見ると以下のようにテキストデータになっています。
1 |
|
Mapxxx.yamlはそれぞれのマップのイベントなどが記載されています。
メッセージなどがこのように確認できます。
1 | - !ruby/object:RPG::EventCommand {i: 0, c: 505, p: [*2]} |
テキストから元のデータに戻す
逆にテキストから元のデータに戻す際は以下のようにコマンドを打ちます。
rvpacker --action pack --project ./ --project-type ace
まとめ
テキストデータにして編集することはできるにせよ、編集に失敗するとデータを壊す元になるのでバックアップをとってから、慎重に使いましょう。