Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Function 自动热键如何使用函数参数执行多个图像搜索_Function_Scripting_Autohotkey - Fatal编程技术网

Function 自动热键如何使用函数参数执行多个图像搜索

Function 自动热键如何使用函数参数执行多个图像搜索,function,scripting,autohotkey,Function,Scripting,Autohotkey,我正在尝试使用imagesearch在游戏中从物品商店购买某些物品。有8个插槽,因此我需要循环8次。如果它们出现,我需要购买4-5种不同的物品 这是我用来购买的功能: marketFunc(item) { Loop, 8 { ImageSearch, OutputVarX, OutputVarY, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, item if !ErrorLevel {

我正在尝试使用imagesearch在游戏中从物品商店购买某些物品。有8个插槽,因此我需要循环8次。如果它们出现,我需要购买4-5种不同的物品

这是我用来购买的功能:

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
}
我知道我可以不使用这样的功能:

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
}
但我不喜欢它的外观,感觉太难编码了


任何帮助都会得到感谢。

无论怎样,都不会让它起作用

    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

    }
}

您还可以为此使用数组:

Array := [Item1, Item2, ..., ItemN]
还是你的情况

Images := ["chip.png", "ticket.png", "basicScroll.png", "heroicScroll.png"]

然后您可以循环该数组,并使用索引处的值。

我忘了提到实际问题是什么。当我运行它时,当我使用我的函数方法时,它找不到图像。但是,当我使用下面的示例进行操作时,效果很好。所以我假设我把函数参数设置错了。