вынеси из while'ов содержимое if'ов. Сами If'ы просто опусти. шаблон:
while ....
......
end_while
left 555 555 // клик по 555 (кликнуть по галочке)
set #c 9871236
while_not 777 777...
....
Если не сделать, то будет сбоить периодически. Когда в вайл_ноте и ифе внутри одно условие, то if может не выполниться. Схема как произойдет ошибка:
while_not - условие пройдено
if - условие не пройдено
end_if
end_while
происходит переход в начало цикла while и в этот момент меняется цвет. Итог:
while -условие не пройдено. переход к end_while
if - поскольку while не прошел - все что внутри не будет выполняться
end_if
end_while
Насчет почему теряет окно сложно сказать. Возможно скрипт просто клинило из-за выше описанного. Так же проверь существует ли хендл прежнего окна. Но, учитывая что это флэш, затрудняюсь сказать насколько это реально пилотом. У тебя случаем страница не загружается заного на середине скрипта? Тогда потеря фокуса неизбежна, т.к. старое окно банально перестает существовать, а дальнейший скрипт надо выполнять в другом для UOpilota никак не связанным с первым. попробуй этим
http://s0m.narod.ru/iws_inst.zip . Дешего и сердито.
WKnight возможно ли без имени окна узнать его хэндл по фокусировке ctrl+a? Когда для л2 писал делал проверки на убийство окна, на там фокусировки были по названию, а как тут хз...