Добавлен
как сделать что бы мобы искали по всей карте героев? то есть не просто бежали рандомно по всей мапе.

Принятый ответ

вариант еще проще - дать комп. игроку зрение на всю карту, а его юнитам выставить максимальную дистанцию наведения на цель. все. они сами побегут
0
23
9 лет назад
0
а если на карте нет героев?
Пишешь свой ИИ для мобов: отдаешь им приказы и чекаешь на наличие противников.
1
2
9 лет назад
1
Подробнее, пожалуйста...
0
23
9 лет назад
0
Denboy1550, ты это кому?
Vanya14, есть 2 варианта: чтобы они действительно искали - ты не сделаешь. Но ты вполне можешь давать им приказ двигаться сразу к героям. Пикаешь юнитов, ставишь необходимые условия и отдаёшь приказ на атаку кому надо.
4
20
9 лет назад
4
вариант еще проще - дать комп. игроку зрение на всю карту, а его юнитам выставить максимальную дистанцию наведения на цель. все. они сами побегут
Принятый ответ
1
2
9 лет назад
Отредактирован Denboy1550
1
Ещё вариант, можно чтобы мобы атаковали случайного героя.
Создаём группу (отряд) в переменных.
Добавляем всех героев в эту группу.
Создаём моба и приказываем ему перейти, атакуя всех на пути к области (область это - позиция юнита {юнит - случайный герой из группы})
P.S: Два года назад последний раз был в редакторе варика, извиняюсь если что-то напутал :)
Загруженные файлы
0
20
9 лет назад
Отредактирован ssbbssc
0
Denboy1550:
твой вариант лучше не использовать, хотя бы потому, что он не сработает
0
23
9 лет назад
0
ssbbssc, почему же?
0
15
9 лет назад
Отредактирован ДжекВоробей
0
Создаём моба и приказываем ему перейти, атакуя всех на пути к области (область это - позиция юнита {юнит - случайный герой из группы})
P.S: Два года назад последний раз был в редакторе варика, извиняюсь если что-то напутал :)
утечки же ..
Custom script: call RemoveLocation(udg_Group_Random_Hero)
держи
Загруженные файлы
0
3
9 лет назад
0
ДжекВоробей, Прикольный баг получается если взять 2-х героев и дать им команду бить друг друга тогда мобы не трогают их, просто пробегают мимо.
0
15
9 лет назад
0
Vanya14:
ДжекВоробей, Прикольный баг получается если взять 2-х героев и дать им команду бить друг друга тогда мобы не трогают их, просто пробегают мимо.
да , странно, ну можешь сделать систему как посоветовал ssbbssc но с call RemoveLocation(udg_Group_Random_Hero) после каждого приказа об атаке.
0
22
9 лет назад
0
Каким образом должно сработать call RemoveLocation(udg_Group_Random_Hero), если переменная типа Отряд?
А, там другие варианты уже пошли с позицией, не заметил.
0
20
9 лет назад
0
ДжекВоробей:
там приказов на атаку нет. нужно только в триггерах, разделе ИИ убрать у комп игрока Guard Position
0
2
9 лет назад
Отредактирован modern19999
0
Короче, если "структуры", то можно юниту приказывать бегать по точкам маршрута. При этом все точки маршрута занесены в массив для каждого юнита. А лучше в список.
struct Unit
	static List locs - в него заносятся все точки - в моём примере это переменные WayLoc
	List locsToCheck - в него заносятся точки, которые ещё не проверены. Изначально в него заносятся все точки
использую wurst, так что забыл, как точно записывается в vJass.
В структуре WayLoc будет:
struct WayLoc
	real x
	real y
	WayLoc next
	WayLoc prev
	rect r - регион, к примеру, который будет привязан к точке.
next и prev - это след. и предыд. точки маршрута.
Когда юнит забегает в определённый радиус от точки, или тупо в какую-то область, точка убирается из списка для проверки, и юнит бежит дальше по маршруту туда, где ещё не проверил. Стартует таймер - через какое-то время точка опять отмечается как непроверенная - например, 30 секунд. Т.е. добавляется в список для проверки. И юнит так и бегает, проверяя точки. Если маршруты могут разветвляться, то можно сделать парочку переменных next1 и next2 и т.д. Вот так вполне реально можно сделать своего рода систему поиска с учётом мест, которые уже проверены. Если систему развивать, то можно сделать проверку на перекрёстках оптимального места для поиска на основе количества непроверенных точек на каждом участке пути.
В итоге, система получится очень простая. Зато интересная.
0
7
9 лет назад
Отредактирован WoLLFeR
0
Ребята, слишком много, если нужно заставить юнита атаковать другого юнита, неважно где он находился бы на карте, тогда можно сделать так.
Только, если владелец юнитов, является игроком, тогда ему нужно открыть карту. А если владелец является игроком Нейтрально-враждебным тогда, используйте ещё вторую картинку.
Загруженные файлы
Чтобы оставить комментарий, пожалуйста, войдите на сайт.