>>958
書かれてる内容だけだとはっきりしないけど(スクリプト作った本人じゃないし)…
ary2の配列を超える位置を参照してエラーになってる気がしなくもない。
とりあえず↓みたいにroot.logを突っ込んでコンソールに値を出力して、IDが配列の数を超えてないかチェックしてみたら?
(javacriptでは配列は先頭から[0]、[1]、[2]…と数えるので、IDが1の場合は2番目([1]の値)を参照する)

var value = 0;
var reduse = unit.custom.stateGuardNo;
var ID = state.getID();
root.log('reduse:'+reduse+' ID:'+ID); // デバッグ用表示
if(typeof reduse == 'number'){
var now_ary = ary[reduse]; // ここがary配列からreduce番目の配列を取り出す(多分ary2)
value = now_ary[ID]; // ここがreduce番目の配列(多分ary2)のID番目の値を取り出す
// value = ary[reduse][ID];
if(typeof value !== 'number'){
value = 0;}}

ちなみに、ステートのID自体は表示するよう設定してる?
ツール→オプション→データのタブを選んで、データの名前の横にIDを表示する、を行えばステート名の横にIDが表示されるから。