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

 
Ответить в эту темуОткрыть новую тему
> Поиск картинок
Бешеный
сообщение 23.3.2017, 7:53
Сообщение #1


**

Neophyte
Сообщений: 28
Регистрация: 13.2.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.345
Возраст: 22



set #ownerHandle findwindow (?????? - Mozilla Firefox)
set #tmp getwindow (#ownerHandle child)
set #childHandle getwindow (#tmp )
set #startX 0
set #startY 0
set #endX desktopwidth
set #endY desktopheight

set $pat "C:\bot\"
set %ima[1] vrag1
set %ima[2] vrag2
set %ima[3] vrag3
set #siz size(%ima)
for #c 1 #siz 1
set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
end_if
end_for
while #u > 0
end_script
end_while


Есть вот такой скрипт, как сделать если найдет хоть 1ну картинку что бы остановился скрипт, а то он пока все 3 не найдет не стопорится.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 23.3.2017, 10:23
Сообщение #2


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26707
Пользователь №: 16.971
Возраст: 29



Код
for #c 1 #siz 1
    set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
    if #u > 0     // если картинка найдена
        break     // выход из цикла
    end_if
end_for
end_script

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Бешеный
сообщение 23.3.2017, 10:36
Сообщение #3


**

Neophyte
Сообщений: 28
Регистрация: 13.2.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.345
Возраст: 22



Цитата(cirus @ 23.3.2017, 17:23) *

Код
for #c 1 #siz 1
    set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
    if #u > 0     // если картинка найдена
        break     // выход из цикла
    end_if
end_for
end_script


Не ты не понял чуть )

set #ownerHandle findwindow (????????? - Mozilla Firefox)
set #tmp getwindow (#ownerHandle child)
set #childHandle getwindow (#tmp )
set #startX 0
set #startY 0
set #endX desktopwidth
set #endY desktopheight

set $pat "C:\bot\"
set %ima[1] vrag1
set %ima[2] vrag2
set %ima[3] vrag3
set #siz size(%ima)
for #c 1 #siz 1
set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
end_if
end_for
while #u > 0
set $pat "C:\bot\"
set %ima[1] vrag1
set %ima[2] vrag2
set %ima[3] vrag3
set #siz size(%ima)
for #c 1 #siz 1
set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
end_if
end_for
end_while

короче надо зациклить, но через while #u > 0 циклит только если найдено все 3 картинки!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 23.3.2017, 10:51
Сообщение #4


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26707
Пользователь №: 16.971
Возраст: 29



Цитата
Не ты не понял чуть )

Цитата
как сделать если найдет хоть 1ну картинку что бы остановился скрипт

Где тут написано про зациклить скрипт?
Уберите лишний end_if. И нажмите скрипт --> форматировать.
Цитата
циклит только если найдено все 3 картинки!

Не 3 картинки, а третья.
Код
for #c 1 #siz 1
    set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
end_for

Это тоже самое:
Код
set #u findimage (#startX #startY #endX #endY ($pat%ima[1].bmp) %arr #ownerHandle)
set #u findimage (#startX #startY #endX #endY ($pat%ima[2].bmp) %arr #ownerHandle)
set #u findimage (#startX #startY #endX #endY ($pat%ima[3].bmp) %arr #ownerHandle)

Не важно нашлись ли первые картинки, #u будет содержать данные о последнем поиске.

Нормально напишите что надо сделать.



Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Бешеный
сообщение 23.3.2017, 11:05
Сообщение #5


**

Neophyte
Сообщений: 28
Регистрация: 13.2.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.345
Возраст: 22



Цитата(cirus @ 23.3.2017, 17:51) *

Где тут написано про зациклить скрипт?
Уберите лишний end_if. И нажмите скрипт --> форматировать.

Не 3 картинки, а третья.
Код
for #c 1 #siz 1
    set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
end_for

Это тоже самое:
Код
set #u findimage (#startX #startY #endX #endY ($pat%ima[1].bmp) %arr #ownerHandle)
set #u findimage (#startX #startY #endX #endY ($pat%ima[2].bmp) %arr #ownerHandle)
set #u findimage (#startX #startY #endX #endY ($pat%ima[3].bmp) %arr #ownerHandle)

