1 (изменено: s.yureskul, 2021-08-20 21:38:00)

Тема: AHK: Резкая остановка скрипта.

Здравствуйте, как сделать так чтобы скрипт на автомате видел определенный пиксель и сразу же резко останавливался , уже несколько дней мучаюсь с этой проблемой помогите пожалуйста.

2

Re: AHK: Резкая остановка скрипта.

Покажите свой код, как пробовали.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3 (изменено: s.yureskul, 2021-08-21 11:09:34)

Re: AHK: Резкая остановка скрипта.

Я в этом новичок если что, думаю у меня там есть ошибка. В скрипте выполняются одинаковые действия, но в разных координатах. Мне надо чтобы после данных двух строк, MouseMove, X , Y  SendInput {vk01}, шла проверка на пиксель, и если пиксель появился, резка остановка.



PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8  )
Return
MouseMove, 663, 550
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8 )
Return
Sleep 0.1
SendInput {vk71}
Sleep 0.1
SendInput {vk45}
SendInput {vk71}
Sleep 0.1
MouseMove, 854, 548
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8  )
Return
Sleep 0.1
SendInput {vk71}
Sleep 0.1
SendInput {vk45}
SendInput {vk71}
Sleep 0.1
MouseMove, 1042, 574
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8  )
Return
Sleep 0.1
SendInput {vk71}
Sleep 0.1
SendInput {vk45}
SendInput {vk71}
Sleep 0.1
MouseMove, 1255, 508
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8  )
Return
Sleep 0.1
SendInput {vk71}
Sleep 0.1
SendInput {vk45}
SendInput {vk71}
}
Return

4

Re: AHK: Резкая остановка скрипта.

Смотрите в правилах, как код оформляется.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: s.yureskul, 2021-08-21 15:53:20)

Re: AHK: Резкая остановка скрипта.

Щас.

6 (изменено: s.yureskul, 2021-08-21 16:04:50)

Re: AHK: Резкая остановка скрипта.

 PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8  )
Return
MouseMove, 663, 550
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8 )
Return
Sleep 0.1
SendInput {vk71}
Sleep 0.1
SendInput {vk45}
SendInput {vk71}
Sleep 0.1
MouseMove, 854, 548
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8  )
Return
Sleep 0.1
SendInput {vk71}
Sleep 0.1
SendInput {vk45}
SendInput {vk71}
Sleep 0.1
MouseMove, 1042, 574
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8  )
Return
Sleep 0.1
SendInput {vk71}
Sleep 0.1
SendInput {vk45}
SendInput {vk71}
Sleep 0.1
MouseMove, 1255, 508
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 = %color%
if ( Var1 =  0xF3FDF8  )
Return
Sleep 0.1
SendInput {vk71}
Sleep 0.1
SendInput {vk45}
SendInput {vk71}
}
Return 

7

Re: AHK: Резкая остановка скрипта.

Теперь попробуйте запустить код, который опубликовали. Либо одна скобка лишняя, либо чего-то не хватает.
Sleep не поддерживает дробных значений, он в милисекундах.
Чтобы приравнять переменной значение, используется

Var1 := color

Главная ошибка скорее всего в том, что не указан CoordMode. По умолчанию координаты считаются относительно активного окна, а не экрана.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8 (изменено: s.yureskul, 2021-08-21 18:41:43)

Re: AHK: Резкая остановка скрипта.

Спасибо.

9 (изменено: s.yureskul, 2021-08-21 19:02:40)

Re: AHK: Резкая остановка скрипта.

 vk62::


PixelGetColor, color, 1173, 403, alt
Var1 := color
if ( Var1 =  0x10f28c  )
Return
MouseMove, 663, 550
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 := color
if ( Var1 =  0x10f28c )
Return
Sleep 1
SendInput {vk71}
Sleep 1
SendInput {vk45}
SendInput {vk71}
Sleep 1
MouseMove, 854, 548
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 := color
if ( Var1 =  0x10f28c  )
Return
Sleep 1
SendInput {vk71}
Sleep 1
SendInput {vk45}
SendInput {vk71}
Sleep 1
MouseMove, 1042, 574
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 := color
if ( Var1 =  0x10f28c  )
Return
Sleep 1
SendInput {vk71}
Sleep 1
SendInput {vk45}
SendInput {vk71}
Sleep 1
MouseMove, 1255, 508
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
Var1 := color
if ( Var1 =  0x10f28c  )
Return
Sleep 1
SendInput {vk71}
Sleep 1
SendInput {vk45}
SendInput {vk71}


