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

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


**

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



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


**********

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



Цитата
я вставляла действия для рисунков 1-8

Они же и так есть, зачем их по 2 раза писать.
Цитата
а ошибка вообще не там где что-либо менялось ,а в стравнении координад

Ошибка из-за того что картинки не нашлись, т. е. переменная #x не существует, а т. к. вы убрали часть кода и не дописали действия, для того случая когда нашлась картинка exit, то получили ошибку.
Возьмите мой код и допишите после этой строки: log Картинка Exit2 найдена:
Код
goto metka1

В metka1 пишите что делать, когда нашлась картинка exit.

Вообще, надо весь код через gosub делать. http://uopilot.tati.pro/index.php?title=Gosub 2й пример.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
cskull
сообщение 29.11.2016, 20:33
Сообщение #3


**

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



Цитата(cirus @ 29.11.2016, 14:47) *



Вообще, надо весь код через gosub делать. http://uopilot.tati.pro/index.php?title=Gosub 2й пример.

переписала с gotsub ,но там в середине кода 2 goto , ибо я перенаправляю с середины подпрограммы ...мож как-то иначе надо ?
исходник с gosub


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 %image [9] башня_низ_лево

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

while 1 = 1
gosub poisk_bashni
gosub poisk_exit

end_while

:poisk_bashni

set $a 0
while $a = 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
end_for
if $a = 0
goto poisk_exit
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
end_while

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



:poisk_exit

set $a 0
while $a = 0 // пока картинка не найдена
for #i 1 #size 1 // цикл для поиска картинок
set $a findimage (1154, 36 1359, 242 (C:\Users\Пользователь\Desktop\рисунки для пилота\EXIT2.bmp) %arr 2 90 20 5)
if $a > 0
set #x %arr [1 1] + 7
set #y %arr [1 2] + 6
break
end_if
end_for
if $a = 0
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
goto poisk_bashni //--------------------------------------------
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 10 // подобрать нужное значение
if #x2 < #const and #y2 < #const // проверка что перс у нужной точки
break
end_if
if #x = #x1 and #y = #y1 // проверка дошёл перс до нужных координат или нет
// координаты, скорее всего, не совпадут, лучше сравнивать разницу координат с какой-то константой
break // если дошёл, выход из цикла
end_if
end_if
end_while

wait 6000 // ждать 3 секунды
return


может я ранее невнятно выразила идею...
Задача следующая - если на экране одновременно существуют картинки с патча и картинка EXIT2 , то мне надо заблокировать метку :poisk_exit и сделать так чтоб работала только подпрограмма с меткой :poisk_bashni
Но findimage не умеет как findcolor выполнить нечто подобное if 1142, 121 1380722 and 1129, 225 3291971
Пользователь в офлайне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   set $path "C:\Users\Пользо...   29.11.2016, 2:41
cskull   [spoiler=как-то так][code]set $path "C...   29.11.2016, 13:26
cirus   И зачем что-то менять в 27 строке, вы убираете ну...   29.11.2016, 14:01
cskull   И зачем что-то менять в 27 строке, вы убираете ну...   29.11.2016, 14:29
cskull   В metka1 пишите что делать, когда нашлась картин...   29.11.2016, 18:37
Cockney   Не важно. Там 2, тут 3, а психика уже покалечена...   29.11.2016, 18:53
cskull   а психика уже покалечена. :D   29.11.2016, 19:38
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


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

 

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