Re: [Процессы] World of Tanks - работа с памятью клиента
Во первых, в WOT есть API, разработанный специально для модописцев. Он выдает массу информации о текущем состоянии игры. Советую ознакомиться с информацией на сайте разработчика и для начала попробовать сваять простенький мод. Во вторых, там всего несколько карт примерно одного размера. Можно прицепиться к миникарте. Название локации и тип боя всегда выводится перед началом боя, так что если к АПИ не прицепился, можешь получить данные, просканировав шапку заставки, заодно и танки своих и противника. Далее - начало самой игры. Движение по карте есть движение по миникарте - на ней отображается все, что тебе нужно, недостающие элементы, например потухший засвет, можешь дописать сам. Геодата по сути есть вторая миникарта, представляющая собой массив координат трассы и неподвижных объектов, например неразрушаемые дома, горы и т.д. Можно сделать и трехмерную матрицу, но, имхо, это уже жоподерство. Хватит двух измерений. Далее, при движении текущие координаты получаем с миникарты, а движемся по той, что подготовлена заранее. Ну в качестве примера по существу вопроса могу предложить простейший вариант - делаешь скрин миникарты, в фотошопе красишь участки, по которым возможно движение, затем пишешь функцию, которая прочитает твой файлик и запишет его в массив, состоящий из единиц и нулей к примеру. Вот тебе и геодата. Решил добавить дом, который ломается - покрасил его зеленым, а в массив воткнул 2, решил добавить проходимое болото - покрасил болото синим и в массив воткнул 3. То есть уже четыре значения: 0 - невозможно ехать, 1- трасса, можно ехать, 2 - дом, 3 - болото и так далее.
Почитай про геодату. Лично для меня здесь представляет интерес лишь логика выбора движения. Обычно боты для этой игры есть олени, которые несутся либо на базу противника, либо на первый засвет.
Ну и в заключение хочу сказать про защиту. Я детально с той игрой не разбирался, но у них стоит программа, которая анализирует действия игроков и выдает бан чисто исходя из анализа поведения. Поэтому твой танк должен гонять и стрелять как настоящий. Это раз. Во вторых, в Автоите, насколько я знаю, управление клавой и мышкой программное и легко отслеживается, если в клиент встроена соответствующая функция, то есть желательно управлять этими устройствами минимум на уровне драйвера, а не через WinAPI. Ну а уж ковыряние памяти не есть гуд, думаю проект, где некоторые аккаунты продают по цене более 100 тыс. российских рублей, имеет серьезную защиту.