Обходить мобов, людей; уклоняться от нескольких целелей?
Модератор: 4epT
- piroJOKE
- Модератор
- Сообщения: 8205
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
Обходить мобов, людей; уклоняться от нескольких целелей?
Задача проста: мы идем рандом-валком, и на пути у нас Греатест Генерал.
Его нужно обойти. Каг?
ЗЫ: Древний Messy Kore XP это умел (по крайней мере, людей он обходил, и области каста скиллов на пвп-картах тоже).
Его нужно обойти. Каг?
ЗЫ: Древний Messy Kore XP это умел (по крайней мере, людей он обходил, и области каста скиллов на пвп-картах тоже).
Последний раз редактировалось piroJOKE Сб сен 08, 2007 12:13 am, всего редактировалось 1 раз.
- 4epT
- macro-маньячина
- Сообщения: 2792
- Зарегистрирован: Чт дек 21, 2006 1:23 pm
- Сервер RO:: 4game
- Discord: ya4ept#8494
- Контактная информация:
хз чё каг, зато могу Messy Kore XP выложить
ЗЫ: я ей не пользовалсО, но вкрадываются сомнения, что не целиковая она какая-то (нет привычной папки src)
ЗЫ: я ей не пользовалсО, но вкрадываются сомнения, что не целиковая она какая-то (нет привычной папки src)
- Вложения
-
- MessyKoreXP.rar
- MessyKoreXP (Release 20050923)
- (1.78 МБ) 173 скачивания
-
- fields.rar
- fields, не поместившиеся в первый архив (они идентичны теперешним коровским, только в урезанном составе)
- (762.89 КБ) 170 скачиваний
- piroJOKE
- Модератор
- Сообщения: 8205
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
Выложить-то ты ее выложил, только к ней еще нужен СЕРВЕР, который бы смог с ней работать. Современные не могут. Этот modKore сильно устарел.
* * *
ЗЫ: А далее тов. 4орт пишет:
* * *
ЗЫ: А далее тов. 4орт пишет:
Я думаю, что это полная лажа - такие вещи делать макросами.Если варганить макросом, то вот что может помочь:
у автомакроса есть условие:
monster <имя монстра> [, ...]
АМ запустится, когда <имя монстра> находится поблизости (в пределах видимости). Когда макрос вызван устанавливаются специальные переменные $.lastMonster и $.lastMonsterPos.
Отделённые запятыми аргументы определяются как условие OR (или).
Несколько строк (от двух и более) определяются как условие AND (и).
это уже их переменных макроса:
$.lastMonster - имя монстра, который запустил последний автомакрос условием "monster"
$.lastMonsterPos - последняя известная позиция этого монстра ("123 234 prontera")
Итак видим моба, срабатывает автомакрос, из него мы вытягиваем клетку №х ($.lastMonsterPos). Дальше анализируя свои координаты ($.pos ) и координаты клетку №х - определяем в какую сторону шарохаться боту.
Если блюха растёт с тварью, то пригодится команда as (не помню, но помоему после неё бот болжен переключиться на друую цель)
ЗЫ: наводку надеюсь дал
- piroJOKE
- Модератор
- Сообщения: 8205
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
Собственно, у меня тоже есть одна идея, но она примитивная:
Нужно смотреть каждый раз на координаты, которые получает sendMove, и, если они лежат в "опасных зонах", делать не move, а move stop.
* * *
Но на самом деле, если мы знаем, что у Kore уже есть свой проложенный маршрут движения, то, нужно на ходу пересчитывать его часть, заменяя те точки, что попали в опасную зону, альтернативными:
Нужно смотреть каждый раз на координаты, которые получает sendMove, и, если они лежат в "опасных зонах", делать не move, а move stop.
* * *
Но на самом деле, если мы знаем, что у Kore уже есть свой проложенный маршрут движения, то, нужно на ходу пересчитывать его часть, заменяя те точки, что попали в опасную зону, альтернативными:
- Вложения
-
- синяя линяя - обходной путь
- obhod.png (1.71 КБ) 2504 просмотра
Последний раз редактировалось piroJOKE Чт июн 14, 2007 10:44 am, всего редактировалось 1 раз.
piroJOKE
Помниш Пяную походку для рандом волка?. В общем, похожую технологию, но более сложную возможно использовать для наших целей.
Ведь А* прощитывает не только оптимальный путь, но и все возможные. Таким образом серёзно доделав определение следуйщей точки маршрута возможно не только обойти мобов и людей, но и касты и всё такое.
Помниш Пяную походку для рандом волка?. В общем, похожую технологию, но более сложную возможно использовать для наших целей.
Ведь А* прощитывает не только оптимальный путь, но и все возможные. Таким образом серёзно доделав определение следуйщей точки маршрута возможно не только обойти мобов и людей, но и касты и всё такое.
Если где-то есть карта проходимости, то сделать поиск пути с запрещенными зонами очень легко. В принципе, можно сделать более хитро - если сейчас находимся недалеко от запрещенной зоны, то включить поисковик до следующей разрешенной точки, и на этом остановиться. Не знаю насчет А*, но краска с эвристикой у меня есть (подозреваю что это та же А* по результатам - эвристика та же, метод вроде похож).
- piroJOKE
- Модератор
- Сообщения: 8205
- Зарегистрирован: Сб ноя 04, 2006 2:20 am
- Сервер RO:: localhost
- Откуда: Molvania
Прикол в другом. Коре довольно далеко маршруты просчитыает. А теперь внимание! По-хорошему, нам надо вдруг (событие - в поле зрения опасный моб) вырезать часть марштута, и заменить его другим, пересчитанным заново. Не весь маршрут, а только его фрагмент! (Красная зона на рисунке выше). Вот как насчет "вдруг" и "вырезания части маршрута" - я не знаю, куда это надо лезть.
* * *
Ага, а вот фрагмент нашего старого обсуждения этой идеи: viewtopic.php?p=7097#7097
* * *
Ага, а вот фрагмент нашего старого обсуждения этой идеи: viewtopic.php?p=7097#7097
piroJOKE
Вот если не знать куда лезть, то тут я не помощник, с движком ОК еще не начинал разбираться, да и не то чтобы очень хотелось, я куда более хитрых ботов пишу для совсем другой игры
А вот если будет в доступном виде карта проходимости, текущий маршрут, список объектов которые надо обходить и допустимые радиусы сближения - я без проблем напишу алгоритм который это реализует (и выдает результат в формате нового пути).
Вот если не знать куда лезть, то тут я не помощник, с движком ОК еще не начинал разбираться, да и не то чтобы очень хотелось, я куда более хитрых ботов пишу для совсем другой игры
А вот если будет в доступном виде карта проходимости, текущий маршрут, список объектов которые надо обходить и допустимые радиусы сближения - я без проблем напишу алгоритм который это реализует (и выдает результат в формате нового пути).
фрикаст + убегание от мобов
Идея заключается в том чтобы создать мод который реализовывал бы очень распространенный метод раскачки сагов - кастуют какой-либо болт на моба и потом бегают от него.
Проблема в том, что при использование стандартного механизма runfromtarget бот следит только за текущей целью и => очень часто сталкивается с другими мобами. Надо бы создать новую функцию, котора я бы, зная координаты агрессивных монстров в зоне видимости могла выбрать оптимальное направление движения бота, чтобы он как можно реже с ними сталкивался. Вот с алгоритмом никак не соображу, в чем и прошу вашей помощи
Проблема в том, что при использование стандартного механизма runfromtarget бот следит только за текущей целью и => очень часто сталкивается с другими мобами. Надо бы создать новую функцию, котора я бы, зная координаты агрессивных монстров в зоне видимости могла выбрать оптимальное направление движения бота, чтобы он как можно реже с ними сталкивался. Вот с алгоритмом никак не соображу, в чем и прошу вашей помощи