sebun
Знающий
- Сообщения
- 81
- Репутация
- 5
В игре Drakensang-Online реализована почти трехмерная графика. На локации множество подвижных элементов, динамично меняющих свое положение, например огонь или бегущий моб. В написании бота для этой игры дошел до того момента, когда нужно определить объекты на карте, определить положение мобов, дроп, динамичные элементы, не имеющие отношения к игровому процессу (вода, свет, огонь). У каждого значимого элемента в игре есть особенность - при наведении на него курсора мыши он подсвечивается разными цветами, например портал - белым, враг - красным, дроп - желтозеленым. Сканирование карты попиксельно с помощью PixelSearch практически не работает из за высокой динамики, цвета быстро меняются, а задавая погрешность в параметрах функции бот находит не то, что нужно. Пробовал блоками - разделил экран на регионы и пробовал получать контрольную сумму каждого региона через PixelChecksum. Запускал два цикла. Первый сохранял контрольные суммы регионов в массив, второй повторно читал регионы и сравнивал со значениями в массиве. Не то. Даже когда карта стоит на месте, множество ложных срабатываний, к тому же сканирование занимает до нескольких секунд, за это время локация может сильно измениться. Курил форум несколько дней, просматривал темы по другим играм, смотрел про возможность сканирования памяти клиента, но пока решения не нашел, так как хочется, что бы бот работал независимо от клиента, управляя лишь клавиатурой и мышью, его не должны отловить и заблокировать персонажа, так как во многие персонажи влиты большие реальные деньги.
Прошу помощи у AutoIT-сообщества в решении вопроса по быстрому распознаванию объектов в локации, не затрагивая при этом сам клиент игры. Буду благодарен ссылкам и просто предложениям по реализации этого вопроса.
Прошу помощи у AutoIT-сообщества в решении вопроса по быстрому распознаванию объектов в локации, не затрагивая при этом сам клиент игры. Буду благодарен ссылкам и просто предложениям по реализации этого вопроса.