bad fntazia
Новичок
- Сообщения
- 3
- Репутация
- 0
Помогите пожалуйста, я использую ImageSearch.dll и у меня возникла проблема. Я делаю бота для браузерной игры CatWar и мне нужно, чтоб если нашел эту картинку - нажать и найти еще одну и т.д., а если нашел другую, то вывести MsgBox. Я хочу чтобы код был коротким, и не писать лишнюю функцию. Код функции:
Код:
Func click_pic($pic_name,$timeout=120, $click = 1)
$x1=0
$y1=0
$right=@DesktopWidth
$bottom=@DesktopHeight
$findImage=@ScriptDir & "\" & $pic_name
if not FileExists( $findImage) then
MsgBox(0,"","Нет файла " & $findImage)
SetError (2) ; Нет файла
Exit
endif
for $i=1 to $timeout*1000/100
$result = DllCall($imageDllHandle,"str","ImageSearch","int",$x1,"int",$y1,"int",$right,"int",$bottom,"str",$findImage)
$array = StringSplit($result[0],"|")
if @error=0 Then
$size_x=$array[4]
$size_y=$array[5]
$prec=8
$x=Int(Number($array[2])) + rnd($size_x/$prec,$size_x/$prec*($prec-1))
$y=Int(Number($array[3])) + rnd($size_y/$prec,$size_y/$prec*($prec-1))
cons ($x,$y)
ExitLoop
Else
ContinueLoop
EndIf
Sleep(100)
Next
if $i> $timeout*1000/100 Then
MsgBox(0,"","что-то не так " & $pic_name & ", error="& @error)
SetError(1)
Return 0
EndIf
If $click = 1 Then MouseClick("left", $x, $y)
Return 1
EndFunc
Последнее редактирование модератором: