Здравствуйте, гость ( Вход | Регистрация )

> Findimage (lua)
YuzveR
сообщение 14.2.2024, 13:22
Сообщение #1


*

Registred
Сообщений: 5
Регистрация: 14.2.2024
Группа: Пользователи
Наличность: 0
Пользователь №: 20.717
Возраст: 37



Доброго времени суток.
Вопрос по Findimage:
Имеется несколько сохранённых картинок. Например, звезда, треугольник, квадрат и т.д.
Возможно ли объединить все искомые картинки в один массив? Например:

Код
--lua
local handle = findwindow ("Безымянный")
local startX, startY, endX, endY = 0, 0, 1920, 1080
local path = [[C:\\Image]]
local arr = {"blackstar","bluestar","green","orangearr","purple","redstar"}
for i=1, #arr do
   local image, a = findimage (startX, startY, endX, endY, {path .. "\\" .. arr[i] .. ".bmp"}, 2)
end


Вообще могу прописать к каждой картинке findimage {blackstar.bmp} и т.д., но скрипт очень большой выходит )
Пытаюсь написать выполнение цикла до тех пор, пока все 6(например) картинок не будут кликнуты и не пропадут после клика.

И другой вопрос, реально ли реализовать прохождение тестирования через скрипт?
Например, Есть вопрос "2+2 = ?" и несколько вариантов ответов "1, 2, 3, 4". И он идёт первым.
Через findimage поиск картинки с вопросом и клик на ответ.
Но как реализовать, если этот вопрос будет в середине или в конце тестирования?
Скрипт же идёт сверху вниз по порядку. То есть это условие появления findimage может возникнуть в любой момент.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
YuzveR
сообщение 16.2.2024, 12:37
Сообщение #2


*

Registred
Сообщений: 5
Регистрация: 14.2.2024
Группа: Пользователи
Наличность: 0
Пользователь №: 20.717
Возраст: 37



Добрый день, нужна помощь. Где-то ошибся, но не могу разобраться где:

Код

local arrr, ar = findimage (startX, startY, endX, endY, {opredeliteou}, 2)
while (arrr) do
    local brrr, br = findimage (startX, startY, endX, endY, {ou}, 2)
        while (brrr) do
            kleft (brrr[1][1], brrr[1][2])
            wait (100)
            brrr, br = findimage (startX, startY, endX, endY, {ou}, 2)
        end
    local crrr, cr = findimage (startX, startY, endX, endY, {prodoljit}, 2)
        while (crrr) do
            kleft (crrr[1][1], crrr[1][2])
            wait (100)
            crrr, cr = findimage (startX, startY, endX, endY, {prodoljit}, 2)
        end
end
local drrr, dr = findimage (startX, startY, endX, endY, {opredeliteod}, 2)
while (drrr) do
    local errr, er = findimage (startX, startY, endX, endY, {od}, 2)
        while (errr) do
            kleft (errr[1][1], errr[1][2])
            wait (100)
            errr, er = findimage (startX, startY, endX, endY, {od}, 2)
        end
    local crrr, cr = findimage (startX, startY, endX, endY, {prodoljit}, 2)
        while (crrr) do
            kleft (crrr[1][1], crrr[1][2])
            wait (100)
            crrr, cr = findimage (startX, startY, endX, endY, {prodoljit}, 2)
        end
end


Находит на экране "ОпределитеОУ" - жмёт "ОУ", затем "Продолжить".
Следом появляется "ОпределитеОД", но всё равно жмёт "ОУ", вместо "ОД".
Где я не закрыл условие?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения



Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 16.7.2025, 4:41
Designed by Nickostyle