Всем привет!
Делаю карту по мотивам WH40k где в зависимости от Ордена на космодесантика навешиваются соответсвующие доспехи и оружие (сделано путем простого добавления абилки с соответствующим спецэффектом при появлении юнита)
Скриншот триггера, вроде как очень простого, приведен на скриншоте. При этом если включено больше чем 21 такой триггер, например 23 то карта багается - сами триггеры перестают работать, юниты сливаются в одну кучу и игра жутко лагает и Warcraft 3 пересатет отвечать.
Неужели в редакторе есть ограничение на количество триггеров начинающихся с Unit enters playable map area с которым может справитсья игра?
При этом, на карте вообще может не быть юнитов которые бы запускали триггер, однако само их наличие во включенном состоянии крашит карту.
Кто-то может помочь разобраться в чем проблема? Задача очень простая - в при появлении юнита, давать ему N абилок в зависимости от игрока владельца. Но уже самих орденов сделано около 30..И это не считая хаоситов. Таких триггеров нужно много...
Карта прилагается (ссылка внизу) в варианте который который заставляет игру глючить при запуске. Для того чтобы все было нормально нужно отключить пару любых триггеров на обвес маринов. Сама карта еще достаточно пустая, но я сделал очень много моделей и решил начать собирать их в игре.

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

У тебя лимит потока просто, из за того что много триггеров.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
7
4 года назад
Отредактирован Morningstar
0
prog:
Есть альтернативный путь - выдать всем юнитам все эти способности с визуалом сразу в РО, но отключить их изначально для всех игроков, а потом включить каждому игроку только те способности, которые соответствуют его ордену. Это позволит полностью избавиться от триггеров на вход юнитов на карту.
гений, хорошее решение

Либо реально делай 300 юнитов, ничего страшного, делов то часа на 4-5
3
17
4 года назад
3
А если потом понадобиться удалить/добавить общую способность у всех космодесантников? В коде это делается за несколько секунд.
Diazon, послушай лучше Bergi_Bear, время на код сполна окупится.
quq_CCCP, инициализация триггеров происходит в общем потоке инициализации, который также имеет лимит , так трудно было это написать)
0
26
4 года назад
Отредактирован Extremator
0
Если проблема только лишь в обрыве потока, то всё решается его распилом.
А огромное количество одинаковых триггеров убирается за счёт 2-3х БД.
0
26
4 года назад
0
Ещё можно абилки распихать по заблокированным спеллбукам, которые раздавать юнитам.
0
32
4 года назад
0
Vlod, это писалось 100500 раз, не вижу смысла учить классике. Кому надо знает, кто не знает - гуглит за 30 сёк. Таких вопросов было десятки если не сотни.
0
11
4 года назад
Отредактирован Diazon
0
Спасибо всем кто поделился мнением!
Для себя вижу решением откатиться в один гигантский триггер с перебором условий If then else в промышленном маштабе. Там я надесь игра справится с перебором условий даже в большом обьеме.
0
32
4 года назад
0
Diazon, если бы ты хотел перейти на луа, я бы набросал тебе шаблон, в котором ты в событии входа бы через if else потипу юнита + фракция, расписывал какие бы эффекты куда приаттачить, кароче была бы большая БД.
Под шаблоном я понимаю 2 условия... дальше тебе нужно было бы просто копировать условие, и менять в нём названия переменных...
Кодом это сделать гораздо проще...
Но вы гуишники не хотите быть счастливыми (программистом тут быть не надо)
жду дизлайк от бога Гуи
0
26
4 года назад
Отредактирован Extremator
0
0
32
4 года назад
0
Diazon, Если что 1 одного триггера может быть множество разных событий, и 1 триггером с помощью ветвления можно делать несколько вещей, к примеру не обязательно делать 10 триггеров для движения юнитов по областям, достаточно сделать 1 триггер с событием входа юнита во все области, а чтобы определить в какую зашел юнит - можно проверить его координаты или принадлежность к определенной группе.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.