Luaスクリプトをデバッグしよう
Luaスクリプトをデバッグする方法をご紹介します。デバッグとは動作確認のことです。頭の中でコードを追いかけるのは限界があるので、わからない箇所にブレークポイントを設定し1つずつ確認しながらプログラムを動かすことで読めるようになってきます。
使用するゲームはWinning Post 10 体験版です。
CTファイルは以下のURLから
https://ux.getuploader.com/wp8/download/717
上記はAAスクリプト内に書かれたLuaのコードです。デバッグするにはコードをCheat EngineのLua Engineに丸ごとコピー&ペーストします。
コピペする際は{$lua}、{$asm}、[ENABLE]、[DISABLE]などは不要なので消去しておいてください。
矢印部分を左クリックするとブレークポイントを設定できます。
ブレーク後はContinue, Single Step, Stopの3つのアイコンが出現するので、この3つをうまく使ってデバッグを行います。基本はブレーク → シングルステップ連打という流れです。
printf デバッグを活用する
Cheat Engine Luaにはprintf関数が用意されています。C言語のprintfと同じ要領で使うことが出来るラッパー関数です。わからない箇所でブレークさせ、命令と命令の間にprintf関数を挿入し変数の中身を表示しながらデバッグすると理解できるようになります。
このLuaスクリプトは外部ライブラリが使用されています。外部ライブラリについては以下の記事が参考になります。
https://cheatwhatever.com/blog-entry-49.html