1 (изменено: NaTsuKi, 2021-11-21 18:15:04)

Тема: 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 ______ После, возвращает в цикл.
    }
}
_____________________________________________________________________________________________________________
Post's attachments

3223.png 531.28 kb, file has never been downloaded. 

You don't have the permssions to download the attachments of this post.

2

Re: AHK: Скрипт для поиска изменений на экране по цвету

NaTsuKi, добро пожаловать на форум! Ознакомьтесь, пожалуйста, с Правилами, отредактируйте свой пост. Обратите внимание на оформление кода.
Ваш код не на AutoHotkey, он на AutoIt, это другой язык.

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

3 (изменено: NaTsuKi, 2021-11-21 18:26:14)

Re: AHK: Скрипт для поиска изменений на экране по цвету

Использовал другой код и правильно оформил. Прошу прощения.

4 (изменено: NaTsuKi, 2021-11-21 18:26:23)

Re: AHK: Скрипт для поиска изменений на экране по цвету

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

5 (изменено: __Михаил__, 2021-11-21 18:37:35)

Re: AHK: Скрипт для поиска изменений на экране по цвету

Тут нет особый сложностей. Сохранить участки, которые нужно постоянно (в цикле) проверять есть ли изменения.
Можно обойтись командой ImageSearch. Только нужно записать координаты всех участков и иметь картинки для поиска.

Win10x64, AHK v1.1.37.01 (Unicode 64-bit) | AHK-Wiki | Переменные и выражения | RegEx101