1 (изменено: Jimm24051983, 2012-10-04 05:13:31)

Тема: AHK: Как упростить скрипт цвет и координаты

1 Вариант рабочий но глупый

run:
PixelSearch, Px, Py, 1041, 92, 1059, 108, 0x298484, 3, Fast
if ErrorLevel
    goto, run1
else
    MouseMove, 1048, 101
Sleep 50
Click down
Sleep 50
Click up
MouseMove, 1021, 949
Sleep 50
Click down
Sleep 50
Click up
MouseMove, 857, 947
Sleep 50
Click down
Sleep 50
Click up
Sleep 25000
goto, run

run1:
PixelSearch, Px, Py, 1041, 112, 1059, 125, 0x298484, 3, Fast
if ErrorLevel
    goto, run2
else
MouseMove, 1048, 122
Sleep 50
Click down
Sleep 50
Click up
MouseMove, 1021, 949
Sleep 50
Click down
Sleep 50
Click up
MouseMove, 857, 947
Sleep 50
Click down
Sleep 50
Click up
Sleep 25000
goto, run

В общем думаю как упростить скрипт плохо шарю в ahk. Тема такая нужно найти в координатах Например: PixelSearch, Px, Py, 1041, 112, 1059, 424 0x298484, 3, Fast либо передвинуть курсор к этому цвету либо рядом с этим цветом вправо 25 30 пикселей без разницы с кликом чтобы просто выделить. Если нету цвета вернуть в начало скрипта но собственно он, есть просто координат очень много если писать каждую вот и прошу помощи в упрощении скрипта  и кто поможет тому пожертвую сколько смогу. В коде выше каждая координата отдельно слишком громоздко и неудобно в случаи смешения координат все слитит.

2 вариант был бы идеален если бы работал

run:
PixelSearch, Px, Py, 1042, 93, 1052, 415, 0x298484, 0, Fast
if ErrorLevel
    goto, run 
else
MouseMove, X%Px% Y%Py%
Sleep 50
Click down
Sleep 50
Click up
MouseMove, 1021, 949
Sleep 50
Click down
Sleep 50
Click up
MouseMove, 857, 947
Sleep 50
Click down
Sleep 50
Click up
Sleep 25000
goto, run

Пробовал через CoordMode не не особо шарю, поэтому не могу понять какие координаты указывать в выражении и опять же, если делать выражение то 25-40 координат не совсем приятно будет смотреться 1 вариант вобше отпадает PixelSearch 25 раз анализировать это онанизм . Если  варианта как CoordMode нет прошу помощи по данному варианту.

И есть ли в русскоязычном интернете нормальный гайд по ahk где расписано про выражение ниже пример, просто интересуют про координаты, что анализирует данное выражение по ширине или высоте экрана  и как понять coord-=25.

coord:=0
coord+=%Px%
coord+=%Py%
coord-=25
if coord>825            ;5
goto, p5
if coord between 809 and 824    ;1
goto, p1
if coord between 785 and 808    ;7
goto, p7
if coord between 771 and 784    ;3
goto, p3
if coord between 754 and 770    ;6
goto, p6
if coord between 730 and 749    ;4
goto, p4
if coord between 750 and 753    ;2
goto, p2
if coord<725            ;8
goto, p8

2

Re: AHK: Как упростить скрипт цвет и координаты

Есть перевод: http://forum.script-coding.com/viewtopi … 822#p52822.

3 (изменено: Jimm24051983, 2012-10-04 12:39:08)

Re: AHK: Как упростить скрипт цвет и координаты

Есть перевод: http://forum.script-coding.com/viewtopi … 822#p52822.

Спасибо! сейчас почитаю вопрос в силе, есть ли возможность как во 2 варианте сделать скрипт.

4 (изменено: Jimm24051983, 2012-10-04 14:51:19)

Re: AHK: Как упростить скрипт цвет и координаты

run:
Process, Priority,, Low
CoordMode, Pixel, PixelSearch
PixelSearch, Px, Py, 409, 285, 421, 615, 0x231DEE, 3, Fast
if ErrorLevel
    goto, run
else
MouseMove, 0, 25
sleep 25000
return
run:
Process, Priority,, Low
CoordMode, Mouse, MouseMove
PixelSearch, Px, Py, 409, 285, 421, 615, 0x231DEE, 0, Fast
if ErrorLevel
    goto, run 
else
MouseMove, X%Px%, Y%Py%
Sleep 25000
goto, run
return

Не могу понять по какому принципу действовать найти координаты в пикселе и как их указать для мыши, чтобы она туда передвинулась или двинуть мышку при найденном пикселе от пикселя на 25 пикселей вниз или вправо.

