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

> приоритет, findimage
cskull
сообщение 27.11.2016, 13:15
Сообщение #1


**

Neophyte
Сообщений: 38
Регистрация: 22.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.158



Добрый день !
Подскажите пожалуйста , возможно ли картинкам присвоить какой либо приоритет ?
Проблема - существует несколько видов картинок , на один тип надо кликать в первую очередь , на одну ТОЛЬКО в последнюю очередь .
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов
cirus
сообщение 29.11.2016, 2:41
Сообщение #2


**********

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



как-то так
Код
set $path  "C:\Users\Пользователь\Desktop\рисунки для пилота\"      // путь к картинкам
set %image [1] bashya                          // имя изображения
set %image [2] bashnya_c_prava
set %image [3] bashnya_v_nizy
set %image [4] bashnya_v_verxy
set %image [5] bashnya_c_leva
set %image [6] bashnya_niz_pravo
set %image [7] verx_levo_ygol
set %image [8] basnya_verx_pravo

set #size size(%image)                          // всего картинок
hint Всего картинок #size

:metka

set $a 0
while $a = 0             // пока картинка не найдена
    set #flag 0               // флаг что картинки найдены
    for #i 1 #size 1                     // цикл для поиска картинок
        set $a findimage (1147, 32  1363, 249  ($path%image[#i].bmp) %arr 2 90 20 5 )
        if  $a > 0
            set #x %arr [1 1] + 7
            set #y %arr [1 2] + 7
            break
        end_if
        set #flag 1       // картинки не найдены
    end_for


    if  #flag = 1          // если ни одна из картинок не найдена
                           // ищем картинку EXIT2
        set #b findimage (1154, 36 1359, 242 (C:\Users\Пользователь\Desktop\рисунки для пилота\EXIT2.bmp) %arr1 2 90 20 5)
        if  #b > 0                               // если найдена EXIT2
            for #i 1 #size 1                     // снова перебираем картинки
                set $a findimage (1147, 32  1363, 249  ($path%image[#i].bmp) %arr 2 90 20 5 )
                if  $a > 0
                    set #flag 0               // картинка найдена
                    break                      // прервать поиск
                end_if
            end_for

            if  #flag = 1         // если картинки не найдены
                log Картинка Exit2 найдена
                // тут действия которые нужно сделать если картинка EXIT2 найдена, а другие нет
            else                  // иначе
                goto metka        // переход к метке, т.е. к началу скрипта
            end_if
        end_if
    end_if
end_while

while 1 = 1      // бесконечный цикл
    set $p findcolor(1154, 36 1359, 242 56831  %arr 2) // PERS

    if  $p > 0
        set #x1 %arr [1 1]
        set #y1 %arr [1 2]
        wait  1s

        if  #x1 < #x
            Send_down {right}
            wait 200
            Send_up {right}
            wait 1s
        end_if

        if  #x1 > #x
            Send_down {left}
            wait 200
            Send_up {left}
            wait 1s
        end_if

        if  #y1 < #y
            Send_down {down}
            wait 200
            Send_up {down}
            wait 1s
        end_if

        if  #y1 > #y
            Send_down {up}
            wait 200
            Send_up {up}
            wait 1s
        end_if

        set #x2 #x - #x1             // разница координат #x и #x1
        set #x2 abs(#x2)             // модуль числа, чтобы разница не была отрицательной
        set #y2 #y - #y1             // разница координат #y и #y1
        set #y2 abs(#y2)            // модуль числа
        set #const 7                  // подобрать нужное значение
        if  #x2 < #const and #y2 < #const     // проверка что перс у нужной точки
            break
        end_if
        if  #x = #x1 and #y = #y1    // проверка дошёл перс до нужных координат или нет
            break   // если дошёл, выход из цикла
        end_if
    end_if
end_while

wait 3000                        // ждать 3 секунды
goto metka

В 43 строку дописать нужные действия.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cskull
сообщение 29.11.2016, 13:26
Сообщение #3


**

Neophyte
Сообщений: 38
Регистрация: 22.10.2016
Группа: Пользователи
Наличность: 0
Пользователь №: 18.158



Цитата(cirus @ 29.11.2016, 2:41) *

как-то так
Код
set $path  "C:\Users\Пользователь\Desktop\рисунки для пилота\"      // путь к картинкам
set %image [1] bashya                          // имя изображения
set %image [2] bashnya_c_prava
set %image [3] bashnya_v_nizy
set %image [4] bashnya_v_verxy
set %image [5] bashnya_c_leva
set %image [6] bashnya_niz_pravo
set %image [7] verx_levo_ygol
set %image [8] basnya_verx_pravo

set #size size(%image)                          // всего картинок
hint Всего картинок #size

:metka

set $a 0
while $a = 0             // пока картинка не найдена
    set #flag 0               // флаг что картинки найдены
    for #i 1 #size 1                     // цикл для поиска картинок
        set $a findimage (1147, 32  1363, 249  ($path%image[#i].bmp) %arr 2 90 20 5 )
        if  $a > 0
            set #x %arr [1 1] + 7
            set #y %arr [1 2] + 7
            break
        end_if
        set #flag 1       // картинки не найдены
    end_for
    if  #flag = 1          // если ни одна из картинок не найдена
                           // ищем картинку EXIT2
        set #b findimage (1154, 36 1359, 242 (C:\Users\Пользователь\Desktop\рисунки для пилота\EXIT2.bmp) %arr1 2 90 20 5)
        if  #b > 0                               // если найдена EXIT2
            for #i 1 #size 1                     // снова перебираем картинки
                set $a findimage (1147, 32  1363, 249  ($path%image[#i].bmp) %arr 2 90 20 5 )
                if  $a > 0
                    set #flag 0               // картинка найдена
                    break                      // прервать поиск
                end_if
            end_for

            if  #flag = 1         // если картинки не найдены
                log Картинка Exit2 найдена
                // тут действия которые нужно сделать если картинка EXIT2 найдена, а другие нет
            else                  // иначе
                goto metka        // переход к метке, т.е. к началу скрипта
            end_if
        end_if
    end_if
end_while

while 1 = 1      // бесконечный цикл
    set $p findcolor(1154, 36 1359, 242 56831  %arr 2) // PERS

    if  $p > 0
        set #x1 %arr [1 1]
        set #y1 %arr [1 2]
        wait  1s

        if  #x1 < #x
            Send_down {right}
            wait 200
            Send_up {right}
            wait 1s
        end_if

        if  #x1 > #x
            Send_down {left}
            wait 200
            Send_up {left}
            wait 1s
        end_if

        if  #y1 < #y
            Send_down {down}
            wait 200
            Send_up {down}
            wait 1s
        end_if

        if  #y1 > #y
            Send_down {up}
            wait 200
            Send_up {up}
            wait 1s
        end_if

        set #x2 #x - #x1             // разница координат #x и #x1
        set #x2 abs(#x2)             // модуль числа, чтобы разница не была отрицательной
        set #y2 #y - #y1             // разница координат #y и #y1
        set #y2 abs(#y2)            // модуль числа
        set #const 7                  // подобрать нужное значение
        if  #x2 < #const and #y2 < #const     // проверка что перс у нужной точки
            break
        end_if
        if  #x = #x1 and #y = #y1    // проверка дошёл перс до нужных координат или нет
            break   // если дошёл, выход из цикла
        end_if
    end_if
end_while

wait 3000                        // ждать 3 секунды
goto metka

В 43 строку дописать нужные действия.


дописала в 43ю и в 27ю , получилось следущее
kod

set $path "C:\Users\Пользователь\Desktop\рисунки для пилота\" // путь к картинкам
set %image [1] bashya // имя изображения
set %image [2] bashnya_c_prava
set %image [3] bashnya_v_nizy
set %image [4] bashnya_v_verxy
set %image [5] bashnya_c_leva
set %image [6] bashnya_niz_pravo
set %image [7] verx_levo_ygol
set %image [8] basnya_verx_pravo

set #size size(%image) // всего картинок
hint Всего картинок #size

:metka

set $a 0
while $a = 0 // пока картинка не найдена
set #flag 0 // флаг что картинки найдены
for #i 1 #size 1 // цикл для поиска картинок
set $a findimage (1147, 32 1363, 249 ($path%image[#i].bmp) %arr 2 90 20 5 )
if $a > 0
set #x %arr [1 1] + 7
set #y %arr [1 2] + 7
break
end_if
set #flag 1 // картинки не найдены
end_for
if $a = 0
goto metka1
wait 1s
end_if
end_while

while 1 = 1 // бесконечный цикл
set $p findcolor(1154, 36 1359, 242 56831 %arr 2) // PERS

if $p > 0
set #x1 %arr [1 1]
set #y1 %arr [1 2]
wait 1s

if #x1 < #x
Send_down {right}
wait 200
Send_up {right}
wait 1s
end_if

if #x1 > #x
Send_down {left}
wait 200
Send_up {left}
wait 1s
end_if

if #y1 < #y
Send_down {down}
wait 200
Send_up {down}
wait 1s
end_if

if #y1 > #y
Send_down {up}
wait 200
Send_up {up}
wait 1s
end_if

set #x2 #x - #x1 // разница координат #x и #x1
set #x2 abs(#x2) // модуль числа, чтобы разница не была отрицательной
set #y2 #y - #y1 // разница координат #y и #y1
set #y2 abs(#y2) // модуль числа
set #const 7 // подобрать нужное значение
if #x2 < #const and #y2 < #const // проверка что перс у нужной точки
break
end_if
if #x = #x1 and #y = #y1 // проверка дошёл перс до нужных координат или нет
// координаты, скорее всего, не совпадут, лучше сравнивать разницу координат с какой-то константой
break // если дошёл, выход из цикла
end_if
end_if

:metka1
if #flag = 1 // если ни одна из картинок не найдена
// ищем картинку EXIT2
set #b findimage (1154, 36 1359, 242 (C:\Users\Пользователь\Desktop\рисунки для пилота\EXIT2.bmp) %arr1 2 90 20 5)
if #b > 0 // если найдена EXIT2
for #i 1 #size 1 // снова перебираем картинки
set $a findimage (1147, 32 1363, 249 ($path%image[#i].bmp) %arr 2 90 20 5 )
if $a > 0
set #flag 0 // картинка найдена
break // прервать поиск
end_if
end_for

if #flag = 1 // если картинки не найдены
log Картинка Exit2 найдена
left 634, 46
wait 6s
move 634, 46
wait 3s
move 641, 92
wait 3s
Send_down {down}
wait 800
Send_up {down}
wait 1500
else // иначе
goto metka // переход к метке, т.е. к началу скрипта
end_if
end_if
end_if
end_while

while 1 = 1 // бесконечный цикл
set $p findcolor(1154, 36 1359, 242 56831 %arr 2) // PERS

if $p > 0
set #x1 %arr [1 1]
set #y1 %arr [1 2]
wait 1s

if #x1 < #x
Send_down {right}
wait 200
Send_up {right}
wait 1s
end_if

if #x1 > #x
Send_down {left}
wait 200
Send_up {left}
wait 1s
end_if

if #y1 < #y
Send_down {down}
wait 200
Send_up {down}
wait 1s
end_if

if #y1 > #y
Send_down {up}
wait 200
Send_up {up}
wait 1s
end_if

set #x2 #x - #x1 // разница координат #x и #x1
set #x2 abs(#x2) // модуль числа, чтобы разница не была отрицательной
set #y2 #y - #y1 // разница координат #y и #y1
set #y2 abs(#y2) // модуль числа
set #const 7 // подобрать нужное значение
if #x2 < #const and #y2 < #const // проверка что перс у нужной точки
break
end_if
if #x = #x1 and #y = #y1 // проверка дошёл перс до нужных координат или нет
break // если дошёл, выход из цикла
end_if
end_if
end_while

wait 3000 // ждать 3 секунды
goto metka

но снова вылазит ошибка в логе 13:20:49 19 (, 97): Картинка Exit2 найдена
13:21:08 19 (, 69): set - (69): Символ не распознан (pos:1 '#x - 1323')
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Сообщений в этой теме
cskull   приоритет   27.11.2016, 13:15
cirus   Самое просто изначально записать картинки в нужном...   27.11.2016, 13:42
cskull   спасибо , а я подумала ,что в квадратных скобках п...   27.11.2016, 17:05
cirus   Вообще, оно так и есть. Просто картинки ищутся не...   27.11.2016, 17:19
cskull   Уважаемый cirus , а как тогда присвоить номер 9 ка...   27.11.2016, 19:10
cirus   if $a = 0 goto metka1 wait 1s end_if Если ...   27.11.2016, 19:38
cskull   [code]if $a = 0 goto metka1 wait 1s end_i...   27.11.2016, 20:07
cskull   Чёт я не то навставляла (( Почему то выдаёт ошибку...   27.11.2016, 20:45
cirus   Код уберите под спойлер: [spoiler=название...   27.11.2016, 21:22
cskull   Код уберите под спойлер: [code][spoiler=назва...   27.11.2016, 22:01
cirus   break прерывает цикл поиска картинок. Скрипт прод...   27.11.2016, 22:43
cskull   и так и сяк лепила , ничего не вышло (( картинки 1...   28.11.2016, 19:41
DarkMaster   cskull, если просто сделать поиск этой картинки бе...   28.11.2016, 23:04
cskull   cskull, если просто сделать поиск этой картинки б...   28.11.2016, 23:24
DarkMaster   это все замечательно :) Но если просто сделать пои...   28.11.2016, 23:40
cskull   это все замечательно :) Но если просто сделать по...   29.11.2016, 0:09
DarkMaster   Госаб поможет не ломать голову и глаза в попытках...   29.11.2016, 0:33
cskull   Если будет желание, почитайте http://hosting.vsp...   29.11.2016, 8:29
DarkMaster   set $a 0 while $a = 0 // пока картинка н...   29.11.2016, 0:55
cskull   set $a 0 while $a = 0 // пока картинка ...   29.11.2016, 8:50
cskull   set $a 0 while $a = 0 // пока картинка ...   29.11.2016, 8:50
cirus   if #flag = 1 // если картинки не найдены if ...   29.11.2016, 2:22
cirus   И зачем что-то менять в 27 строке, вы убираете ну...   29.11.2016, 14:01
cskull   И зачем что-то менять в 27 строке, вы убираете ну...   29.11.2016, 14:29
cirus   Они же и так есть, зачем их по 2 раза писать. Ош...   29.11.2016, 14:47
cskull   В metka1 пишите что делать, когда нашлась картин...   29.11.2016, 18:37
Cockney   Не важно. Там 2, тут 3, а психика уже покалечена...   29.11.2016, 18:53
cskull   а психика уже покалечена. :D   29.11.2016, 19:38
cskull   Вообще, надо весь код через gosub делать. [url=...   29.11.2016, 20:33
DarkMaster   представьте, что гото просто не существует. И ник...   30.11.2016, 2:29
cirus   set #a findimage set #b findimage if #a > 0 a...   30.11.2016, 2:36
cskull   написала , но не удачно , и от goto не знаю как из...   30.11.2016, 19:31
cirus   set $a findimage (1154, 36 1359, 242 ...   1.12.2016, 2:38
cskull   set $a findimage (1154, 36 1359, 242 ...   2.12.2016, 12:49


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

 

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