ティラノスタジオのエラー
こんなエラー吐かれたよ
のときの対処したやつ
Uncaught TypeError: Cannot read property 'find' of undefined
発生状況:作成したマクロを別のゲームに移植したとき
原因:config.tjsの設定違い。
例えば、message_layer2を呼び出す処理がある場合、
config.tjs
;numMessageLayers = 2
↓
;numMessageLayers = 3
にする。初期設定の2だとmessage_layer0と1の2種のみ。
TypeError: Cannot read property '0' of undefined
発生状況:numberの変数を文字列にした
原因:検索物が一致しない
例えばcsvの一覧表から一致する行を取り出すというとき、その変数がそのcsvから取り出す関数の要素が存在しない場合など。
その場合、存在しない場合の処理を付け加えるか、存在するものに変換する。
私の例だと「1234」は項目にあるが、「3421」は項目にない。
文字列でどの並びでも問題ないのなら、小さい順に並べ替えるようにする。
TypeError: 【関数】 is not a function
発生状況:上の関数を入力した時
原因1:スペルミス
× f.dice.macth
〇 f.dice.match
effectパラメーターでスペルミスをすると
エラー処理がループする。
原因2:ティラノスクリプトが対応していない
例えばeffect="def"は対応しておらず(220109時)ループエラーを起こす。
SyntaxError: Unexpected string
発生状況:変数同士の四則演算の時
原因:スペルミス(式として成立していない)
例
;数字を文字列にして足した後数字に戻す(1+1=11)
@eval exp="f.dice=(tf.rank1''+tf.rank2+''+tf.rank3+'')*1"
↓
@eval exp="f.dice=(tf.rank1 + ''+tf.rank2+''+tf.rank3+'')*1"
例
@dialog text="&f.dice."
↓
@dialog text="&f.dice"
;.がいらない
マクロが閉じていません
発生状況:[iscript]でJS関数作ってるとき
原因:記述ミス
[endmacro]がない場合も発生するが今回は別。
この〇行目は[endscript]の位置を指すので、その中のどれかがエラーを起こしている。
例えば、登録していない変数名とか。
〇route ×round
例えば引用する配列の、作っていないインデックスを参照していたりとか。
Cannot read property 'remove' of undefined
発生状況:delete直後
原因:セーブデータがないのにそのデータを再生しようとしている
プレビュー同期のチェックを外せばOK。