Суть проблемы такова.
Был у меня один рабочий скрипт и в нем была следующая строчка:
Код
set #j1 findimage (200 500 320 650 (D:\picture.bmp) %crds #handle)
И работал он замечательно. Но тут прошло пол года и решил я опять запустить этот скрипт.
Я задумался, может в игре изменили картинку слегка и сделал новый скриншот картинки (bmp 24 бита), но чуда не произошло.
После этого я решил изменить параметры строчки на следующие:
Код
set #j1 findimage (200 500 320 650 (D:\picture.bmp) %crds 2 60 1 20 #handle)
И о чудо! Картинка находится, только с точностью 60%. Такой результат меня не устроил, с учетом того, что раньше она находилась с меньшей погрешностью.
Я решил попробовать сделать скриншот самим пилотом и для теста написал следующий скрипт:
Код
set %a GetImage (226 552 286 576) // сохранить в памяти часть экранной области
set $bmp SaveImage (%a [1 1] d:\picture.bmp) // сохранить в файл на диск C:\
set $b DeleteImage (%a [1 1]) // удалить из памяти часть экранной области
set #j1 findimage (200 500 320 650 (D:\picture.bmp) %crds 2 60 1 20)
msg #j1
End_script
Точность совпадения 60%. Подумал, может все дело в фоне? и поставил первый пиксель совершенно другого цвета, но точность по прежнему 60%
Получается пилот не может лучше найти картинку, которую он сам сделал? К слову, проверял не только в игре, но и банально на рабочем столе.