Сделал триггер смысл которого создавать боссов, которые создается через количество убитых врагов. Босс нужен для того, чтобы сменить один тип врагов на следующий, если босс умер, то мы усиливает врагов(ну меняем их на следующих). Сделал как мог и попытался не допустить одной ошибки, чтобы один и тот же босс снова не появился. Можно как то проще это сделать, а то я думаю сделал какую то чертовальню??

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

Больше переменных, меньше условий в триггере.
Три массива, два счетчика, два триггера.
Массив A - типы юнитов для каждой волны.
Массив B - типы минибоссов для каждой волны.
Массив C - кол-во юнитов которое нужно убить на каждой волне.
Счетчик A - кол-во смертей крипов на этой волне.
Счетчик B - текущая волна.
Триггер А
условие триггера - если тип умирающего юнита равен типу для текущей волны (получаем из массива A по номеру волны)
действие - увеличить счетчик A
если счетчик A равен кол-ву крипов для этой волны (получаем из массива C по номеру волны), то выполняем спавн мини-босса
опционально - выключаем этот триггер и включаем триггер B
триггер B опционально - триггер изначально отключен
условие триггера - если тип умирающего юнита равен типу мини-босса для текущей волны (получаем из массива B по номеру волны)
повышаем номер волны, обнуляем кол-во убитых на волне крипов
опционально - выключаем этот триггер и включаем триггер A
Можно реализовать и одним триггером, естественно. Но в раздельной реализации эти триггеры можно включать-выключать по отдельности.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
3
4 года назад
0
8gabriel8:
lizzardfyll, конечно, 10 копий этого триггера делать бред. Объясни подробнее, что ты делаешь: тауердефенс, арена, миниигра; будут ли боссы соответствовать крипам, или на протяжении всей игры каждый раз к игроку пойдут случайные крипы и случайные боссы без каких-то взаимосвязей?
А то так объяснил, словно тут все вместе с тобой над картой с самого начала работали)
это будет типа карты x-hero, берешь героя и дефаешь свою цель от волн монстров, ну и со временем у меня волны меняются, чтобы было сложнее ну и интереснее естественно, а мини-боссы служат только для того чтобы изменить уровень волн на более высокий, ну а сами боссы появляются от определенного кол. всех убитых противников, не триггеров будет 10 копий, все будет в одном, просто каждое это условие будет скопировано 10 раз, га рис. показано как я реализовал это для первого босса, ну а дальше будет 9 копий, кроме счетчика убийств
0
10
4 года назад
0
lizzardfyll:
8gabriel8:
lizzardfyll, конечно, 10 копий этого триггера делать бред. Объясни подробнее, что ты делаешь: тауердефенс, арена, миниигра; будут ли боссы соответствовать крипам, или на протяжении всей игры каждый раз к игроку пойдут случайные крипы и случайные боссы без каких-то взаимосвязей?
А то так объяснил, словно тут все вместе с тобой над картой с самого начала работали)
это будет типа карты x-hero, берешь героя и дефаешь свою цель от волн монстров, ну и со временем у меня волны меняются, чтобы было сложнее ну и интереснее естественно, а мини-боссы служат только для того чтобы изменить уровень волн на более высокий, ну а сами боссы появляются от определенного кол. всех убитых противников, не триггеров будет 10 копий, все будет в одном, просто каждое это условие будет скопировано 10 раз, га рис. показано как я реализовал это для первого босса, ну а дальше будет 9 копий, кроме счетчика убийств
Проверяешь через цикл тип умирающего юнита, если твой юнит то делаем волну + 1
0
24
4 года назад
Отредактирован prog
0
Больше переменных, меньше условий в триггере.
Три массива, два счетчика, два триггера.
Массив A - типы юнитов для каждой волны.
Массив B - типы минибоссов для каждой волны.
Массив C - кол-во юнитов которое нужно убить на каждой волне.
Счетчик A - кол-во смертей крипов на этой волне.
Счетчик B - текущая волна.
Триггер А
условие триггера - если тип умирающего юнита равен типу для текущей волны (получаем из массива A по номеру волны)
действие - увеличить счетчик A
если счетчик A равен кол-ву крипов для этой волны (получаем из массива C по номеру волны), то выполняем спавн мини-босса
опционально - выключаем этот триггер и включаем триггер B
триггер B опционально - триггер изначально отключен
условие триггера - если тип умирающего юнита равен типу мини-босса для текущей волны (получаем из массива B по номеру волны)
повышаем номер волны, обнуляем кол-во убитых на волне крипов
опционально - выключаем этот триггер и включаем триггер A
Можно реализовать и одним триггером, естественно. Но в раздельной реализации эти триггеры можно включать-выключать по отдельности.
Принятый ответ
0
3
4 года назад
0
Проверяешь через цикл тип умирающего юнита, если твой юнит то делаем волну + 1
чет я совсем забыл что циклы есть:D через него реально можно намного меньше скрипт сделать, разобраться как только все в него грамотно вместить
0
15
4 года назад
0
lizzardfyll, Что мешает тебе открыть тд любую и посмотреть там, они почти все без защиты
0
26
4 года назад
0
Мне понравилась идея с объединением боссов в отряд, типа будет на карте маленькая видимая область, где будут стоять все боссы, случайный из которых будет вступать в бой. Есть разные варианты оформить этих боссов в области, ведь их мощь должна расти вместе с волнами, наверное? Можно дать им Москиты, сделав невыбираемыми, можно сделать их героями и повышать всем уровень с гибелью каждого босса, можно просто менять характеристики, не делая боссов героями, при этом чуть увеличивая размер модели, вариантов придумать можно много, но не в этом суть. Короче, вариант триггеров:

I триггер:
Событие - Инициализация
Условие
Действия - заносишь в массив переменных типы юнитов для волн крипов (creeps[])
заносишь в группу юнитов из области с боссами (bosses)
ставишь видимость для области с боссами

II триггер:
есть целочисленная переменная А, которая является индексом волн крипов
Событие - Каждые 30 секунд
Условие
Действия - создать в точке спавна сколько-то creeps[A]
выбрать всех юнитов (последняя созданная группа юнитов) и приказать каждому двигаться, атакуя всех на пути, в точку назначения

III триггер:
есть целочисленная переменная K, в которую записывается необходимое для спавна босса количество убитых крипов
Событие - Юнит Умирает
Условие
Действие - Если тип убитого юнита равен creeps[A], то K=K+1, иначе Пусто
Если K=10, то мгновенно перемещаем случайного юнита из группы bosses к точке спавна, отдав приказ двигаться, нападая на противников к точке назначения (если крипы должны прекратить спавниться с вызовом босса, то можно тут прибавить к А какое-то значение, что будет больше количества волн, например, если типы крипов заданы с 0 до 9, то прибавляем 10)
Если убитый из группы bosses равно Да, то A=A+1, K=0, убрать убитого из bosses
Если количество юнитов в bosses равно 0, то Wait 2 сек. и Победа
0
3
4 года назад
0
та я уже все сделал, просто я попросил может есть способ уменьшить код с боссами, чтобы он работал так же, только меньше строк было и все, а все остальное у меня было уже готово
0
26
4 года назад
0
Ну так три коротеньких триггера, в которых ничего копировать не надо, только в первом составить список типов юнитов для массива, но он у тебя уже есть. Во втором триггере три действия, третье внутри второго. В третьем триггере 4 конструкции If/Then/Else, в которых действий по твоему усмотрению. У тебя на скрине тоже 4 конструкции If/Then/Else, но их в 10 раз больше тебе надо на всю игру.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.