Что нового

[Мышь, клавиатура] + [Автоматизация] Движение по координатам с помощью HotKey

Lepat87

Новичок
Сообщения
12
Репутация
0
Доброго времени суток уважаемые форумчане!
Подскажите, как сделать движение по определенным координатам с помощью горячих клавиш.
К примеру: я стою где нибудь в городе и мне нужно найти НПЦ который не отмечен на карте, в списке автопоиска и в квестах. Да бывают и такие :smile:
Хочу сделать скрипт, что бы можно было добраться до НПЦ нажатием на клавишу, при этом я знаю его координаты.

У меня даже пока мыслей нет, на что мне смотреть - помогите ссылками на справку или примеры.

Я еще чайник в этом, поэтому прошу помощи :smile:
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
http://autoit-script.ru/index.php/topic,4375.0.html
 
Автор
L

Lepat87

Новичок
Сообщения
12
Репутация
0
Да я читал эту тему, интересная. Но мне кажется не совсем то, что мне нужно…
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Та тема - именно то что нужно)
Тебе предстоит перегнать карту в своего бота и ты сможешь ходить на любые координаты, хоть по горячим клавишам, хоть по отдельной менюшке.

Однако!
Если ты решаешь задачу забиндить на кнопку определённый конкретный маршрут (который всегда будет начинаться и заканчиваться на заранее известных координатах), то, конечно, можно обойтись и более простым решением. Хотя даже при движении по фиксированному маршруту возможны разные ситуации, в результате которых ты собьешься с маршрута или застрянешь. Так что полный алгоритм перемещения всё же предпочтительнее.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
C2H5OH сказал(а):
Так что полный алгоритм перемещения всё же предпочтительнее.
Не соглашусь, алгоритму перемещения не обязательно сразу искать полный путь из пункта A в пункт B. Зачастую, по укрупненным показателям достаточно разбить геодату на укрупненные ячейки а следовательно пункт из A=>B конвертировать в путь A=>Z=>X=>C=>V=>B=>...=>N=>Aи считать путь между каждыми пунктами отдельно, например поле 100х100 разбить на поле 10х10. По этим 10х10 рассчитать оптимальный путь, а далее считать самый оптимальный путь от одной ячейки к другой. Ибо волновой алгоритм в чистом своём виде, заставит пыхнуть любой язык программирования на даже 1000х1000 поле. Разбиение на укрупненные ячейки позволит кардинально оптимизировать скорость расчета пути.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Belfigor,

Полный алгоритм перемещения не означает что весь путь должен рассчитываться именно волновым методом. Это означает что реализуемый алгоритм должен быть способным рассчитать путь из любой точки в любую точку. Выбор самого метода расчета пути - это отдельная тема для разговора.
Термин полный алгоритм перемещения используется мной в данном контексте как альтернатива реализации постоянного маршрута. Почему. Потому что в практической реализации оказалось что случаи сбоев при движении по маршруту не такие уж и редкие - бот по дороге неудачно ввязался в бой, бот попытался сделать шаг по маршруту до того как в игре персонаж готов сделать этот шаг, неожиданно произошли изменения в игре и карта изменилась,...
Поэтому уже в реализации я беру перемещение в цикл
Код:
пока не пришли на конечную точку
   перейти с текущих координат на конечные координаты

Конечно, при большой карте необходимо думать об оптимизации. Но я на поле условно говоря 100х100 не испытывал проблем со скоростью вычислений.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
C2H5OH сказал(а):
Конечно, при большой карте необходимо думать об оптимизации. Но я на поле условно говоря 100х100 не испытывал проблем со скоростью вычислений.
Просто есть больные разработчики, которые берут таАакой масштаб, что пол мизинца персонажа - это уже целая единица координат, я сдвинувшись на миллиметр, положение уже изменяется на целые десятки единиц.
 
Верх