ハトネコエ Web がくしゅうちょう

プログラミングやサーバー関連、チームマネジメントなど得た技術のまとめ

【Mac】RPGツクールMVの古いプロジェクトのコアスクリプトを最新に

1. 開発期間が長引く場合の罠

RPGツクールMVRPG Maker MV) で作った古いプロジェクトは、
たとえRPGツクールMVのバージョンアップをしていても、
コアスクリプトと呼ばれる、いわばプラグインの根幹となるプラグインが古いままです。

これにより、入手したプラグインがなぜか上手く動作しない……といった現象が発生するようになります。

開発期間が長引いたなどの理由でプロジェクトのコアスクリプトが古いままになっている場合は、
手動で最新版に更新させてあげる必要があります。

2. 準備

前提として、RPGツクールMV本体が最新になっている必要があります。

Steam版の場合は、Steamによって自動的に更新されていると思います。
それ以外の方は、公式サイトの「ダウンロード」ページよりアップデータをダウンロードし更新しましょう。
(「ダウンロード」ページのコンテンツがすごく増えててびっくりした)

それから、必ずバックアップをとっておいてください。

必ずバックアップをとっておいてください。

すでに使っているプラグインとの兼ね合いでゲームが動かなくなる可能性がとてもあります。
バージョンが離れてるほど、コアスクリプトのアップデートは難しくなると思いますので、
その際はアップデートをあきらめざるを得ないかもしれません。

3. コアスクリプトのアップデート方法

コアスクリプトのアップデート方法は、以下のページの最下部に記載されています。

Mac についてコマンドで簡単におこなう方法を記します。

まず、自分のプロジェクトがあるディレクトリに移動してください。
そして以下のコマンドを実行します。
(※私の環境ではRPG Maker MV.app」~/Games/steamapps/common/RPG Maker MV ディレクトリ下にありますが、Steam の設定によっては変わります)

rsync -av ~/Games/steamapps/common/RPG\ Maker\ MV/RPG\ Maker\ MV.app/Contents/MacOS/NewData/js/ ./js/ --exclude "plugins.js" --exclude "plugins/" --dry-run

すると、コピー予定のファイルが表示されます。例えばこんな感じ……↓

building file list ... done
./
main.js
rpg_core.js
rpg_managers.js
rpg_objects.js
rpg_scenes.js
rpg_sprites.js
rpg_windows.js
libs/
libs/fpsmeter.js
libs/lz-string.js
libs/pixi-picture.js
libs/pixi-tilemap.js
libs/pixi.js

sent 2319755 bytes  received 296 bytes  4640102.00 bytes/sec
total size is 2322204  speedup is 1.00

これで問題なさそうだなあ、と思ったら、 --dry-run を抜いた

rsync -av ~/Games/steamapps/common/RPG\ Maker\ MV/RPG\ Maker\ MV.app/Contents/MacOS/NewData/js/ ./js/ --exclude "plugins.js" --exclude "plugins/"

を実行してください。

公式の手順に沿うなら、これで終了です。

4. 個人的におすすめな追加手順

上に加えてやっておくといいことです。

まず、私の場合は index.html が古いために、ゲーム実行時、
makeVideoPlayableInline is not defined」のエラーが起きてしまいました。

f:id:nekonenene:20190609231223p:plain
ReferenceError "makeVideoPlayableInline is not defined"

rsync -av ~/Games/steamapps/common/RPG\ Maker\ MV/RPG\ Maker\ MV.app/Contents/MacOS/NewData/index.html ./

上のコマンドで、 index.html の更新もおこないました。

また、公式の案内では plugins ディレクトリはコピーしないほうがいいと書かれているのですが、
これが古いせいで変な動作が起こると元も子もないので、個人的にはこのディレクトリもコピーするのがおすすめです。

というわけで、 3. で紹介したコマンドは私としては以下のようになりました。

rsync -av ~/Games/steamapps/common/RPG\ Maker\ MV/RPG\ Maker\ MV.app/Contents/MacOS/NewData/js/ ./js/ --exclude "plugins.js"

ちなみに plugins.js は、現在プロジェクトで使っているプラグインの設定が保存されているファイルなので、
こちらは上書きしないように気を付けましょう。