我试图通过制作以不同方式使用不同概念的随机,愚蠢的程序来提高我的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)
答案 0 :(得分:1)
改变这个:
codeArray=:[] ;define the array, with nothing in it
对此:
codeArray := []