Autohotkey如何使用函数参数来执行多个imageSearches
问题描述:
我正尝试使用imagesearch从游戏中的某个商品店购买某些物品。有8个插槽,因此我需要循环8次。如果他们出现,我需要购买4-5种不同的物品。Autohotkey如何使用函数参数来执行多个imageSearches
这是我用做购买功能:
marketFunc(item)
{
Loop, 8
{
ImageSearch, OutputVarX, OutputVarY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, item
if !ErrorLevel
{
outY = %OutputVarY%
outY += 119
MouseMove, %OutputVarX%, %OutY%
Sleep, 250
Click
Sleep, 750
MouseClick, left, 797, 456
Sleep, 750
MouseClick, left, 687, 473
Sleep, 100
}
Sleep, 250
}
}
我则一直在呼吁这样的功能:
marketfunc(chip.png)
sleep, 500
marketfunc(ticket.png)
sleep, 500
marketfunc(scroll.png)
sleep, 500
marketfunc(masterScroll.png)
sleep, 500
marketfunc(otherItemHere.png)
我知道我能做到这一点没有的功能等这个:
Loop, 8
{
ImageSearch, OutputVarX, OutputVarY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, ticket.png
if !ErrorLevel
{
outY = %OutputVarY%
outY += 119
MouseMove, %OutputVarX%, %OutY%
Sleep, 250
Click
Sleep, 750
MouseClick, left, 797, 456
Sleep, 750
MouseClick, left, 687, 473
Sleep, 100
}
Sleep, 250
ImageSearch, OutputVarX, OutputVarY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, chip.png
if !ErrorLevel
{
outY = %OutputVarY%
outY += 119
MouseMove, %OutputVarX%, %OutY%
Sleep, 250
Click
Sleep, 750
MouseClick, left, 797, 456
Sleep, 750
MouseClick, left, 687, 473
Sleep, 100
}
Sleep, 250
ImageSearch, OutputVarX, OutputVarY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, scroll.png
if !ErrorLevel
{
outY = %OutputVarY%
outY += 119
MouseMove, %OutputVarX%, %OutY%
Sleep, 250
Click
Sleep, 750
MouseClick, left, 797, 456
Sleep, 750
MouseClick, left, 687, 473
Sleep, 100
}
Sleep, 250
ImageSearch, OutputVarX, OutputVarY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, masterScroll.png
if !ErrorLevel
{
outY = %OutputVarY%
outY += 119
MouseMove, %OutputVarX%, %OutY%
Sleep, 250
Click
Sleep, 750
MouseClick, left, 797, 456
Sleep, 750
MouseClick, left, 687, 473
Sleep, 100
}
Sleep, 250
ImageSearch, OutputVarX, OutputVarY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, otherItemHere.png
if !ErrorLevel
{
outY = %OutputVarY%
outY += 119
MouseMove, %OutputVarX%, %OutY%
Sleep, 250
Click
Sleep, 750
MouseClick, left, 797, 456
Sleep, 750
MouseClick, left, 687, 473
Sleep, 100
}
Sleep, 250
}
但是我不喜欢它的外观,它感觉太硬code-y。
任何帮助将appriciated。
答
没有想到它的工作。
marketFunc("chip.png")
marketFunc("ticket.png")
marketFunc("basicScroll.png")
marketFunc("heroicScroll.png")
marketFunc(item)
{
Loop, 8
{
ImageSearch, OutputVarX, OutputVarY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, %item%
if !ErrorLevel
{
outY = %OutputVarY%
outY += 119
MouseMove, %OutputVarX%, %OutY%
Sleep, 250
; Click
Sleep, 750
; MouseClick, left, 797, 456
Sleep, 750
; MouseClick, left, 687, 473
Sleep, 100
}
Sleep, 250
}
}
我忘记提及实际问题了。当我运行它时,它使用我的函数方法时找不到图像。但是,当我使用下面的例子它可以正常工作。所以我假设我设置了函数参数错误。 –