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

вариант еще проще - дать комп. игроку зрение на всю карту, а его юнитам выставить максимальную дистанцию наведения на цель. все. они сами побегут
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
23
Denboy1550, ты это кому?
Vanya14, есть 2 варианта: чтобы они действительно искали - ты не сделаешь. Но ты вполне можешь давать им приказ двигаться сразу к героям. Пикаешь юнитов, ставишь необходимые условия и отдаёшь приказ на атаку кому надо.
20
вариант еще проще - дать комп. игроку зрение на всю карту, а его юнитам выставить максимальную дистанцию наведения на цель. все. они сами побегут
Принятый ответ
2
Ещё вариант, можно чтобы мобы атаковали случайного героя.
Создаём группу (отряд) в переменных.
Добавляем всех героев в эту группу.
Создаём моба и приказываем ему перейти, атакуя всех на пути к области (область это - позиция юнита {юнит - случайный герой из группы})
P.S: Два года назад последний раз был в редакторе варика, извиняюсь если что-то напутал :)
Загруженные файлы
20
Denboy1550:
твой вариант лучше не использовать, хотя бы потому, что он не сработает
15
Создаём моба и приказываем ему перейти, атакуя всех на пути к области (область это - позиция юнита {юнит - случайный герой из группы})
P.S: Два года назад последний раз был в редакторе варика, извиняюсь если что-то напутал :)
утечки же ..
Custom script: call RemoveLocation(udg_Group_Random_Hero)
держи
Загруженные файлы
3
ДжекВоробей, Прикольный баг получается если взять 2-х героев и дать им команду бить друг друга тогда мобы не трогают их, просто пробегают мимо.
15
Vanya14:
ДжекВоробей, Прикольный баг получается если взять 2-х героев и дать им команду бить друг друга тогда мобы не трогают их, просто пробегают мимо.
да , странно, ну можешь сделать систему как посоветовал ssbbssc но с call RemoveLocation(udg_Group_Random_Hero) после каждого приказа об атаке.
21
Каким образом должно сработать call RemoveLocation(udg_Group_Random_Hero), если переменная типа Отряд?
А, там другие варианты уже пошли с позицией, не заметил.
20
ДжекВоробей:
там приказов на атаку нет. нужно только в триггерах, разделе ИИ убрать у комп игрока Guard Position
2
Короче, если "структуры", то можно юниту приказывать бегать по точкам маршрута. При этом все точки маршрута занесены в массив для каждого юнита. А лучше в список.
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 и т.д. Вот так вполне реально можно сделать своего рода систему поиска с учётом мест, которые уже проверены. Если систему развивать, то можно сделать проверку на перекрёстках оптимального места для поиска на основе количества непроверенных точек на каждом участке пути.
В итоге, система получится очень простая. Зато интересная.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.