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

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

Ответ
 
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
Предметы+AI
Помогите сделать мне одну наработку: вот у меня арена-и там компы бегают по мапе и стреляют,спелы кидают, ну вот,мне бы хотелось чтоб они ещё подбирали предметы. я вот только не знаю как это сделать. чтоб если бежит бот и в радиусе 250 есть предмет он подобрал его...помогите..
Старый 05.01.2011, 18:25
Icy
Это Я!
offline
Опыт: 1,785
Активность:
potapchek:
чтоб если бежит бот и в радиусе 250 есть предмет он подобрал его
Пишешь в сердечко ИИ(функция периодик-таймера, ну или же периодик триггер с начинкой анализа ситуации), действия наличия предметов в твоём радиусе, если же нету такого, могут быть конфликты приоритетов(ну например: бежит герой с 10 хп, а в радиусе 250 лежит предмет, он может взять предмет первей, чем начнёт атаку этого гера, в результате есть шансы(если он мили конешно), что профукает фрага)
Ну вот сопсно второй вариант: создаёшь периодик-триггер или таймер и в его действиях пишешь так же проверку наличия предметов в радиусе 250
Ну вот сопсно сама проверка предмета:
1 - создаешь рект, желательно создать его в начале игры и занести в одну глобальную переменную
2 - потом устанавливаешь ему стороны по такому принципу: Left = X - RADIUS; Top = Y - RADIUS; Right = X + RADIUS; Bottom = Y + RADIUS, где X и Y - координаты положения проверяемого героя, а RADIUS - твой радиус, тобишь 250
3 - пикаешь функцией пика айтемов(на гуи это Предмет - Pick every item in rect <RECT>, где RECT - твоя область)
4 - обнуляешь глобалку созданную для подбираемого предмета
5 - в действиях пика юнита делаешь нужные условия для найденного предмета и заносишь его в эту глобалку
6 - потом проверяешь, не равна ли наша глобалка с предметом нулю(ГУИ: Нет предмета), если не равна, то делаешь нужные действия для его подбирания
Думаю объяснил довольно прямо, но если чё не понятно, спрашивай
Старый 05.01.2011, 18:54
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
блин,ты гений,тока я в глобалках никакой,вещь очень полезная но я не знаю их...чёрт... мож скинуть карту пример или что нить типо того?
Старый 05.01.2011, 20:49
Icy
Это Я!
offline
Опыт: 1,785
Активность:
Простенький движок ИИ делать в падлу, но вот именно по вопросу пример кину
Icy добавил:
Вот пример:
Мне только одно интересно, раз ты в глобалках никакой, то как создавал ИИ?
МБ ты не понимаешь чё такое глобалки - на ГУИ это просто переменные, на жасс это глобалки
Прикрепленные файлы
Тип файла: w3x Example.w3x (17.9 Кбайт, 13 просмотров )
Старый 05.01.2011, 21:25
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
ии я создавал почти никак,там всё просто,на гуи,корявенько)
Icy, ага,спасибо, терь более менее стало понятно как там это всё. тока вот вопрос остался у мя одни, как сделать чтб этот триг тока на компов работал?
Старый 05.01.2011, 21:40
Icy
Это Я!
offline
Опыт: 1,785
Активность:
Проходи циклом по массиву с героями и делай мою проверку на наличие предметов
Старый 05.01.2011, 21:56
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
ок,попробую!
Старый 05.01.2011, 22:01
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
блин,чёт неполучаеца, я вот пикаю всех игроков(компьютеров) и чёт они куда то в угол карты бегут....
Старый 08.01.2011, 14:53
Icy
Это Я!
offline
Опыт: 1,785
Активность:
potapchek, не может быть такого, значит где то накосячил... смотри где
Старый 08.01.2011, 15:37
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
ну вот у тя там переменная Hero мешается,если её убрать и из кода то хрень получается,а подругому получаеца вышесказанное...
Старый 08.01.2011, 19:22
Icy
Это Я!
offline
Опыт: 1,785
Активность:
Вместо переменной херо подставляй свой массив героев и циклом пробегайся по этим действиям
Старый 08.01.2011, 21:41
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
Хммм....
Каждые 0.10 сек

Выбрать каждого юнита(Принадлежащий игроку(компьютер))и совершить действия
Hero=выбранный юнит
вот... и ещё такая мудка,вот у тя там 1-й триггер и переменная не имеет значения какую облать поставишь( я ставлю (зона игровой карты))и компы у меня в центр мапы бегут,ставлю(свою область) у меня в ценрте карты все появляюца и камера фиксируется на этой зоне(центре) а если поставить (вся карта) то всё норм, но система не работает...
Старый 09.01.2011, 11:15
CKEJlETOH

offline
Опыт: 568
Активность:
Слушай,выложи мапу(токо не закрытую версу хД)там посмотрим.
Старый 09.01.2011, 11:22
Icy
Это Я!
offline
Опыт: 1,785
Активность:
Кинь скрин этого трига, ты походу затёр действие изменения рамок ректа, ну или я где накосячил
Старый 09.01.2011, 12:07
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
эмм...а как сделать скрин ?)))
Старый 09.01.2011, 17:12
Icy
Это Я!
offline
Опыт: 1,785
Активность:
Ууу... Кароче кинь свой триггер
Старый 09.01.2011, 17:38
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
вот
Прикрепленные файлы
Тип файла: w3x test.w3x (9.8 Кбайт, 6 просмотров )
Старый 09.01.2011, 17:52
Icy
Это Я!
offline
Опыт: 1,785
Активность:
Вобщем косяков у тебя в примере ну прям ПИИПЕЦ!
Зырь мой подробно закоментированный!
Прикрепленные файлы
Тип файла: w3x test.w3x (14.5 Кбайт, 6 просмотров )
Старый 09.01.2011, 20:05
potapchek
Battle For Life
offline
Опыт: 6,095
Активность:
Icy, редактор не открывает,фаталит.
object: .PAVCWETriggerFunction@@
Старый 09.01.2011, 20:25
Icy
Это Я!
offline
Опыт: 1,785
Активность:
Ай блин, забыл что у тя обычный редактор
Icy добавил:
Щас
Icy добавил:
Вот для обычного редактора:
Прикрепленные файлы
Тип файла: w3x test.w3x (14.8 Кбайт, 6 просмотров )
Старый 09.01.2011, 21:24
Ответ

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

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

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

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



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