Champollionで逆コンパイルする

Mod作成

pexファイルからpscファイルを生成するツールです。Fallout 4対応版を使います。

Skyrimではほぼ問題のないコードを生成してくれましたが、Fallout 4では対応が不完全で、コンパイルできないコードを出力してしまいます。

手動で修正が必要になってきます。修正点をまとめます。

float型変数の定義がおかしい

無駄な小数点以下を省くせいだと思いますが、float型なのに整数で初期値を定義するので、コンパイラが型が合わないというエラーを出します。

float hoge = 1

小数点を補完すれば大丈夫です。

float hoge = 1.0

名前空間がおかしい

Fallout 4 で名前空間がサポートされましたが、識別子が間違っていて文法エラーになります。

hardcore#HC_ManagerScript hoge

#ではなくて:を使えばOKです。

hardcore:HC_ManagerScript hoge

不要なキャストがある

何でもかんでも最終的に必要な型にキャストするコードを出力するので、一部はコンパイルが通りません。

RegisterForRemoteEvent(Game.GetPlayer() as ScriptObject, "OnPlayerLoadGame")

RegisterForRemoteEventに関してはキャストは不要です。

RegisterForRemoteEvent(Game.GetPlayer(), "OnPlayerLoadGame")

CustomEventの定義が抜け落ちる

おそらくはChampollionで想定していない命令なのだと思います。

SendCustomEvent("HogeEvent", kArgs)

CustomEventの定義を補ってあげればOKです。

CustomEvent HogeEvent

SendCustomEvent("HogeEvent", kArgs)

その他

コンパイルは通るが無駄な処理をする部分も見受けられます。

タイトルとURLをコピーしました