Добрый день товарищи,имеется к вам такой вот интересный вопрос.
Есть скрипт,вот его суть :
Поток
getscreen
colormode(5,$x_sys_info-780,$y_sys_info+9,$x_sys_info-30,$y_sys_info+80) //Таргеты
colormode(7,$x_obz_panel-21,$y_obz_panel+79+($vsegogaits*19),$x_obz_panel+2,$y_obz_panel+400) //Полоска неписи //
colormode(7,$x_name-7, $y_name+13,$x_type-9, $y_type+335) //Фракционник + суицидник
colormode(6,$x_sys_info-780,$y_sys_info+110,$x_sys_info-30,$y_sys_info+190)
waitms(500)
end_поток
Так же имеется цикл,для которого этот поток работает
вайл($что-то там=0)
подпрограмма 1
подпрограмма 2
подпрограмма 3
end_цикл
Поток делает анализ снимка экрана,а вайл,работая с потоком параллельно,берет этот анализ снимка и ищет последовательно подпрограммами свои цели.
Проблема в том,что иногда(8 из 10) случаем вайл берет информацию когда поток успел сделать гетскрин и 1 -2 колормода обработать(они ведь работают параллельно) и получается что все трещит по швам т.к подпрограммы думают что заданных целей для них нет.На скриншотах видно что я имею ввиду.Так вот,как это можно решить?Может как-то можно все колормоды одной программой задать вместе с гетскрином?Тогда либо новый отфильтрованный снимок уже есть,либо если программа не успела сделать новый - в буфере должен был остаться старый отфильтрованный.Можно конечно выкинуть поток в помойку и просто сделать это подпрограммой,но прелесть потока именно в параллельности,бот сможет гораздо быстрее отреагировать на всяких неожиданных гостей ,поскольку каждые полсекунды он сканирует наличие этих самых незваных гостей,в то время как подпрограмме пришлось бы ждать своей очереди на выполнение.Надеюсь кто-то с таким сталкивался и решение лежит на поверхности ,а я еще слишком зелен чтобы его самостоятельно увидеть)