Тема: AHK: Скрипт для поиска изменений на экране по цвету
Здравствуйте. Пытался найти как сделать скрипт который будет срабатывать на изменение картинки на экране. Задача такая в определенных частях экрана картинка изменяется в случайный момент времени, нужно звуковое оповещение.
Нашел несколько похожих решений, попытался что-то сделать сам, но при открытии скипта открывается internet explorer, который не умеет правильно отображать сайт, хотя по умолчанию на винде стоит google chrome. Как это исправить не понятно, собственно как и наладить код для себя. Если не сложно помогите.
Скину скрин того как это все выглядит. Для наглядности выделил красными квадратами области которые мне нужно проверять на изменения темного серого фона на более светлый как в соседних клетках без квадратов.
Вот сырая часть скрипта которую я так и не смог протестировать. Для начала было бы хорошо разобраться как сделать проверку хотя бы на один пиксель фона для одного предмета игры. Возможно упростить код и не переходить по ссылке, а проверять текущее открытое окно.
#SingleInstance
#MaxThreads 1
#MaxThreadsPerHotkey 1
#HotkeyInterval 1000
#MaxHotkeysPerInterval 10
#MaxThreadsBuffer Off
SetWinDelay 0
DetectHiddenText On
DetectHiddenWindows On
SetTitleMatchMode 3
SetTitleMatchMode Fast
#AllowSameLineComments
#CommentFlag ______
_____________________________________________________________________________________________________________
______ После - строка является комментарием (не читается скриптом).
_____________________________________________________________________________________________________________
______ ScanWinName = Название окна (с учётом регистра) для сканирования (FullScreen приложения = окна).
______ C00 = (произвольное) название переменной, хронящей код цвета целевого пикселя (в примере x=0 | y=0).
______ Первые 13 строк - для конкретного скрипта. Нет смысла изменять скрипт, под этим "шаблоном".
_____________________________________________________________________________________________________________
Loop ______ Запускает цикл (ниже) - совершающий одну проверку цвета, по координатам, 10 раз в секунду.
{
IfWinActive ScanWinName https://old.cs.money/ru/ ______ Когда целевое окно активно.
{
PixelGetColor C00, 0, 0 ______ Сохроняет цветовой код первого (углового) пикселя слева/сверху.
{
_____________________________________________________________________________________________________________
If C00 = 0xFFFFFF ______ Цвет, который должен поменяться (в примере - белый).
{
Sleep 100 ______ В ожидании изменений - возвращает в цикл.
}
_____________________________________________________________________________________________________________
Else If C00 != 0xFFFFFF ______ Цвет поменялся.
{
SendInput {b} ______ Симуляция "b" (нажал-отпустил), согласно циклу.
Sleep 100 ______ После, возвращает в цикл.
}
}
}
_____________________________________________________________________________________________________________
Else IfWinNotActive ScanWinName ______ Когда целевое окно неактивно/несуществует.
{
WinWaitActive ScanWinName ______ Ожидает активации целевого окна (не сканируя).
Sleep 100 ______ После, возвращает в цикл.
}
}
_____________________________________________________________________________________________________________