1 (изменено: mounks, 2023-07-30 20:45:44)

Тема: AHK: Команда ImageSearch

Нужно написать небольшой скрипт через ImageSearch. Вопрос: Как совместить два запроса в исполнение одного действия по синтаксису AHK?
Пример использования одного запроса:


Loop {
	ImageSearch, x, y, 0, 0, 1366, 768, *TransGray *%TransMode% %key%B.png
    if (ErrorLevel = 0)
    {
	MsgBox, Найдено
    }
}

Мне надо тоже самое, только чтобы сравнивалось две картинки, и если обе истинны, то выводится MsgBox. Если еще непонятно, то мне нужно понимание написания синтаксиса:
ImgSearch AND ImgSearch

2

Re: AHK: Команда ImageSearch

mounks, добро пожаловать на форум! Ознакомьтесь, пожалуйста, с Правилами, отредактируйте свой пост. Обратите внимание на оформление кода.

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

3

Re: AHK: Команда ImageSearch

teadrinker
Так правильно?

4

Re: AHK: Команда ImageSearch

Правильно. Можно так:

file1 := "img1.png"
file2 := "img2.png"

Loop {
    Loop 2 {
        ImageSearch, x, y, 0, 0, 1366, 768, % "*TransGray *" . TransMode . " " . file%A_Index%
        found := !ErrorLevel
        if !found {
            continue 2
        }
    }
    if found {
        MsgBox Найдено
    }
}

Не забудьте указать CoordMode.

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

5 (изменено: mounks, 2023-07-30 22:35:25)

Re: AHK: Команда ImageSearch

Попробовал протестировать ваш код, наверное я что-то не так делаю (Дай обезьяне инструмент, она ничего путного с ним не сделает, вот тут такая же ситуация ) , но ваш код навел меня на такую идею:


Loop {
    ImageSearch, x, y, 0, 0, 1366, 768, C:\Users\admin\Desktop\Bot\img\1.png
    if (ErrorLevel = 0) {
		ImageSearch, x, y, 0, 0, 1366, 768, C:\Users\admin\Desktop\Bot\img\2.png
        	if (ErrorLevel = 0) {
				MsgBox, Найдено
     		}
     }
}

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