2017年2月27日

スカイリムのpexをソースファイルに戻すツール

スカイリムのスクリプトは「pex」という拡張子のファイルで、「Data\scripts」フォルダに入っています。
これはそのままでは読めないので、MODでは元のソースファイルが「Data\scripts\source」フォルダに同梱されていることが多いです。ソースファイルは「psc」という拡張子で、テキストエディタで編集できます。これを Creation Kit でコンパイルすればpexが作成できます。

ところが、pscファイルが同梱されていないものもあります。pscファイルは無くてもゲームの動作には支障ありません。

スクリプトを見てみたい!けどpscファイルが無い!というときのために、コンパイルされたpexファイルをpscソースファイルに変換してくれるツールがあります。


1. 配布サイト

Champollion a PEX to Papyrus decompiler (nexus mods SKYRIM)

上記リンク先からダウンロードしたら任意の場所に解凍して使います。
これはコマンドラインツールなのですが、使いやすくするためにpexを一括変換するバッチを作成しました。


2. 使い方

  1. ダウンロードしたツールを任意の場所に解凍する。
  2. Champollion.exe がある階層に「scripts」フォルダを作成し、変換したいpexファイル群を入れる。
  3. 後述のコードを「Convert.bat」等の名前で Champollion.exe がある階層に保存する。
  4. Convert.bat を実行すると、「scripts\source」フォルダにpscファイル群が作成される

フォルダ構造は以下のようになります。


3. Convert.bat の中身

@echo off
cd /d %~dp0
echo 変換中. この画面が閉じるまでお待ちください....

for %%i in (scripts\*.pex) do (champollion.exe %%i -p scripts\source)

このコードをメモ帳にコピー&ペーストして保存し、拡張子を「bat」に変更すればOKです。他のテキストエディタをお使いの方はそれで作成してください。
Convert.bat を実行すると「scripts」フォルダ内に「source」フォルダが作成され、pscファイル群が作成されます。

これでスクリプトを眺めたり、編集したりできるようになります。神ツールです。


4. バッチ不要のシンプルな使い方

pexを1つだけ変換したいときや、バッチの作成がわからないときは、「Champollion.exe」の上にpexをドラッグ&ドロップするだけでも変換できます。pscは同じフォルダ内に作成されます。

この方法で複数のpexを変換するとフォルダ内が見づらくなるので、その場合はやはりバッチを使った方が良いと思います。


5. スクリプトのコンパイルに失敗するときの確認事項

pscを編集し、いざ Creation Kit を使ってコンパイルしようとしたときに、バニラのスクリプトソースも必要になることがあります。
バニラのソースは「Data\Scripts.rar」に収められていますので、スクリプトをコンパイルする前に「Data\scripts\source」フォルダに解凍しておきましょう。その数 10000ファイル以上あります…。

SKSE のスクリプトソースも同様に必要になることがあります。そちらは SKSEのサイト から 7z archive 版をダウンロードすれば抜き出せます。


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。