|
внезапное появление обьекта, действие над ним с помощью findcolor, finimage |
|
|
Anwalt |
6.11.2012, 1:28
|
Novice
Сообщений: 53
Регистрация: 2.8.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.161
Возраст: 31
|
Ребят, столкнулся с проблемкой, не могу привязаться к окну... Ситуация такая... 2 окна с одинаковым названием, программкой ВиндСканер нахожу хэндл, вписываю в скрипт но ни каких действий не происходит. Если пишу просто название окна работает, но как быть с 2 окном? Код set #handleWin findwindow (00090562) set workwindow #handleWin send f6
в другой флэш игре привязка ни по названию, ни по хэндлу не работает. Поправьте пожалуйста, что не так делаю? Скрин с Винд Сканера http://floomby.ru/s1/sPvK8
|
|
|
|
Anwalt |
6.11.2012, 1:53
|
Novice
Сообщений: 53
Регистрация: 2.8.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.161
Возраст: 31
|
назрел вопрос...
Есть обьект, есть фон, я так понял findimage ищет 100 % копию из скрина в реалити.
Допустим, есть моб, у моба есть тень, я вырезаю только контуры моба без тени, соответственно, если идет поиск картинки пилотом, то по логике он не считывает эту картинку в реалити как 100 % совпадение, так как отсутствует тень.
Или это работает как то иначе? Хочу понять логику команды и обязательно ли включать в обьект его какие то мелкие детали?
|
|
|
|
Anwalt |
6.11.2012, 2:26
|
Novice
Сообщений: 53
Регистрация: 2.8.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.161
Возраст: 31
|
Цитата(DarkMaster @ 5.11.2012, 23:59) Цвет левого верхнего пикселя считается фоном и при поиске будет исключен из результатов. Еще раз. Исключается ЦВЕТ левого верхнего пикселя, а не только верхний левый пиксель.
это значит, если у нас к примеру 2 цвета, белый - фон и черный - обьект, я определяю границы, нажимаю сверху слева по черному пикселю. в дальнейшем черный цвет не определяется? Ищется только белый? Судя по всему такая же логика и на поиск картинки (findimage)? Только пилот видит не картинку, а цвет или все таки видит картинку? Просто интересует логика, как он ищет, что бы знать, какие детали можно вырезать, а какие лучше оставить, для точного поиска. К примеру есть моб http://floomby.ru/s1/yPvvg под ним тень, стоит ее оставить или вырезать, для качественного поиска?
|
|
|
|
Anwalt |
6.11.2012, 2:48
|
Novice
Сообщений: 53
Регистрация: 2.8.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.161
Возраст: 31
|
Цитата(DarkMaster @ 5.11.2012, 23:57) Можно в настройках посмотреть. При отображении дерева точно можно сделать десятичные хендлы. Либо пилотовские функции использовать hex2dec / dec2hex.
поменял в настройках на десятичную, не привязывается, клиент пишет при наводке на воспроизвести, что бы попробывал пренудительно. В данном случае принудительная подайдет? set $a findcolor (286, 57 294, 67 1 1 15597102 %arr workwind) у меня на этой строке пилот виснет, думал в привязке проблема в привязке. так как указания на ворквинд в скрипте нет
|
|
|
|
Anwalt |
6.11.2012, 3:25
|
Novice
Сообщений: 53
Регистрация: 2.8.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.161
Возраст: 31
|
Помогите разобрать задумку. Цель... Появляется внезапно обьект, его нужно увидеть и сделать над ним действие. Код set $a Findimage (11,20 723,582 (D:\Games\Скрины\моб.bmp) %arr 2) if $a > 0 left %arr [1 1], %arr [1 2] // в найденых координатах wait 3s end_if
Впринципе тем на такую тематику много, читал вики, но у меня в ходе процесса возникают проблемки и вопросы, которые затрагивают другие темы. Проблемки... Привязка к окну, создание скрина, и сам процесс воплащения задумки. По данному скрипту не получается воплотить идею в реальность, пилот не находит обьект, так как нажимает в другие места или же зацикливается на 1 двух строчках. Где то ошибка. С помощью findcolor идея частично воплотилась, но из за большого колличества вариаций с цветами, не достиг желаемого результата.
|
|
|
|
Anwalt |
6.11.2012, 4:08
|
Novice
Сообщений: 53
Регистрация: 2.8.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.161
Возраст: 31
|
решил проверить находит ли обьект... запустил этот скрипт... Код
set $a 0 while $a < 1 set $a Findimage (87,167 769,422 (D:\Games\Скрины\моб.bmp) %arr 2)// на этой строке думает сек 30 if $a > 0 set #X %arr[#1 1] set #Y %arr[#1 2] left end_while end_if if $a < 1 send f6 end_if
картинку не находит, не смотря на то что перс стоит перед обьектом, так как нажимается f6 и пилот бывает зависает, приходится заново запускать. прикрепляю скрин моба http://floomby.ru/s1/cPvFh
|
|
|
|
Anwalt |
6.11.2012, 4:45
|
Novice
Сообщений: 53
Регистрация: 2.8.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.161
Возраст: 31
|
Цитата(DarkMaster @ 6.11.2012, 2:20) всю траву долой. ничего фатального, если заденете моба. Обычно более чем достаточно участка 10*10 пикселей.
кстати небольшие изображения находятся ЗНАЧИТЕЛЬНО быстрее.
переделал скрин на быструю руку http://floomby.ru/s1/KPvqY но ни чего не меняет, как на первом скрине, так и на 2, нажимает ф6 скрин сделан http://floomby.ru/s1/tPvqCпуть к срину в строках поменял, поробывал просто сделать клик в пилоте, все работает, проблемка в скрине думаю
|
|
|
|
Anwalt |
6.11.2012, 7:18
|
Novice
Сообщений: 53
Регистрация: 2.8.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.161
Возраст: 31
|
путем долгих эксперементов и мучений, добился реакции, т.е. Код set $a Findimage (11,20 723,582 (D:\Games\Скрины\моб.bmp) %arr 2) if $a > 0 left %arr [1 1], %arr [1 2] wait 3s end_if
перепроверил каждое действие, но эффект был на замене лефта на зенд, реакция пошла, зашевилился... перепроверьте пожалуйста в даном скрипте лефт с координатами, идет клик именно в то место где найден обьект?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|