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

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

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

> Без описания
legro0303
Отправлено: 17 Апреля, 2023 - 21:20:33
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 36
Дата рег-ции: Июль 2020  
Репутация: 0




Здравствуйте. Хотел бы узнать у более опытных людей идеи для написания бота, а именно какие подходы выбирать для решения тех или иных задач.

Вводные данные:
1. Корейская MMORPG, пиратский сервер, защищена от запуска на виртуальной машине, есть защита от эмуляции кликов (Последний пункт вроде как решается AvtoK)
2. В случайное время появляется капча(окно) с набором из 4 цифр, каждый набор - отдельная кнопка, всего кнопок 4, требуется нажать ту кнопку, цифры которой соответствуют описанию в окне, в противном случае система примет вас за бота и игра будет закрыта. Время на нажатие требуемой кнопки - 30 сек.
3. Перемещение в данжах (а именно в комнатах). Игра имеет XYZ координаты, т.е. нужно как то понимать, где лестницы/уступы и прочее, чтобы персонаж в них не застрял. Из того, что может помочь, в игре визуально можно включить XYZ координаты и видеть как они изменяются, ничего умнее считывания координат в реальном времени и нажатию кнопок WASD для перемещения до захардкоженной координаты (читай следующей комнаты) не придумал. Но это получается динамический фон, то есть распознование координат будет сильно усложнено.
4. Проверка инвентаря на заполненность. В инвентаре есть 5 вкладок, по 30 ячеек каждая. Необходимо проверять каждую ячейку (т.к. в игре есть случайные события, т.е. ценный предмет может упасть с любого монстра с редким шансом) и определять какой предмет можно продать, а какой нельзя. Также требуется определять когда инвентарь заполнен, чтобы запускать скрипт перемещения в город и продажи предметов.
5. Фарм монстров. В комнатах есть много монстров, требуется собирать их "в кучки" (а не бить по одному как простые кликеры-болванчики) и использовать способности, наносящие массовый урон.

Резюмирую, под каждую из 5 пунктов не придумал каких-то нормальных подходов и не выявил оптимальных инструментов в киборе для работы с подобными задачами. Подскажите, что лучше использовать для решения вышеуказанных задач, какие способы решения применять, в какую сторону "глядеть"
 
 Top
Zireael
Отправлено: 17 Апреля, 2023 - 21:50:26
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4398
Дата рег-ции: Нояб. 2017  
Репутация: 580




1. Использовать ps/2 мышь/клаву, либо ардуино.
2. Если цифры не сильно отличаются и не накладываются друг на друга, то функций readtext распознать их и нажать. Если это сложная капча, то использовать сервисы для распознавания.
3. Таким не занимался, так что не знаю.
4. Обычно решается через findimage, ищется картинка пустой ячейки, если картинка не найдена, значит ячейка заполнена.
5. Сложно что-то сказать не зная как это выглядит. В любом случае это не простая задача.
 
 Top
legro0303
Отправлено: 17 Апреля, 2023 - 22:21:09
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 36
Дата рег-ции: Июль 2020  
Репутация: 0




 Zireael пишет:
1. Использовать ps/2 мышь/клаву, либо ардуино.
2. Если цифры не сильно отличаются и не накладываются друг на друга, то функций readtext распознать их и нажать. Если это сложная капча, то использовать сервисы для распознавания.
3. Таким не занимался, так что не знаю.
4. Обычно решается через findimage, ищется картинка пустой ячейки, если картинка не найдена, значит ячейка заполнена.
5. Сложно что-то сказать не зная как это выглядит. В любом случае это не простая задача.


По 2 пункту, проблема в том, что неизвестно, когда капча может возникнуть, как сделать так, чтобы экран мониторился каждые n-секунд на её наличие ?
 
 Top
Ilya001
Отправлено: 17 Апреля, 2023 - 22:39:02
Post Id



Пользователь
Эксперт


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




 legro0303 пишет:
 Zireael пишет:
1. Использовать ps/2 мышь/клаву, либо ардуино.
2. Если цифры не сильно отличаются и не накладываются друг на друга, то функций readtext распознать их и нажать. Если это сложная капча, то использовать сервисы для распознавания.
3. Таким не занимался, так что не знаю.
4. Обычно решается через findimage, ищется картинка пустой ячейки, если картинка не найдена, значит ячейка заполнена.
5. Сложно что-то сказать не зная как это выглядит. В любом случае это не простая задача.


По 2 пункту, проблема в том, что неизвестно, когда капча может возникнуть, как сделать так, чтобы экран мониторился каждые n-секунд на её наличие ?

Использовать таймер https://kibor-bot.com/forum/topic.php?forum=1&topic=57, для поиска капчи использовать findimage.

Про 3 и 5 пункт, нужно лазить по памяти игры, если получится то можно оттуда вытянуть координаты игрока и не только, но для этого нужно иметь опыт и знания. Данный метод сложный.

(Отредактировано автором: 17 Апреля, 2023 - 22:42:24)

 
 Top
legro0303
Отправлено: 18 Апреля, 2023 - 11:13:38
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 36
Дата рег-ции: Июль 2020  
Репутация: 0




 Ilya001 пишет:
 legro0303 пишет:
 Zireael пишет:
1. Использовать ps/2 мышь/клаву, либо ардуино.
2. Если цифры не сильно отличаются и не накладываются друг на друга, то функций readtext распознать их и нажать. Если это сложная капча, то использовать сервисы для распознавания.
3. Таким не занимался, так что не знаю.
4. Обычно решается через findimage, ищется картинка пустой ячейки, если картинка не найдена, значит ячейка заполнена.
5. Сложно что-то сказать не зная как это выглядит. В любом случае это не простая задача.


По 2 пункту, проблема в том, что неизвестно, когда капча может возникнуть, как сделать так, чтобы экран мониторился каждые n-секунд на её наличие ?

Использовать таймер https://kibor-bot.com/forum/topic.php?forum=1&topic=57, для поиска капчи использовать findimage.

Про 3 и 5 пункт, нужно лазить по памяти игры, если получится то можно оттуда вытянуть координаты игрока и не только, но для этого нужно иметь опыт и знания. Данный метод сложный.


Координаты игрока есть в самом игровом интерфейсе, тут больше вопрос к тому, как реализовать перемещение. Допустим я знаю, что персонаж сейчас в X=1, Y=1, Z=1, и нужно бежать прямо до X=100, а потом направо до Y = 50. В голову приходить только простой скрипт который зажимает нужную клавишу пока координата не изменится, но координату нужно будет считывать+сравнивать буквально каждую секунду, что мне кажется не самым оптимальным вариантом, наверняка есть что то умнее чем реализация в лоб.
 
 Top
Dantes3000
Отправлено: 18 Апреля, 2023 - 12:06:36
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1468
Дата рег-ции: Июнь 2016  
Репутация: 58




legro0303 , Нет лучше реализации, чем действовать как человек. Закройте экран чем-то и, ориентируясь по координатам, попробуйте прийти в нужную точку.
В этом плане гораздо сложнее будет нормально распознавать координаты, чем сделать передвижения
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Вопросы и решение проблем »


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




Powered by