Что нового

ImageSearch.dll условия действий

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
 
Последнее редактирование модератором:
Верх