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

7 страниц V « < 3 4 5 6 7 >  
Ответить в эту темуОткрыть новую тему
> Сценарий поиска нескольких ресурсов, С интерфейсом
DarkMaster
сообщение 20.6.2012, 20:42
Сообщение #81


***********

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



Цитата
реинстал

Какой нафиг инстал? О.о там просто ехе файл...


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


******

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



Цитата(DarkMaster @ 20.6.2012, 21:42) *

Какой нафиг инстал? О.о там просто ехе файл...

Да это понятно. Для юмора сказал.

Вообщем, вот на этом шаге ругается на интеджер...
set #startX %cashCrdsX[1 #w]

вот что до того момента...
// Сценарий поиска изображений в заданной облас
// Запрос данных от пользовате

set $bmp .bmp
set $path C:\image\item\
set $startX 461
set $startY 390
set $endX 863
set $endY 429
set $item 1
for #c 1 $item
set $itemName кукла
set %cash[#c] $itemName
end_for
set #h $item + 1
set %cashCrdsX[1 #h] $endX

//+++++++++++++++++++++++++++++++++++++
// Поиск изображений ресурсов
for #i 1 $item
set #a findimage ($startX $startY $endX $endY ($path%cash[#i].bmp) %crds 2)
set %cashCrdsX[1 #i] %crds[1 1]
end_for
//+++++++++++++++++++++++++++++++++++
// Поиск цифр в пределах "ячейки" ресурса
for #w 1 $item
set #startX %cashCrdsX[1 #w]
set #end #w + 1
set #endX %cashCrdsX[1 #end]
set #s 1
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 23.6.2012, 22:58
Сообщение #83


***********

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



Ну для начала бы неплохо вывести, что содержится в %cashCrdsX[1 #w] и сделать пробел перед скобкой.
msg %cashCrdsX [1 #w]


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


******

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



там пустое окно выскакивает...

Я вот думаю, может беда в том, что переменная $item имеет значение 1? в итоге ищем от 1 до 1... и тут эпик фейл... не?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 24.6.2012, 1:31
Сообщение #85


***********

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



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


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


******

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



под проверкой подразумевается вывод меседжа?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 24.6.2012, 4:00
Сообщение #87


***********

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



Кстати лучше испоьзовать строковую переменную $a, вместо #a.
set $a findimage ($startX $startY $endX $endY ($path%cash[#i].bmp) %crds 2)
if $a > 0
....
end_if

while $a < 0
set $a findimage ($startX $startY $endX $endY ($path%cash[#i].bmp) %crds 2)
end_while

и т.д.

Перед выполнением операций с результатом поиска вы должны точно знать был ли этот поиск успешным. В противном случае вы так и будете обращаться к не существующим массивам. Когда повезет, а когда и не повезет.

Сообщение отредактировал DarkMaster - 24.6.2012, 4:02


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


******

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



Я извиняюсь. Крыша маленько едет... запутался и попутал все скрипты.
Вообщем, начал все заново. Когда встану опять или получу результат - отпишу.

Спасибо.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 26.6.2012, 17:23
Сообщение #89


******

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



Так.
Во-первых, всем спасибо огромнейшее, и отдельное преспасибо - Завасу за хорошую тему и отдельную помощь не скажу где.

Первый этап работает.
Многое осознал. Думаю, что буду продолжать изучать уопилот полностью.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
esqado
сообщение 26.6.2012, 21:18
Сообщение #90


*****

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



Цитата(xolost @ 26.6.2012, 18:23) *

отдельное преспасибо - Завасу за хорошую тему и отдельную помощь не скажу где.

Ну не при людях же (IMG:style_emoticons/default/biggrin.gif)


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


******

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



Добрый день снова.
И вот интересный косякс вылез) очень интересный)

1) Значит, вот так выглядит число целое в вин7 64 бита:
http://s1.hostingkartinok.com/uploads/imag...d08663076ff.bmp

Вот так выглядит моя нарезка их:
http://s1.hostingkartinok.com/uploads/imag...e5eae81cda9.bmp
http://s1.hostingkartinok.com/uploads/imag...dfa5c1ee3c8.bmp
http://s1.hostingkartinok.com/uploads/imag...14a3a64cfe1.bmp

Если увеличить на макс, то можно увидеть разноцветность, видимо из-за сглаживания или хз чего.. в любом случае, в другом виде увидеть их не удалось.
Тут всё работает и определяет число прекрасно, т.е. 198. Вопросов нету. Уникальные числа. Ок.

А вот теперь далее (IMG:style_emoticons/default/smile.gif)

2) Вот так выглядит число в винХП 32биты:
http://s1.hostingkartinok.com/uploads/imag...56aba371ab0.bmp

Вот так выглядит моя нарезка их:
http://s1.hostingkartinok.com/uploads/imag...aa7e198ca61.bmp
http://s1.hostingkartinok.com/uploads/imag...c9054081926.bmp
http://s1.hostingkartinok.com/uploads/imag...7a1807e7d4b.bmp

И число такое определяет как 1983, т.е. похоже в восьмерке он находит ещё и тройку. Но, точность поиска стоит 100 -1, т.е. 100%... погрешность отсутсвует. Почему же он так находит?

3) Пробовал нарезку чуть поправить, т.е. урезать с каждой стороны черные пикселы и получилось вот так:
http://s1.hostingkartinok.com/uploads/imag...8e7f45a9f8f.bmp
http://s1.hostingkartinok.com/uploads/imag...ab44f82bdf0.bmp
http://s1.hostingkartinok.com/uploads/imag...995b7de92ad.bmp

А число которое он находит при такой нарезке:
http://s1.hostingkartinok.com/uploads/imag...2cade9a0733.bmp

Вот совсем не ясен второй случай. Почему он находит тройку в восьмерке, если точность 100%.
Есть мысли?)

З.Ы. не получается картинки в развернутом виде показать. Хотя на 4 странице получалось...
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 29.6.2012, 12:20
Сообщение #92


***********

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



Цитата
Если увеличить на макс, то можно увидеть разноцветность, видимо из-за сглаживания

Это сглаживание, на ХР оно у вас отключено. На вике про это написано.
Цитата
И число такое определяет как 1983, т.е. похоже в восьмерке он находит ещё и тройку.

Если присмотреться, то вы увидете что 3 является частью восьмерки полностью может быть в нее вписана.
Цитата
Почему он находит тройку в восьмерке, если точность 100%.

Потому что:
1) 3 может быть вписана в 8.
2) Цвет левого верхнего пикселя считается фоном и в сравнении не участвует.
Цитата
А число которое он находит при такой нарезке:

Прям ну очень сильные подозрения, что у семерки у вас иной цвет левого верхнего пикселя и фон сравнивается, а точность финдколора вы при этом чуть понизили. Итог: находиться фон, а не число. Фона много и погрешность становится не существенная.


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


*****

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



Цитата(DarkMaster @ 29.6.2012, 13:20) *

Это сглаживание, на ХР оно у вас отключено. На вике про это написано.

Если не сложно - можно ссылочку на вики, где об этом сказано?


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


***********

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



Если в системе используется сглаживание шрифтов, то возможны не совпадения на других системах при другом или отключённом сглаживании. Тогда рекомендуется снизить точность поиска либо отключить на всех используемых компьютерах сглаживание.
http://uopilot.tati.pro/index.php?title=Findimage


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


*****

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



Для себя решил это отключением сглаживания в win7.
Всё шикарно. Меня устраивает. Глаза не режет.


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


***********

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



Ну смотря какой моник. Я сидя за 42 дюймовой дурой не могу без сглаживания - по глазам бьет.


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


******

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



нет нет нет.
Извините... но.. при чем тут сглаживание?
я прекрасно понимаю что такое сглаживание и как его отключать.
cleantype называется есть и винХП и вин7
но типы сглаживания этих шрифтов там разные. скорее всего более точечно можно настроить(есть там режим настройки). Но вопрос мой был не в этом.

Почему он находит тройку в восьмерке, если точность 100%.
Потому что:
1) 3 может быть вписана в 8.
2) Цвет левого верхнего пикселя считается фоном и в сравнении не участвует.


тогда не понял, почему левую стенку восьмерки(не желтую) он не учитывает и видит тройку в восьмерке тем самым.

Тогда можно пояснить, как избежать такого совпадения при отключенном сглаживании?

А число которое он находит при такой нарезке:
Прям ну очень сильные подозрения, что у семерки у вас иной цвет левого верхнего пикселя и фон сравнивается, а точность финдколора вы при этом чуть понизили. Итог: находиться фон, а не число. Фона много и погрешность становится не существенная.


Всё понял. В этой нарезке дейсвительно именно у семерки левый верхний пиксел является цветом самой семерки, и потому считает фоном по всей видимости.

А по-поводу точности поиска, у меня всегда 100% и отсутствие погрешности. Я просто не имею права на не точность и погрешность. всегда в настройках стоит 100 -1
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 30.6.2012, 16:01
Сообщение #98


*********

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



дайте ссылки на ваши 3 и 8


--------------------
Полезные советы - читать всем! UOWiki
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
xolost
сообщение 30.6.2012, 16:28
Сообщение #99


******

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



Восьмерка:
http://s2.hostingkartinok.com/uploads/imag...948d919a1ab.bmp
тройка:
http://s2.hostingkartinok.com/uploads/imag...67040c6d5be.bmp
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Zeleax
сообщение 30.6.2012, 16:30
Сообщение #100


*********

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



да, надо поменять порядок проверки цифр - проверять в обратном порядке, пожалуй


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

7 страниц V « < 3 4 5 6 7 >
Ответить в эту темуОткрыть новую тему
12 чел. читают эту тему (гостей: 12, скрытых пользователей: 0)
Пользователей: 0

 

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