Спасибо!
дело было в последних 2 строках:
} else state = SIGASP_STOP;
draw_state = def_draw_state (state);
Получалось, что после правильной отработки включения огней скрипт проходил по
draw_state = def_draw_state (state);
и сбрасывал огни обратно на зелёный.
После заключения в скобки:
else {
state = 0;
draw_state = def_draw_state (state);
}
огни второй раз уже не менялись, скрипт не заходил на строку
draw_state = def_draw_state (state);.
|