5

Re: AHK: Как упростить скрипт цвет и координаты


run:
PixelSearch, Px, Py, 409, 285, 421, 615, 0x231DEE, 3, Fast
if ErrorLevel
    goto, run
else
{
Px+=25 ;вправо
Py+=25 ;вниз
MouseMove, Px, Py
}
sleep 25000
return

Может быть, так?

6 (изменено: Jimm24051983, 2012-10-04 17:23:39)

Re: AHK: Как упростить скрипт цвет и координаты

start:
Process, Priority,, Low
CoordMode, Mouse, Relative
Pixelsearch, Px, Py, 409, 285, 421, 615, 0x231DEE, 50
if ErrorLevel
    goto, start
    else
{
MouseMove %Px%, %Py%
}
Sleep 25000
goto, start
return

В общем методом секса освоил где собака зарыта. Выкладываю готовый код может кому понадобится. Код двигается к верхнему левому пикселю установленного цвета собственно это понятно кто понимает как происходит поиск координат. Надо теперь понять как сделать движение мыши более плавным не могу понять почему от изменения значения скорости разницу не вижу. Также нужно передвинуть мышь с помощью выражения MouseMove %Px%, %Py% вправо на 25 пикселей и 2, 3 вниз.от найденого пикселя.

7

Re: AHK: Как упростить скрипт цвет и координаты

start:
Process, Priority,, Low
CoordMode, Mouse, Relative
Pixelsearch, Px, Py, 409, 285, 421, 615, 0x231DEE, 0, Fast
if ErrorLevel
    goto, start
    else
{
MouseMove %Px%, %Py%, 5
sleep 50
MouseMove, 25, 3, 15, R    ;DONE
sleep 200
Click down
Sleep 100
Click up
}
Sleep 25000
goto, start
return

Собственно ответ на вопрос постом выше

8 (изменено: Jimm24051983, 2012-10-04 17:51:39)

Re: AHK: Как упростить скрипт цвет и координаты

KepocuH пишет:

run:
PixelSearch, Px, Py, 409, 285, 421, 615, 0x231DEE, 3, Fast
if ErrorLevel
    goto, run
else
{
Px+=25 ;вправо
Py+=25 ;вниз
MouseMove, Px, Py
}
sleep 25000
return

Может быть, так?

Так не работает

Пробовал таким образом движение проходит не от точки, а от положения курсора после нахождения пикселя

start:
Process, Priority,, Low
CoordMode, Mouse, Relative
Pixelsearch, Px, Py, 409, 285, 421, 615, 0x231DEE, 0, Fast
if ErrorLevel
    goto, start
    else
{
Coordx=25+%Px%
Coordy=3+%Py%
MouseMove %Coordx%, %Coordy%, 5, R
sleep 200
Click down
Sleep 100
Click up
}
Sleep 25000
goto, start
return

Движение происходит просто не от точки пикселя, а от положения курсора.

9

Re: AHK: Как упростить скрипт цвет и координаты


run:
; убираем CoordMode
; по умолчанию координаты определяются от верхнего левого
; угла окна (абсолютные)
PixelSearch, Px, Py, 409, 285, 421, 615, 0x231DEE, 3, Fast
; ищем нужный пиксель, записываем его координаты
; в переменные Px и Py
if ErrorLevel
    goto, run
else
{
MouseMove, Px, Py ; устанавливаем курсор на координаты найденного пикселя
Sleep 500 ; делаем паузу, если надо. Не надо - убираем эту строку.
; задаем смещение 
Px+=25 ;вправо 
Py+=2 ;вниз
MouseMove, Px, Py ; устанавливаем курсор на новые координаты
}
sleep 25000
return

Так тоже не работает?

10 (изменено: Jimm24051983, 2012-10-04 21:28:16)

Re: AHK: Как упростить скрипт цвет и координаты

KepocuH пишет:

run:
; убираем CoordMode
; по умолчанию координаты определяются от верхнего левого
; угла окна (абсолютные)
PixelSearch, Px, Py, 409, 285, 421, 615, 0x231DEE, 3, Fast
; ищем нужный пиксель, записываем его координаты
; в переменные Px и Py
if ErrorLevel
    goto, run
else
{
MouseMove, Px, Py ; устанавливаем курсор на координаты найденного пикселя
Sleep 500 ; делаем паузу, если надо. Не надо - убираем эту строку.
; задаем смещение 
Px+=25 ;вправо 
Py+=2 ;вниз
MouseMove, Px, Py ; устанавливаем курсор на новые координаты
}
sleep 25000
return

Так тоже не работает?

Так работает спасибо !