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

 
Ответить в эту темуОткрыть новую тему
> FindImage не находит изображение
veiron
сообщение 3.3.2013, 19:44
Сообщение #1


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Код
:start
.....привязка окна и координат
set $go1 0 findimage
set $go2 0 findimage
set $go3 0 findimage
set $go1 findimage (79, 41 871, 375 (e:\UO\1.bmp) %g1 2)
  wait 50
set $go2 findimage (79, 41 871, 375 (e:\UO\2.bmp) %g2 2)
  wait 50
set $go3 findimage (79, 41 871, 375 (e:\UO\3.bmp) %g3 2)
  wait 50
if $go1 > 0 or $go2 > 0 or $go3 > 0
   goto dist
end_if
goto start


:dist
.....
.....
goto start


Скажите, что происходит, запускаю скрипт, он работает, изображение раз 5 находит, потом все изображение не найдено. Останавливаю пилот, запускаю заново и он опять их находит. Пробовал и так:
Код
set $go3 findimage (79, 41 871, 375 (e:\UO\3.bmp) %g3 2 50 20 5)

все равно через какое то время изображение не находит. пока не остановишь и не запустишь пилот заново.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kiber
сообщение 6.3.2013, 8:49
Сообщение #2


*

Registred
Сообщений: 6
Регистрация: 28.2.2013
Группа: Пользователи
Наличность: 0
Пользователь №: 15.851



У меня вообще куча ошибок памяти через часок другой с использованием findimage появляется ... (IMG:style_emoticons/default/sad.gif)
А у вас? Не наблюдаются?

Кстати почему-то..
Если сделать проверку по 3 и более картинкам одновременно
Пример


Код
  set $t findimage (21, 21       600, 400  (c:\1.bmp) %crds 2 80 1 10)
      set $g findimage (393, 39         1024, 500      (c:\2.bmp) %crds 2 75 1 10)
      set $f findimage (400, 40        1024, 500    (c:\3.bmp) %crds 2 75 1 10)
      [b]if $t > 0 and $f > 0  and $g > 0 [/b]
           left 500, 300    //
else
left 800, 600


Скрипт постоянно выполняет все что написано под else (IMG:style_emoticons/default/unsure.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 6.3.2013, 8:57
Сообщение #3


*****

Journeyman
Сообщений: 357
Регистрация: 5.11.2011
Группа: Пользователи
Наличность: 0
Пользователь №: 14.217



Какие значения у переменных в начале ифа?
Попробуй поставить msg "переменные" перед ифом


--------------------
В обычном программировании: любое значение может быть преобразовано в тип string
В программировании Pilot: любое значение должно быть типа имейдж.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 7.3.2013, 9:02
Сообщение #4


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



Цитата
У меня вообще куча ошибок памяти через часок другой с использованием findimage появляется ... sad.gif

Финдимидж одновременно не возможен даже в парралельных скриптах. Ну по крайней мере на данный момент. Он выполняется последовательно и пользователь даже не подозревает об ограничениях. Ваши ошибки скорее всего связаны с использованием черного цвета в изображениях (его десятичное значение 0, значение по RGB 0 0 0). Избавьтесь от этого цвета, все должно заработать. Так же есть общая рекомендация делать картинки максимально маленькими. 5*5 пиксилей вполне достаточно.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 7.3.2013, 9:21
Сообщение #5


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 7.3.2013, 9:02) *

Ваши ошибки скорее всего связаны с использованием черного цвета в изображениях (его десятичное значение 0, значение по RGB 0 0 0). Избавьтесь от этого цвета, все должно заработать. Так же есть общая рекомендация делать картинки максимально маленькими. 5*5 пиксилей вполне достаточно.

Я так понял, что, надо сделать изображение 5х5 пикселей, потом проверить его на нулевой цвет и убирать если есть. Или только проверяешь верхний левый угол на 0 цвет ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 7.3.2013, 14:46
Сообщение #6


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



его вообще не должно быть


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 7.3.2013, 15:01
Сообщение #7


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 7.3.2013, 14:46) *

его вообще не должно быть

Интересно, у меня картинка получается 25 пикселей, если к примеру 5 пикселей нулевого цвета будет на ней и я их закрашу красным, найдет Ф.имедж эту картинку или нет??
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 7.3.2013, 15:50
Сообщение #8


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



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


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 7.3.2013, 16:16
Сообщение #9


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 7.3.2013, 15:50) *

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

Я так понял, когда делаешь скрин, ВСЕГДА лучше левый верхний угол закрашивать или можно и не красить?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 7.3.2013, 18:44
Сообщение #10


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Если устраивает цвет фона равный цвету верхнего левого пикселя, то красить не надо


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 7.3.2013, 18:57
Сообщение #11


***********

Модератор UOPilot
Сообщений: 9.467
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27725
Пользователь №: 11.279



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


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 7.3.2013, 19:02
Сообщение #12


******

Expert
Сообщений: 517
Регистрация: 17.6.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.035



Цитата(DarkMaster @ 7.3.2013, 19:57) *

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

Аналогично.
Даже не просто левый верхний пиксел, а сразу пол картинки по диагонали. Тогда точно видно, что сделано что нет...
Хотя признаться, не припомню особо что бы где-то прокалывался с картинками, может 1-2 раза за всё время. Больше шансов с кодом обложаться)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
veiron
сообщение 7.3.2013, 19:31
Сообщение #13


********

Master
Сообщений: 1.264
Регистрация: 22.5.2012
Группа: Пользователи
Наличность: 0
Из: Белоруссии
Пользователь №: 14.972



Цитата(DarkMaster @ 7.3.2013, 18:57) *

можно легко найти в каком ошибка(марекра нет - не проверял).

Как это можно найти легко??? И что такое МАРЕКРА ?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 7.3.2013, 19:38
Сообщение #14


*********

ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010
Группа: Пользователи
Наличность: 0
Из: Киев
Пользователь №: 13.093



Он имеет в виду, если не закрасил верхний пиксел (не промаркировал) - значит картинка не проверена

Сообщение отредактировал Zeleax - 16.3.2013, 10:19


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

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

 

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