XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Xipxop
Круче варика, только c++!
offline
Опыт: 7,646
Активность:
Как заставить бота идти в точку, атакуя по пути всех не только обычной атакой
У меня есть карта гоночка и вот я решил в нее добавить ботов, но столкнулся с их редкостным умом...
Помогите сделать так чтобы
Из точки А в точку В, Юнит если он бот, он должен идти Из А в В атакуя всех противников НЕ только обычной атакой, но и всеми имеющимися способностями!

Я сделал вот так
Юнит вошол в Зону карты Если юнит принадлежит боту, то отдается ему приказ патрулировать в точку В. (В точке В телепорт) но как его заставить по пути атаковать еще и магией???Да и еще по моему способу бот ЧАСТО стоит!тупо на полпути...

Вот схематическая карта:
A-------------->----->B
X<-----<-------------M
Попав на точку В, телепортируешься в точку М, и также попав на точку Х попадаешь в точку А.

Помогите сделать так чтоб
1)Бот сам шел по схеме! Из А в В, Из М в Х.
2)Чтобы по пути если есть такая возможность АТАКОВАТЬ, не только обычной атакой, но если есть, то и магиями.
3) И чтоб не застрявал на полпути...



Ботами может быть Любой игрок (Кроме 1) От 2 до 12.
Старый 20.11.2011, 21:26
justQd
JTournament
offline
Опыт: 3,799
Активность:
  1. Тут нужно проверять (Периодическим триггером) находится АИ в нужной группе, или области (Group, Region).
Например:
  • АИ находится в группе (юниты возле точки А) => отдать приказ идти в точку В, и так далее по маршруту.
  1. Чтобы АИ использовал навыки, нужно ему указать цель (юнит, точка), или просто отдать приказ использовать способность.
  1. Если делать так как в п.1 то застряваний не должно быть.
ЗЫ Писал быстро не успел подумать.. АИ может застрять после приказа использования навыка.
  1. Нужно добавить переменную targetPoint типа точка. И при проверке (unit is in Rect\Group) задавать этой переменной значение точки в которую он должен идти.
  1. После отдачи приказа использования навыка, отдавать приказ идти в точку targetPoint.
АИ дело такое, каждый пишет по-своему. Может кто-нибудь предложит свой вариант. Лично мне так удобней.
Миниатюры
Кликните на картинку для увеличения
Название:  01.JPG
Просмотров: 58
Размер:  13.5 Кбайт  Кликните на картинку для увеличения
Название:  02.JPG
Просмотров: 25
Размер:  12.8 Кбайт  

Отредактировано justQd, 20.11.2011 в 22:12.
Старый 20.11.2011, 21:47
D a N
Супер людЬ
offline
Опыт: 1,441
Активность:
Когда попадаешь в точку А отдаешь приказ идти в В, а когда попадаешь в точку М отдаешь приказ идти в Х. Когда он подходит к юниту заставляешь его кастовать способность.
Старый 21.11.2011, 14:22
Xipxop
Круче варика, только c++!
offline
Опыт: 7,646
Активность:
Насчет этого смотри, что у меня получилось в карте
Боты При попадании в ЛИНИЮ А-В должны патрулировать в точку В
И также наоборот с ЛИНИЕЙ М-Х.
Но даже Переодик в 15 сек выбрать Бота и отдавать приказ идти в конец линии... Они все равно в тупике иногда. немного реже стало =)


А можно ли занести весь список магий и заставлять кастовать все магии в надежде, что эта магия у него есть=)
Да и я незнаю как отдать приказ магией, да и для нестандартной.
Да и как сделать список магий и отдавать приказ ПО пути попутно их юзать.
Прикрепленные файлы
Тип файла: w3x Jungle Race 1.23 RUS.w3x (302.6 Кбайт, 7 просмотров )
Старый 21.11.2011, 17:56
Msey
????
offline
Опыт: 67,346
Активность:
Xipxop,абилу можно юзать по строке ордера абилы, на основе которой сделана нестандартная
Старый 21.11.2011, 21:56
Xipxop
Круче варика, только c++!
offline
Опыт: 7,646
Активность:
Я сделал, как вы и сказали даже некоторые боты стали юзать обилки(Ну типо сами додумались)жаль редко...

Кароче теперь боты Застрявают на полкарты атакуя каждого даже на правотивоположной стороне, а та НЕ доступна для друг друга!

И мне пришлось для нескольких ботов писать их поведение на карте...
Сделал только на 4 вида. Как вообще сделать систему универсальной?
У меня в карте всего 56 юнитов и у больше половины есть свои скилы. И колво юнитов со скилами пополняется... Не на каждого юнита же писать?

Вот скрины всего, что связано с ботами
Все юниты которые НЕПОДАЮТСЯ уму бота, убиваются как только зашли на карту.


Как боротся с этим?
Прикрепленные файлы
Тип файла: w3x Jungle Race 1.23 RUS.w3x (310.9 Кбайт, 4 просмотров )
Старый 22.11.2011, 21:35
Faam
Порядочный юзер
offline
Опыт: 3,066
Активность:
запомни точку в переменную, отдай ему приказ перехода с нападением, отслеживай как только он начнет атаковать каво-то - применяй способность (возможно несколько распределив по шансам) на атаковоного юнита, после того как он получил приказ обороны (ведь мы уже сбили новым приказом), отдай ему снова приказ перехода с атакой в точку из переменной в начале.
ttBones добавил:
Xipxop, а ты делай способности разные а приказ один то есть все через канал. например у одного юнита огненый удар(приказ1) огонь какойто(приказ2), а у 2 юнита ледяной удар(приказ1 то есть тотже) и так далее, то есть абилки разные но вызываются 1 приказом и при этом придется сделать простенькую систему на например 4 приказа.
ttBones добавил:
сколько букаф Msey, описал в 2 слова йа чокнутый человек
Старый 23.11.2011, 00:15
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 21:17.