Скачал архив с форума, запустил бота из архива, задал мобов, нажал кнопочку Старт и бот успешно убил ещё штук 7 росянок... Интересно, у кого-то кроме меня самого, то что я сотворил, вообще заработало? ) Может мне снится? )
Вообще я мало разбираюсь в инжектах, но тут на форуме как минимум ещё у 2 человек инжекты из автоита работали.
Я не писал, а модифицировал. ) Проверил на своём ноуте бота - тоже работает. Система везде XP SP3, но сборки разные. Могу на Висте ещё проверить попозже... Мне интересно, а какие ещё программы на автоите с инжектами ты пытался запускать?
смени
MOV_EDI(Dec($TID))
PUSH_EDI()
на
PUSH(Dec($TID))
еще может быть причина вылета
mhs тупо пытается выделить моба по ид независимо от того есть он на месте или нет и если моб в таргете значит присутствует и можно его килл
сначала надо проверить наличие моба а потом уж таргет делать
Novohyd
Да, это понятно. Мой собственный бот проверяет наличие моба. А в MHS это вставить довольно трудоёмко будет. Я просто хотел сделать рабочий на новой версии MHS. ) Но пока он работает только у меня. Кстати ты же вроде сделал рабочий инжект на автоите, да? Он тоже только у тебя работает?
По карте. Если кто хочет ту картинку целиком сразу грузить - лучше забудьте про эту великолепную идею.
Я тут посчитал. Её размеры в jpg - около 10 Мб. Но в памяти же она развернётся в обычный BitMap, давайте прикинем размер его.
Разрешение картинки: 8192х9215 - итого 75 489 280 пикселей. На каждый пиксель 3 байта, а скорее всего 4 из-за выравнивания. Итого 300 Мб памяти на то чтобы загрузить данную картинку в память.
Можно конечно её сильно уменьшить, но тогда расположение бота можно угадать лишь ОЧЕНЬ приблизительно.
На мой взгляд - лучше уж грузить частями карту, так же как это реализованно в самом клиенте. Там одновременно максимум 4 куска может быть.
Novohyd
Да, это понятно. Мой собственный бот проверяет наличие моба. А в MHS это вставить довольно трудоёмко будет. Я просто хотел сделать рабочий на новой версии MHS. ) Но пока он работает только у меня. Кстати ты же вроде сделал рабочий инжект на автоите, да? Он тоже только у тебя работает?
Инжект тот-же. только вместо записи ид в регистр и push регистр у меня сразу push ид
вот функция выбирающая первого по порядку присутствующего моба из MHS-ного конфиг-файла. выдергивал целиком так что может малость подправить придется
возвращает i найденного моба.
Novohyd
Попробовал заменить, как ты сказал и дать человеку, у которого бот не работал и он всё равно не заработал. Может это связано с разными версиями каких-то библиотек?
Alexhomp
совсем забыл добавить: попытки поиска адреса и смещений для получения текстового значения названия текущей локации, ни к чему не приведут, т.к. данная строка носит чисто информативных характер, и формируется при прорисовки интерфейса. Можно, конечно же, дальше влезть в код и найти процедуру, отвечающую за это, но, есть ли смысл?
Спасибо что навёл на нужную дорогу. Буду учить asm)))
Хотя можно еще попробовать поискать ID территории. Надеюсь получится)))