Функция - очень удобно, но делать из всего кода одну большую функцию, нет необходимости. Если в коде присутствует однотипное действие, то его можно вынести в функцию. Нюансы можно подправить передачей нужных параметров. А так же, можно вызвать в параметрах любой команды, она может вызвать саму себя, возвратить результат/ы.
x1:=y1:=0, x2:=(y2:=1200)-200
Path:="c:\boomtime\", Tint:=""
/*
оттенок (Tint) - щас отсутствует, если нужен, то, или
инициализируем в переменную сразу (пример: Tint:="*120 "),
или вписываем в параметр при вызове - примеры:
SameFuncName(X, Y, 0, 0, 1000, 1200, "*90 ", "c:\same.png")
или SameFuncName(X, Y, X1, Y1, X2, Y2, Tint, Path)
*/
...
Loop
If !SameFuncName(x, y, x1, y1, x2, y2, "", Path "loaded.png")
Break
If !SameFuncName(x, y, x1, y1, x2, y2, "", Path "error.png")
{
SoundPlay, % Path "finish.mp3", 1
Return
}
If !SameFuncName(x, y, x1, y1, x2, y2, "", Path "ocenena.png")
Send, !{F4}
If !SameFuncName(x, y, x1, y1, x2, y2, "", Path "ocenka.png")
{
Send, % ocenka
Sleep, 500
MouseClick,, x, y,, 0
Sleep, 1000
If !SameFuncName(x, y, x1, y1, x2, y2, "", Path "zakaz.png")
{
Sleep, 500
Send, % pokupka
MouseClick,, x, y,, 0
Sleep, 500
Send, !{F4}
}
Else
Send, !{F4}
}
Sleep, 500
...
SameFuncName(ByRef OutX, ByRef OutY, X1, Y1, X2, Y2, Variation, FilePath)
{
ImageSearch, OutX, OutY, X1, Y1, X2, Y2, % Variation . FilePath
Return, ErrorLevel
}
?...