Сделал триггер смысл которого создавать боссов, которые создается через количество убитых врагов. Босс нужен для того, чтобы сменить один тип врагов на следующий, если босс умер, то мы усиливает врагов(ну меняем их на следующих). Сделал как мог и попытался не допустить одной ошибки, чтобы один и тот же босс снова не появился. Можно как то проще это сделать, а то я думаю сделал какую то чертовальню??
Принятый ответ
Больше переменных, меньше условий в триггере.
Три массива, два счетчика, два триггера.
Массив A - типы юнитов для каждой волны.
Массив B - типы минибоссов для каждой волны.
Массив C - кол-во юнитов которое нужно убить на каждой волне.
Счетчик A - кол-во смертей крипов на этой волне.
Счетчик B - текущая волна.
Три массива, два счетчика, два триггера.
Массив A - типы юнитов для каждой волны.
Массив B - типы минибоссов для каждой волны.
Массив C - кол-во юнитов которое нужно убить на каждой волне.
Счетчик A - кол-во смертей крипов на этой волне.
Счетчик B - текущая волна.
Триггер А
условие триггера - если тип умирающего юнита равен типу для текущей волны (получаем из массива A по номеру волны)
действие - увеличить счетчик A
если счетчик A равен кол-ву крипов для этой волны (получаем из массива C по номеру волны), то выполняем спавн мини-босса
опционально - выключаем этот триггер и включаем триггер B
условие триггера - если тип умирающего юнита равен типу для текущей волны (получаем из массива A по номеру волны)
действие - увеличить счетчик A
если счетчик A равен кол-ву крипов для этой волны (получаем из массива C по номеру волны), то выполняем спавн мини-босса
опционально - выключаем этот триггер и включаем триггер B
триггер B опционально - триггер изначально отключен
условие триггера - если тип умирающего юнита равен типу мини-босса для текущей волны (получаем из массива B по номеру волны)
повышаем номер волны, обнуляем кол-во убитых на волне крипов
опционально - выключаем этот триггер и включаем триггер A
условие триггера - если тип умирающего юнита равен типу мини-босса для текущей волны (получаем из массива B по номеру волны)
повышаем номер волны, обнуляем кол-во убитых на волне крипов
опционально - выключаем этот триггер и включаем триггер A
Можно реализовать и одним триггером, естественно. Но в раздельной реализации эти триггеры можно включать-выключать по отдельности.
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован lizzardfyll
Отредактирован Roy Mustang
Можно сделать отдельный триггер где ты будешь всех боссов и юнитов вводить в перемнные (а в этом создавать их уже по переменным которые есть там)
Мол
Set Current Wave = CurrentWave+1
Then Create UnitType[CurrentWave]
и тд.
Ну так при создание босса присвой ему переменную и все дела.
А то так объяснил, словно тут все вместе с тобой над картой с самого начала работали)
Отредактирован Morningstar
monster[1] = первый тип
monster[2] = второй тип
и в системе спавна просто придумать currentMonsterSpawn
Отредактирован prog
Три массива, два счетчика, два триггера.
Массив A - типы юнитов для каждой волны.
Массив B - типы минибоссов для каждой волны.
Массив C - кол-во юнитов которое нужно убить на каждой волне.
Счетчик A - кол-во смертей крипов на этой волне.
Счетчик B - текущая волна.
условие триггера - если тип умирающего юнита равен типу для текущей волны (получаем из массива A по номеру волны)
действие - увеличить счетчик A
если счетчик A равен кол-ву крипов для этой волны (получаем из массива C по номеру волны), то выполняем спавн мини-босса
опционально - выключаем этот триггер и включаем триггер B
условие триггера - если тип умирающего юнита равен типу мини-босса для текущей волны (получаем из массива B по номеру волны)
повышаем номер волны, обнуляем кол-во убитых на волне крипов
опционально - выключаем этот триггер и включаем триггер A
Событие - Инициализация
Условие
Действия - заносишь в массив переменных типы юнитов для волн крипов (creeps[])
заносишь в группу юнитов из области с боссами (bosses)
ставишь видимость для области с боссами
есть целочисленная переменная А, которая является индексом волн крипов
Событие - Каждые 30 секунд
Условие
Действия - создать в точке спавна сколько-то creeps[A]
выбрать всех юнитов (последняя созданная группа юнитов) и приказать каждому двигаться, атакуя всех на пути, в точку назначения
есть целочисленная переменная K, в которую записывается необходимое для спавна босса количество убитых крипов
Событие - Юнит Умирает
Условие
Действие - Если тип убитого юнита равен creeps[A], то K=K+1, иначе Пусто
Если K=10, то мгновенно перемещаем случайного юнита из группы bosses к точке спавна, отдав приказ двигаться, нападая на противников к точке назначения (если крипы должны прекратить спавниться с вызовом босса, то можно тут прибавить к А какое-то значение, что будет больше количества волн, например, если типы крипов заданы с 0 до 9, то прибавляем 10)
Если убитый из группы bosses равно Да, то A=A+1, K=0, убрать убитого из bosses
Если количество юнитов в bosses равно 0, то Wait 2 сек. и Победа