Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (1): [1]   

> Описание: Поиск динамичных изображений.
Kibor
Отправлено: 05 Апреля, 2013 - 18:07:13
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




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

С помощью этих функций написан бот для RF Online. Посмотреть видео работы этого бота: Смотреть. Так же можно скачать скрипт бота:Скачать. Он имеет небольшой размер и подробные комментарии.

Описание новых функций:

finddynamic - анализирует экран или окно с игрой и возвращает масив координат анимированных моделей мобов и т.д. Принимаемые параметры позволяют очень просто описать примерные размеры и форму ожидаемых объектов. Отлично подходит для поиска 3Д моделей в игре и фильтрует их от неинтересующего мусора, такого как пейзаж, трава, лут и т.д. Возвращает экранные координаты искомых объектов в масиве.

На этом скрине показано как эта функция видит анимированных мобов в игре:


Применение finddynamic:

finddynamic принимает 12 параметров.

finddynamic(21, #x[0], #y[0], ширина_искомого_места, высота_искомого_места, объем_искомого_объекта_X, объем_искомого_объекта_Y, Старт_поиск_X, Старт_поиск_Y, Финиш_поиск_X, Финиш_поиск_Y, указатель_на_окно);
Обозначение:
1.) Если -1 - искать все объекты сколько есть, если больше 0 - искать указанное количество и завершать поиск. Про 0 читайте дальше..
2.) 3.) Указатели на одномерные int масивы, в которые записываются координаты центров искомых мест.
4.) 5.) Половинные размеры искомых мест в объектах. Все пикселя должны быть определены как динамичноменяющиеся. См. рис. 2
6.) 7.) Половинные размеры объемов по X Y, в которых при нахождение искомого места не будет производиться дополнительный поиск. См. рис. 2
8.) 9.) Левый верхний угол старта поиска в клиентских координатах окна.
10.) 11.) Правый нижний угол финиша поиска в клиентских координатах окна.
12.) Указатель на окно.

Рис. 2:


Для идентификации объекта все пикселя входящие в перекресток ширины и высоты искомого объекта должны быть динамичными без пропусков. На скрине они имеют красную подсветку.
Центр перекрестия является координатами объекта. Он так же центр объема, в котором больше не будет искаться никакой объект. То есть даже при наличие не одного такого перекрестия данный объект будет иметь только одни координаты.
Для наглядного подбора размеров следует установить в игре желаемую позицию персонажа и камеры, навести мышь на окно с игрой, нажать CTRL+SHIFT+S и воспользоваться встроенным графическим редактором.
Функция возвращает количество найденых объектов. В случае ошибки -1 - масив X меньше количества найденых объектов, -2 - масив Y меньше количества найденых объектов.

Пример кода применяющего эту функцию: применение finddynamic

Использование finddynamic:
Использовать за 2 прохода. Первый вызов с первым параметром 0:
finddynamic(0, #x[0], #y[0], 0, 0, 0, 0, Старт_поиск_X, Старт_поиск_Y, Финиш_поиск_X, Финиш_поиск_Y, указатель_на_окно);//Сохраняем изображение экрана
sleep(пауза);// пауза для обновления анимированного изображения в игре.
finddynamic(21, #x[0], #y[0], ширина_искомого_места, высота_искомого_места, объем_искомого_объекта_X, объем_искомого_объекта_Y, Старт_поиск_X, Старт_поиск_Y, Финиш_поиск_X, Финиш_поиск_Y, указатель_на_окно);//сравниваем с сохраненным изображением и ищем изменившиеся объекты, записывая их координаты.

 
 Top
Serful
Отправлено: 08 Апреля, 2013 - 13:30:26
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 1
Дата рег-ции: Апр. 2013  
Репутация: 0




Где скачатьКибор?

(Отредактировано автором: 08 Апреля, 2013 - 13:41:30)

 
 Top
Kibor
Отправлено: 08 Апреля, 2013 - 19:25:47
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Serful пишет:
Где скачать Кибор?

На домашней странице
Скачать Кибор


Функции для определения типа курсора
getcursor - возвращает тип курсора в выбранном окне или игре в настоящий момент. В зависимости от типа курсора можно делать выводы о объекте под мышкой.
Перед использованием этой функции надо присоединить поток игры к Кибор с помощью функции attach. Узнать тип курсора можно нажав на CTRL+SHIFT+S в момент интересующего курсора в игре. При каждом запуске игры индификатор меняется.

Применение:
getcursor();// Возвращает индификатор текущего курсора в потоке игры присоединенном функцией attach. использовать для долгого использования.
getcursor(W);// Возвращает индификатор текущего курсора в потоке на окно которого указывает W. При каждом таком вызове функции окно присоединяется и отсоеденяется.
Использовать для единичного использования.

Применение attach:
attach(W, 1) - Присоединить поток.
attach(W, 0) - Отсоединить поток.
Возвращает 1 при удаче

По окончанию работы с потоком его надо обязательно отсоединять.

CODE:
int y=65567;//идентификатор руки. узнать в шпионе кибор. меняется всегда после запуска.
win w=window (-1, "MozillaWindowClass", -1);
attach(w, 1);
loop()
{
if (getcursor()==y)messagebox ("рука..");
sleep(10);
}
 
 Top
Budni
Отправлено: 04 Февраля, 2019 - 22:52:43
Post Id



Пользователь
Специалист


Покинул форум
Сообщений всего: 419
Дата рег-ции: Март 2018  
Репутация: 2




При поиске по динамике возник вопрос, как правильно выделять объекты. Просто получается, что динамика выделяет все анимированные объекты. Фильтрация и разброс не помогает. Не одного видео как правильно искать по динамике не нашел.
 
 Top
Paskuda
Отправлено: 16 Мая, 2023 - 18:48:45
Post Id



Пользователь
Участник


Покинул форум
Сообщений всего: 61
Дата рег-ции: Янв. 2021  
Репутация: 0




Добрый день, игра отображается только в режиме черный экран, в шпионе ИД курсора каждый раз меняется если менялся его вид, даже при возврате на предыдущий. Как в таком случае выловить курсор?
 
 Top
winlby97
Отправлено: 19 Ноября, 2024 - 22:24:17
Post Id



Пользователь
Прохожий


Покинул форум
Сообщений всего: 6
Дата рег-ции: Апр. 2023  
Репутация: 0




Всем привет! Спустя полтора года присоединяюсь к вопросу коллеги о смене id курсора каждый раз. Подскажите, как кто решал это ?

(Отредактировано автором: 19 Ноября, 2024 - 22:24:48)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by