0
我一直在試圖做一個自動選擇器的研磨,但它只是停在中間,我不明白爲什麼。這是我到目前爲止:函數不返回一個變量的自動熱鍵定義
^!n:: ;Ctr+Alt+n
FindColour(0x4447FB, 338, 491) ; Enter Building
Sleep 1500
FindColour(0x4145F1, 387, 420) ; Left Attack
Battle(1,1,1,1,0)
Sleep 1500
FindColour(0x4447FB, 602, 335) ; Far Attack
; Do Attack
Sleep 1500
FindColour(0x4447FC, 555, 527) ; Bottom Attack
; Do Attack
Sleep 1500
FindColour(0x4347FB, 338, 537) ; Leave Building
Sleep 1500
FindColour(0xF9F9F5, 239, 561) ; Reset Point
Sleep 1500
Return
FindColour(Colour, x, y){ ; Wait until the correct colour appears before clicking
Col = 0x000000
MouseMove, %x%, %y%
Loop
{
PixelGetColor, Col, %x%, %y%
If Col = %Colour%
{
Click %x% %y%
Return
}
Sleep 10
}
Return
}
Battle(a, b, c, d, e){ ; e isn't needed yet
x = 488
y := FindStart()
Col = 0x3F18D0
MsgBox %y%
Loop %a%
{
FindColour(%Col%, %x%, %y%)
Sleep 100
Click 606 276
}
Loop %b%
{
FindColour(%Col%, %x%, %y%)
Sleep 100
Click 547 371
}
Loop %c%
{
FindColour(%Col%, %x%, %y%)
Sleep 100
Click 676 491
}
Loop %d%
{
FindColour(%Col%, %x%, %y%)
Sleep 100
Click 774 309
}
; End
Return
}
FindStart(){
x = 488
y = 200
Loop 300
{
MouseMove, %x%, %y%
Sleep 20
PixelGetColor, Col, %x%, %y%
If Col = 0x3D00FF
{
y += 23
Return %y%
}
Else
{
y += 1
}
}
MsgBox Start not found
}
它運行得很好,直到它運行FindStart()。我看着光標緩慢地沿着屏幕向下移動到正確的像素(移動每場戰鬥,從而移動功能),然後停止。在調用FindStart()之後,我放置了「MsgBox%y%」這一行,以檢查函數調用後發生的任何事情,但msgbox從不出現。
我錯過了什麼?
準確找出停車位置。雙擊腳本的托盤圖標將顯示最近執行的行。 – MCL