エラーが出たら

Last-modified: 2015-05-03 (日) 21:16:39

エラーが出たら †
コンパイルエラーやGTASAで実際に動かしてみた時のエラーについて


コンパイルエラー †
構文やラベルの間違い程度しか教えてくれません。
ほとんどは実際にスクリプトを走らせないと気づかない事が多いです。


スクリプトエラー、バグ †
キーを押しても無反応 等のバグ、そのほか大抵落ちます。
困ったことに原因を教えてくれないので自分で見つける必要があります。
以下によくあるミス

スレッド名
スレッド名が重複していると落ちます。
構文ミス
落ちないが思った通りに機能しない場合、if文の条件等が間違っている場合があります。
グローバル変数
main.scmと同じグローバル変数を使用すると不具合が生じます。
これについてはmain.scmで使用する主なグローバル変数へ
wait
jump命令等でスクリプトの後ろから前へ飛ぶ(ループする)場合、処理中にwait命令がないと描画に移れない事があるため
フリーズすることがあります。詳しくはSAの処理の流れを参照してください。
存在しない値を参照
存在しない人を弄ったり、破棄したあとの変数をそのまま使ったりすると落ちます。
整数と小数
整数+小数 等計算出来ません。どちらかに揃えてください。
コードから見直すと良いでしょう。これは落ちませんが、値が間違って出てきます。
モデルリクエスト
モデルロード後、ちゃんとロード出来ていないにもかかわらずモデルを呼び出すと落ちます。
これは 乗り物・人・物 に共通します。
1.モデルをロードする
2.ロードできたか(使用可能か)確認する
3.モデルを出す(このとき車なのか人なのか物なのかを指定する)
4.必要なければモデルを解放する
命令
はたらくくるま様のOpcodes Wikiに載っているopcodeはMission Builder用のopcodeなので、そのまま使うと機能しない場合があります。
意味を調べたら番号を控えてSanny BuilderのOpcode Searchで検索してください。