Return 

Сейчас получилось вот так, но все равно скрипт не останавливается когда появился определенный пиксель.

10

Re: AHK: Резкая остановка скрипта.

s.yureskul пишет:
PixelGetColor, color, 1173, 403, alt
Var1 := color
if ( Var1 =  0x10f28c  )

Во-первых, не понятно, зачем тут Var1. Можно сравнивать непосредственно переменную color. Во-вторых, CoordMode я так и не увидел. Уверены, что координаты 1173, 403 нужно отсчитывать от активного окна?

s.yureskul пишет:

скрипт не останавливается когда видит пиксель

А как вы поняли, что он его «видит»?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

11 (изменено: s.yureskul, 2021-08-21 19:51:59)

Re: AHK: Резкая остановка скрипта.

Насчет понял ли я что он его видит,  скрипт просматривает вкладки, когда во вкладке появляется пиксель скрипт должен остановиться. Но он не останавливается, а когда я сам захожу во вкладку где есть данный пиксель, нажимаю на кнопку включения скрипта, он не работает, значит, он видит пиксель. Но когда я захожу в другую вкладку и скрипт так же просматривает вкладки, он просто вкладку с пикселем пролистывает никак не реагируя. А про var1 и Coordmode я не знаю как правильно это оформить в скрипте так как новичок. А про отсчет координатов от активного окна да.

12

Re: AHK: Резкая остановка скрипта.

Если от активного окна — тогда технически всё правильно, сказать, в чём проблема, можно только непосредственно увидев экран. Возможно, некорректно цвет указан.

PixelGetColor, color, 1173, 403, alt
if ( color =  0x10f28c  )
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

13 (изменено: s.yureskul, 2021-08-21 20:58:23)

Re: AHK: Резкая остановка скрипта.

Все работает, но скрипт останавливается только тогда, когда на экране есть этот пиксель и мне надо нажать кнопку н2(точнее ту кнопку на которую включается скрипт). То есть он на автомате не останавливается, возможно это автоматизировать, чтобы мне ничего не пришлось нажимать, потому что скорость просмотра окон большая, вручную вовремя никак остановить.

14

Re: AHK: Резкая остановка скрипта.

Буду максимально благодарен если поможете.

15

Re: AHK: Резкая остановка скрипта.

s.yureskul пишет:

Все работает, но скрипт останавливается только тогда, когда на экране есть этот пиксель и мне надо нажать кнопку н2(точнее ту кнопку на которую включается скрипт). То есть он на автомате не останавливается

Я из этого ничего не понял. Так останавливается, или нет?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

16

Re: AHK: Резкая остановка скрипта.

Смотрите, он так же само пролистывает окно с пикселем никак не реагируя, но когда я сам захожу в окно с этим пикселем и нажимаю кнопку включения скрипта он выключается-значит видит пиксель, но мне надо чтобы оно работало автоматически. То есть когда скрипт просматривает окна, и в определенном окне появился нужный пиксель, он сразу же выключался, останавливался, без разницы. Но главное чтобы это было на автомате.

 vk62::


PixelGetColor, color, 1173, 403, alt
if ( color =  0x10f28c  )
ExitApp
MouseMove, 663, 550
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
if ( color =  0x10f28c  )
ExitApp
Sleep 1000
SendInput {vk71}
Sleep 1000
SendInput {vk45}
SendInput {vk71}
Sleep 1000
MouseMove, 854, 548
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
if ( color =  0x10f28c  )
ExitApp
Sleep 1000
SendInput {vk71}
Sleep 1000
SendInput {vk45}
SendInput {vk71}
Sleep 1000
MouseMove, 1042, 574
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
if ( color =  0x10f28c  )
ExitApp
Sleep 1000
SendInput {vk71}
Sleep 1000
SendInput {vk45}
SendInput {vk71}
Sleep 1000
MouseMove, 1255, 508
SendInput {vk01}
PixelGetColor, color, 1173, 403, alt
if ( color =  0x10f28c  )
ExitApp
Sleep 1000
SendInput {vk71}
Sleep 1000
SendInput {vk45}
SendInput {vk71}


Return 

Вот как скрипт выглядит щас.

17

Re: AHK: Резкая остановка скрипта.

А, наверно понял, вам нужен цикл. Смотрите команду Loop.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

18

Re: AHK: Резкая остановка скрипта.

Спасибо большое все работает!