Не важно нашлись ли первые картинки, #u будет содержать данные о последнем поиске.

Нормально напишите что надо сделать.


Короче есть вот такие 3 картинки

set $pat "C:\bot\"
set %ima[1] vrag1
set %ima[2] vrag2
set %ima[3] vrag3
set #siz size(%ima)
for #c 1 #siz 1
set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
end_if
end_for
Надо если найдет хоть какую из них или даже 2 вместе или 3 то скрипт выполнял
допустим клик left 360, 469 и пока есть эти картинки или 1-2 из них то он продолжал
выполнять left 360, 469 до тех пор пока картинка не исчезнет

_______________________________________________________
set $pat "C:\bot\"
set %ima[1] vrag1
set %ima[2] nevid
set %ima[3] vrag3
set #siz size(%ima)
for #c 1 #siz 1
set #q findimage (#startX #startY #endX #endY ($pat%ima[1].bmp) %arr #ownerHandle)
set #w findimage (#startX #startY #endX #endY ($pat%ima[2].bmp) %arr #ownerHandle)
set #e findimage (#startX #startY #endX #endY ($pat%ima[3].bmp) %arr #ownerHandle)
end_if
end_for
while #q > 0 or #w > 0 or #e > 0
set #q findimage (#startX #startY #endX #endY ($pat%ima[1].bmp) %arr #ownerHandle)
set #w findimage (#startX #startY #endX #endY ($pat%ima[2].bmp) %arr #ownerHandle)
set #e findimage (#startX #startY #endX #endY ($pat%ima[3].bmp) %arr #ownerHandle)
left 1177, 574
wait 2000
end_while

Во так, но что то какой-то паровоз получился ))
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cirus
сообщение 23.3.2017, 11:47
Сообщение #6


**********

Elder
Сообщений: 3.480
Регистрация: 18.8.2014
Группа: Пользователи
Наличность: 26707
Пользователь №: 16.971
Возраст: 29



код
Код
set #ownerHandle findwindow (????????? - Mozilla Firefox)
set #tmp getwindow (#ownerHandle child)
set #childHandle getwindow (#tmp )
set #startX 0
set #startY 0
set #endX desktopwidth
set #endY desktopheight

set $pat "C:\bot\"
set %ima[1] vrag1
set %ima[2] vrag2
set %ima[3] vrag3
set #siz size(%ima)

set #z 1
while #z > 0
    set #z 0       // флаг, что пока картинка не найдена
    for #c 1 #siz 1
        set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
        if  #u > 0
            set #z 1        // флаг, что картинка найдена
            left 1177, 574
            wait 2000
            break
        end_if
    end_for
    hint #z      // если #z будет 0 выйдет из цикла
end_while
end_script
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Бешеный
сообщение 23.3.2017, 11:55
Сообщение #7


**

Neophyte
Сообщений: 28
Регистрация: 13.2.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.345
Возраст: 22



Цитата(cirus @ 23.3.2017, 18:47) *

код
Код
set #ownerHandle findwindow (????????? - Mozilla Firefox)
set #tmp getwindow (#ownerHandle child)
set #childHandle getwindow (#tmp )
set #startX 0
set #startY 0
set #endX desktopwidth
set #endY desktopheight

set $pat "C:\bot\"
set %ima[1] vrag1
set %ima[2] vrag2
set %ima[3] vrag3
set #siz size(%ima)

set #z 1
while #z > 0
    set #z 0       // флаг, что пока картинка не найдена
    for #c 1 #siz 1
        set #u findimage (#startX #startY #endX #endY ($pat%ima[#c].bmp) %arr #ownerHandle)
        if  #u > 0
            set #z 1        // флаг, что картинка найдена
            left 1177, 574
            wait 2000
            break
        end_if
    end_for
    hint #z      // если #z будет 0 выйдет из цикла
end_while
end_script


Спасибо большое!!!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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