|
|
|
Хендл окна! Баг!?, |
|
|
Санчес |
10.1.2013, 23:33
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Думаю логично было бы сделать так чтобы гетвиндоу брал нулевые координаты из указанного места...конечно можно и по абс,раз гетвиндоу берет их из левого верхнего угла(наверное).Но может можно придумать строку типа - set #w getwindow x y (0) set #w getwindow x y (0) abs Цитата Я думал, что можно перекрыть полностью и что бы там тихонечко себе кликало, я именно так и сделал,перекрыл Хром Мозиллой,все работает,и находит и лефтает,но это фКолор,думаю фИмидж тоже должен также. оба брауза развернуты на весь экран если в скриптах нет перехвата мыши(move например) то можно делать почти все что хочешь,только не тыкать мышкой чаще чем каждые 10-100 мс (IMG: style_emoticons/default/smile.gif) я так понимаю что фИмидж это "усиленный" фКолор. просто фКолор ищет одну точку и сравнивает с заданной,а фИмидж ищет 100 точек(картинка 10*10пикс),и так же сравниваетс заданой,и даже может быть сверяет координаты каждой точки,а не только цвет.На досуге проверю так ли это.
|
|
|
|
Санчес |
10.1.2013, 23:47
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Цитата просто фКолор ищет одну точку и сравнивает с заданной,а фИмидж ищет 100 точек поэтому я в большинстве случаев,когда достаточно проверить одну точку,пользуюсь фКолором,он гораздо быстрее имиджа потому как меньше напрягается,имидж же при 6 картинках(40*40пикс) поиска через "or" уже подтормаживает,а их количество уже выросло до 15,и будет расти,поэтому обрезал их до 20*20,но боюсь после 30ти штук опять начнет тормозить,придется резать 10*10...потом 5*5 и теде (IMG: style_emoticons/default/smile.gif)(IMG: style_emoticons/default/smile.gif) Цитата проверить одну точку,пользуюсь фКолором и поэтому на "Небесах" скриптик в 200 строк за 25 сек успевает перебрать все поле и все пять цветов,пропускает ход иногда из за не вовремя выскакивающих стрелочек-подсказок над камнями. Цитата успевает перебрать все поле и все пять цветов ну конечно если нет комбинаций и нет маны на квадрат или крест,идет от красных камней к анкхам по очереди. Цитата Находит картинку рандомно: 10 раз увидел 1 нет нехорошо,учту,как только займусь таким скриптиком - проверю любопытно почему...На каких задержках в среднем работают твои скрипты? Тип поиска пробовал и 1 и 2 ?
|
|
|
|
Санчес |
11.1.2013, 0:40
|
Apprentice
Сообщений: 131
Регистрация: 18.12.2012 Группа: Пользователи Наличность: 0
Пользователь №: 15.578
Возраст: 31
|
Цитата как раз наоборот, в НЕ перекрытых он находит я не говорю находит ли,я говорю ИЩЕТ (IMG: style_emoticons/default/smile.gif).В обычном фмидже указывается тип поиска медленный или быстрый,а в перекрытых вместо него указывается хендл,значит тип поиска по умолчанию - медленный. Цитата а,ну да,в перекрытых он ищет видимо по умолчанию медленно но верно.. а это я написал не потому что хотел указать на то что не находит потому что быстрый,это нужно выяснять,а просто чтобы уточнить алгоритм.
|
|
|
|
WKnight |
11.1.2013, 11:11
|
Разработчик UO Pilot'а
Сообщений: 1.639
Регистрация: 9.1.2006 Группа: Пользователи Наличность: 0
Пользователь №: 4.688
|
Цитата дошло...иф не будет работать даже с привязкой...жаль. Для него сделана функция color(). Цитата set $w getwindow (0) Цитата: "функция 'getwindow', вызванная без параметров (но со скобками), или с 'handle'=0 вернет хэндл активного окна" (не верхнего, и не рабочего стола. - прим. переводчика) Цитата Код set #w findwindow (Игра - Opera) set #w GetWindow (#w CHILD) set #w GetWindow (#w CHILD) set workwindow #w а вот так уже не работает, что у меня не правильно. Может неправильный путь, и у первого чилда просто нет потомков. Цитата В обычном фмидже указывается тип поиска медленный или быстрый,а в перекрытых вместо него указывается хендл,значит тип поиска по умолчанию - медленный. Неверное предположение. Там быстрый тип поиска, но слегка замедлен за счет перекрытости клиента. Поищите первым типом че-нить на всем экране...
|
|
|
|
veiron |
11.1.2013, 11:57
|
Master
Сообщений: 1.264
Регистрация: 22.5.2012 Группа: Пользователи Наличность: 0 Из: Белоруссии
Пользователь №: 14.972
|
Код set $a 0 while ( $a = 0 ) set workwindow #handleWin wait 100 set $a findcolor (108, 431 108, 431 1 1 1315436 %s workwindow ) if $a > 0 left 108, 431 end_if wait 1s end_while
Подскажите, что не так в этом коде. Включаю пилот, запускается цикл, 1 раз пилот цвет находит, потом может 5 раз пропустить, а 6 найти. Если включат и выключать пилот, находит каждый раз, без пропусков. Еще если заменить wait 1s на wait 8s, тоже находит каждую. Код set $a 0 while ( $a = 0 ) set workwindow #handleWin wait 100 get color #color 108, 431 set $a findcolor (108, 431 108, 431 1 1 1315436 %s workwindow ) if $a > 0 left 108, 431 end_if wait 1s end_while
В этом коде все тоже самое, только перед фколором добавил get color и все работает, цвет точки в цикле while находит каждый раз. Почему так происходит, ведь я #color ни куда не вставляю, зничит по идее и гетколор не работает.
|
|
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|