Imagesearch功能限制?

时间:2013-10-15 01:53:28

标签: autohotkey

我一直在制作一个复杂的机器人,并且在尝试使用imagesearch添加任何新功能时遇到了一堵砖墙。这些搜索中的大多数都需要定位(或不定位)图像。但是现在,我尝试添加的每个函数都变得疯狂,有时它只会在循环中运行,无法找到图像,有时会移动到778,194并继续点击,就好像每个搜索都应该点击778一样,我确定它过于简单了,我只是一遍又一遍地盲目阅读这些块。 源代码:

demand()
{
global img_battle
global img_battle2
global img_demand
global img_lolcheck
global img_lolmarket
global img_demandcontrol
global img_demandlower
global img_demandhigher
global img_demand2

ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_demand%
8:
if (ErrorLevel = 0) {
  4:
  MouseMove, 778, 194
  Sleep, 500
  ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_lolmarket%
  if (ErrorLevel = 0){
    MouseMove, myszX + 15, myszY + 2
    sleep, 500
    MouseClick, Left, 
    sleep, 500
    ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_lolcheck%
    if (ErrorLevel = 0) {
      sleep, 500
      5:
      ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_demandcontrol%
      if (ErrorLevel = 0) {
        MouseMove, myszX + 15, myszY + 2
        sleep, 500
        MouseClick, Left, 
        Sleep, 500
        ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_demandlower%
        if (ErrorLevel = 0) {
          MouseMove, myszX + 15, myszY + 2
          sleep, 500
          MouseClick, Left
          Sleep, 500
          6:
          MouseMove, 716, 197
          Sleep, 500
          ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_battle%
          if (ErrorLevel = 0){
            MouseMove, myszX +15, myszY +2
            Sleep, 500
            MouseClick,
            Sleep, 500
            ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_battle2%
            if (ErrorLevel = 1){
              goto, 6
                               }
                             }
                           }
      else{
        goto, 5
      }
                         }
                       }
      else {
        goto, 4
      }
                     }
                   }
else{
  ImageSearch, myszX, myszY, 1, 1, windowSizeX, windowSizeY, *10 %img_demand2%
  if (ErrorLevel = 1) {
    goto, 8
  }
}
}

1 个答案:

答案 0 :(得分:0)

我认为你需要命令CoordMode http://ahkscript.org/docs/commands/CoordMode.htm 该命令将各种命令(包括ImageSearchMouseMove命令)的坐标模式设置为相对于活动窗口或屏幕。 将这两行添加到文件开头(函数调用之前):

CoordMode, Pixel, Screen
CoordMode, Mouse, Screen

第一行将设置ImageSearch命令的坐标模式和MouseMove命令相对于屏幕的第二行。