2013-12-09 3 views
0

Я пытаюсь сделать автозагрузчик для измельчения, но он просто останавливается посередине, и я не понимаю, почему. Вот что у меня есть до сих пор:Функция, не возвращающая переменную для определения autohotkey

^!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(). Я наблюдаю, как курсор медленно продвигается по экрану до правильного пикселя (который перемещает каждое сражение, таким образом, функцию), после чего он останавливается. Я поместил строку «MsgBox% y%» после вызова FindStart(), чтобы проверить, что что-либо происходит после вызова функции, но msgbox никогда не появляется.

Что мне не хватает?

+0

Узнайте, где именно остановиться. Двойной щелчок на значке вашего лотка скрипта покажет вам самые последние выполненные строки. – MCL

ответ

1

Я нашел решение. Оказывается, что переменные, отправленные при вызове функции, не должны быть заключены в процентные знаки.

Смежные вопросы