UoKit.com Форумы > Кликер > UO Pilot > UO Pilot в онлайн играх
Страницы: 1, 2, 3
фонарик
Подскажите пожалуйста, на сегодняшний день в версии пилота 2.32 есть возможность настроить поиск цвета пикселя в окне (приложении), которое перекрыто, например, блокнотом или просто всернуто на панель задач ?

Либо у меня что-то не получается, либо оно в принципе не работает.

// рабочее окно я указываю при помощи ctrl+a
set $a findcolor (0, 0 450, 250 1 1 7132903 %s 2 workwindow abs)
set #w size (%s)
msg size: #w found: $a
for #i 1 #w
set #x %s [#i 1]
set #y %s [#i 2]
end_for

Если окно развернуто на мониторе поверх всего или виден искомый пиксель из-за других окон которые на переднем плане - то пиксель находится. Если же окно игры перекрыть блокнотом, то все, капут Если в скрипте перед workwindow поставить 1 (там стоит 2), то спасет только закрытие пилота и повторное открытие, ибо кнопка старт пуск вообще перестает реагировать (ощущение складывается, что пилот просто завис). Если там же удалить 2 - то пиксель не найдется ни в каком случае (я как понял, там можно ставить 1, 2, название окна или же рабочее окно которое указано). Если после workwindow поставить 1 (как я понял, это количество пикселей которые найдет пилот и прекратит дальнейший поиск), то он все равно при рабочем варианте ищет все 4 пикселя которые там есть.

Вместо ctrl+a я пробывал указывать окно командами:
set #win FindWindow (CORE)
set WorkWindow #win

и потом вместо workwindow подставлял переменную #win

Но все равно стоит перекрыть область где сидят искомые пиксели - не находится Может я что-то не так делаю ? Или подскажите пожалуйста, как можно еще попробовать?

А еще постоянно вылазиет вот такая ошибка:


жмакаешь ок какое-то время она больше не вылазиет, не смотря на ошибку все работает вродебы дальше также, как и работало.
Вверх
Zeleax
workwindow указывается ВМЕСТО типа поиска

Кстати, зачем обычно использовать abs, если ищете в окне (в оконных координатах)?
Вверх
DarkMaster
Цитата
А еще постоянно вылазиет вот такая ошибка:

Нужно чуть изменить размеры окна. Ждем фиксенной версии.
Вверх
фонарик
Цитата(Zeleax @ 19.12.2012, 15:01)
workwindow указывается ВМЕСТО типа поиска
Если вместо 1 или 2 (типа поиска) указать workwindow, то пиксели не находятся не то чтобы в перекрытом окне, а вообще как таковые на экране активного приложения, лежащего поверх всего. Поиск находит пиксель только при типе поиска 2 и только если данные пиксели видны воочию на мониторе. Почему так?

Цитата(Zeleax @ 19.12.2012, 15:01)
Кстати, зачем обычно использовать abs, если ищете в окне (в оконных координатах)?
Дело в том, что если есть необходимость запустить скрипт в заранее неизвестном окне (т.е указываем в скрипте активное окно - workwindow), то если скрипт построен на не абсолютнызх координатах, то он воспримет относительные координаты как абсолютные.

Например, есть окно размером 800х600, в котором нужно жмакнуть на координаты 400, 300. Разрешение рабочего стола - 1366х768. Данное окно активно.
Код
set WorkWindow
left 400, 300
stop_script

и скрипт жамкнет где-то в левом верхнем уголке окна (т.е по абс. координатам 400, 300)
Поэтому приходится при задании координат указывать абсолютные. Это очень неудобно, т.к менять положение окна нельзя.
Сейчас с появлением функции задания активного окна из под курсора оно работает и на относительных координатах, но опять беда - мышка не всегда находится над окном, в котором нужно похозяйничать скрипту.
Вверх
DarkMaster
Цитата
Поиск находит пиксель только при типе поиска 2 и только если данные пиксели видны воочию на мониторе. Почему так?

https://forum.uokit.com/index.php?s=&am...st&p=181843
Возможно как-то связано. Пока еще тонкости не изучены.

// После вашего появления с вопросом про преобразования double в int при чтении из памяти и страшной кипучей работы мозга, я каждый раз вздрагиваю, когда вижу ваш пост))
Вверх
Dmitriy_Zuev
У меня такая же проблема, но не одно из выше предложных решений мне не помогло
Возможно у вас появилось свежее решение?

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

И самое главное. Хендл указывается ВМЕСТО типа поиска, не следом за ним.
Вверх
Dmitriy_Zuev
спасибо совет полезный, но на сколько я знаю поиск цвета не ищет картинки... Или я ошибаюсь и не понял вашу мысль?
Вверх
DarkMaster
эмм... я про финдимидж говорил. У нас тут эпидемия одного открывшегося бага. Думал опять он.

Вообще этот метод работает не всегда. Зависит от приложения. Окно сворачивать нельзя - только перекрывать. Ну могу предложить попробовать финдимидж, раз уж коснулись его.
Вверх
BSW_rama
ставишь виртуал писи, в ней ставишь вин, запукаешь приложение, пилота, и будет тебе всегда активное окно на первом плане и прочей автономной фихнёй... сворачиваешь машину и занимаешься своими делами, я так несколько браузерных игр играю, точнее они сами играются ... в некоторых уже заблочили за использование бота
Вверх
Invision Power Board © 2001-2024 Invision Power Services, Inc.
Version for Pocket PC © 2006-2024, IPBest Studio.