Всем здравия. Не могу заставить работать FindImage. Сперва для образца использовал кусок из скриншота, но из-за прозрачности текстур, результат был через раз, после перезапуска клиента, смены локации, вообще переставал работать.
В итоге дошел до того, что отредактировал текстуру, добавил цветные метки.
Текстуры в редакторе выглядят так:
(IMG:
http://s018.radikal.ru/i506/1604/bc/e97c6fe8e606.png) (IMG:
http://s016.radikal.ru/i337/1604/f8/505670274693.png) (IMG:
http://s017.radikal.ru/i424/1604/e2/f04146596ff8.png)
В клиенте вот так:
(IMG:
http://s020.radikal.ru/i709/1604/3e/13dd510774ad.png) (IMG:
http://s011.radikal.ru/i316/1604/33/43093ec789c1.png) (IMG:
http://s017.radikal.ru/i409/1604/6e/df7819c28a2d.png)
шаблоны брал и из текстур:
(IMG:
http://s017.radikal.ru/i417/1604/97/439f7b894e49.png) (IMG:
http://s009.radikal.ru/i309/1604/73/fb1f0c8eb416.png) (IMG:
http://s018.radikal.ru/i518/1604/6b/edc662f304b0.png)
и из скринов:
(IMG:
http://s017.radikal.ru/i420/1604/c2/4fb67b895fda.png)
http://s019.radikal.ru/i625/1604/4d/315c2acad827.png http://s017.radikal.ru/i413/1604/ce/7830696ddfc9.pngНо почему то FindImage не находить их.
код
Код
set logging clear
//set logging commands
set timer
set linedelay 10
set %logs[1 1]-------
set %logs[1 2] Test Find_Image
set %logs[1 3] ------
set %logs[1 4] -- UoPilot Version 2.36.2 (01.04.2016) --
//set #handle 655900
set #handle findwindow (Nksp)
set %logs[4 1] find_window(game) handle:
set %logs[4 3] #handle
set workwindow #handle
set #check0 0
set #check1 0
set #check2 0
set #StartX 0
set #StartY 0
set #EndX 1024
set #EndY 768
set $path images\
set %res[0] result
set %cash[0] Self
set %cash[1] TargetBoss
set %cash[2] TargetMob
set #type #handle
set #accuracy 80
set #count 1
set #deviation 3
//шапка лога
set %logs[5 1] Time_
set %logs[5 2] Self
set %logs[5 3] Boss
set %logs[5 4] Mob
set %logs[5 5] accur
set %logs[5 6] check
set %logs[5 7] __x__
set %logs[5 8] __y__
set #q 6
:start
set %logs[#q 1] timer / 100
set $a findimage (#StartX #StartY #EndX #EndY ($path%cash[0].png) %ResultArray #type #accuracy #count #deviation)
set #check0 size (%ResultArray)
set %logs[#q 5] $a
set %logs[#q 6] #check0
for #i 1 #check0
set #x %arr [#i 1]
set #y %arr [#i 2]
set %logs[#q 7] #x
set %logs[#q 8] #y
end_for
if #check0 > 0
set %logs[#q 2] _Ok_
alarm
else
set %logs[#q 2] Fail
end_if
set $a findimage (#StartX #StartY #EndX #EndY ($path%cash[1].png) %ResultArray #type #accuracy #count #deviation)
set #check1 size (%ResultArray)
set %logs[#q 5] $a
set %logs[#q 6] #check1
for #i 1 #check1
set #x %arr [#i 1]
set #y %arr [#i 2]
set %logs[#q 7] #x
set %logs[#q 8] #y
end_for
if #check1 > 0
set %logs[#q 3] _Ok_
alarm
else
set %logs[#q 3] Fail
end_if
set $a findimage (#StartX #StartY #EndX #EndY ($path%cash[2].png) %ResultArray #type #accuracy #count #deviation)
set #check2 size (%ResultArray)
set %logs[#q 5] $a
set %logs[#q 6] #check2
for #i 1 #check2
set #x %arr [#i 1]
set #y %arr [#i 2]
set %logs[#q 7] #x
set %logs[#q 8] #y
end_for
if #check2 > 0
set %logs[#q 4] _Ok_
alarm
else
set %logs[#q 4] Fail
end_if
set #q #q + 1
save_array %logs C:\UoPilot_AntiFrost\images\result.txt
goto start
end_script
На скринах видно, что моя метка смазывается, несмотря на то что закрашена сплошным цветом.
Хендл окна и вручную выбирал Ctrl+A, и в скрипте. Может шаблоны маловаты, или есть другой способ реализации?
Жду ответов с нетерпением.