无法从数组中检索项目? [AHK]

时间:2017-07-14 03:27:43

标签: autohotkey

我试图通过制作以不同方式使用不同概念的随机,愚蠢的程序来提高我的AHK技能。现在,我正在为Rust制作代码破解程序,这是一款蒸汽游戏。我的代码列在下面,但它似乎没有正确输入代码。大多数代码都在enterCode()范围内,所以我可以称之为20次,而不必每次写出MouseClick个语句一百万次。唯一的问题是,if (codeArray[%A_Index%] = x)似乎无法正常工作。我没有正确地将函数参数传递给数组吗?它正确执行第一部分,然后在此之后不执行任何操作,因此我无法查看任何错误。我唯一的猜测是没有任何东西被放入数组中,但我已经看过许多其他示例程序,这似乎是正确的。 (另外,我的代码的最后两行不与其他代码合并,但它们都在同一个程序中。)

enterCode(number1, number2, number3, number4)
{
codeArray=:[] ;define the array, with nothing in it
codeArray[1]:=number1 ;enumerate passed parameters into array for loop
codeArray[2]:=number2
codeArray[3]:=number3
codeArray[4]:=number4

sleep 100
send {e down} ;open door context menu
sleep 200
MouseClick, left, 942, 536 ;click to open code interface
sleep 500
send {e up}
sleep 200

loop, 4
{       
    if (codeArray[%A_Index%] = 0) 
    {
        MouseClick, left, 1217, 668
        continue
    }

    if (codeArray[%A_Index%] = 1) 
    {
        MouseClick, left, 1217, 668
        continue
    }

    if (codeArray[%A_Index%] = 2) 
    {
        MouseClick, left, 1217, 668
        continue
    }

    if (codeArray[%A_Index%] = 3) 
    {
        MouseClick, left, 1217, 668
        continue
    }

    if (codeArray[%A_Index%] = 4) 
    {
        MouseClick, left, 1217, 668
        continue
    }

    if (codeArray[%A_Index%] = 5) 
    {
        MouseClick, left, 1217, 668
        continue
    }

    if (codeArray[%A_Index%] = 6) 
    {
        MouseClick, left, 1217, 668
        continue
    }

    if (codeArray[%A_Index%] = 7) 
    {
        MouseClick, left, 1217, 668
        continue
    }

    if (codeArray[%A_Index%] = 8) 
    {
        MouseClick, left, 1217, 668
        continue
    }

    if (codeArray[%A_Index%] = 9) 
    {
        MouseClick, left, 1217, 668
        continue
    }                                                                       
}

}

F3::
enterCode(1,2,3,4)

1 个答案:

答案 0 :(得分:1)

改变这个:

codeArray=:[] ;define the array, with nothing in it

对此:

codeArray := []