Пока скрипт был маленький работал так: раз в 5 сек искал в каталоге ini каталог с маской gnom_b* (возможные значения * 0 и 1), а с увеличением объема скрипта CASE сломался и в не зависимости от SWITCH($arr2[$ia2]), выбирается последний CASE в списке. Т.е. CASE("gnom_b-1"). Если его закоментировать выберется $_gnom_b = 0
THREAD(gnom_b, 0) //вкл-выкл гнома
UNDEFINE($arr2)
getdirlist($arr2, "ini\gnom_b*")
for($ia2=0, $ia2< arrsize($arr2))
print($_gnom_b," ",$ia2," ",$arr2[$ia2])
SWITCH($arr2[$ia2])
CASE("gnom_b-0") //база
$_gnom_b = 0
CASE("gnom_b-1") //в бой
$_gnom_b = 1
END_SWITCH
end_cyc
print($_gnom_b," ",$_gnom_b2)
if(($_gnom_b=1)&($_gnom_b2=0)) //вперед по точкам
$_gnom_b2 = 1
halt
SETTHREAD(boy, 1) // 0 - Пауза, 1 - Старт, 2 - Стоп
SETTHREAD(vpered, 1)
END_IF
wait(5)
END_THREAD