これは当てずっぽうな推測ですが、このコードはscriptファイルに書かれていてobjectから呼び出していないでしょうか。
v2.3.3以降はfunctionの扱いが変わっています。この仕様変更によって古い記述のままだとエラーになることがあります。
具体的には、今の仕様だとスクリプト my_functions (←名前は適当)に、以下のように関数定義します。
function abc() {
val = direction div 45;
}
これを
val = direction div 45;
と書いてないでしょうか?
そうするとRunするとスコープがglobalでこれが実行されるので、directionが定義されてないよとエラーが出るかもしれません。
関係しそうなスレッドを探しました。
https://forum.yoyogames.com/index.php?threads/important-gm-2-3-users-please-read-improper-script-usage-generates-undefined-variable-errors.79907/
一度ご確認ください。
通報 ...