Сделал триггер, работающий следующим образом: Безликий кастует способность, к нему перемещается область (точнее, под него), в этой области герои (или нейтральные юниты, или все вместе, как повезёт) выбираются в отряд, затем появляется dummy-пехотинец и бьёт случайного героя (или нейтрально-враждебного, как повезёт) "цепью молний", переменная отряда обнуляется. Всё. Проблема в том, что я без понятия как засунуть героев в отряд-цель. Я уже и Безликого в исключения ставил (юнит не равно безликий), и конкретного игрока целью делал (юнит триггера принадлежит игрок синий) , и героя отдельного целью делал, а оно не в какую. Там явно как-то хитровыверенно нужно ставить, о котором я не знаю.
Скрин триггера -
Скриншот игры -

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

Fly123, Для одиночной игры можешь использовать вейты(Ждать 2 сек), для сетевой игры забыть про них, в сетевой можешь использовать для бссов вейты
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
3 года назад
0
Похожие вопросы:

ответ
Через что уничтожаешь? Если через килл, то конечно умирает и нейтральный.
  1. Если наносить от какого-то даммика урон в мильены, то не умрет нейтральный.
  2. Можно от даммика развеяние нежити за 0.01 сек.
  3. Заменять можно, внося значение золота в переменную и потом, создавая новый рудник, ставить количество золота в него из переменной, благо это даже в ГУИ реализовано.
ответ
Впервой вижу, чтоб так издевались над плавающем текстом...
Как пишет г-н Maniac_91, нет нужды в сохранении texttag, ибо при строчке
call SetTextTagLifespanBJ( GetLastCreatedTextTag(), 0.50 )
или (вариант получше)
call SetTextTagLifespan(GetLastCreatedTextTag(), 0.50)
Ваш texttag, как умненький мальчик, сам уберется, когда он сделал своё дело ;)
Правда есть один нюанс... Если Вы добавили строчку
call SetTextTagPermanent(GetLastCreatedTextTag(),true)
то этот мальчик будет стоять подле Вас до конца сабантуя и ждать команды на уничтожение ;)
ответ
печатать стену текста проще чем нажать принт скрин и прикепить скриншот?
явно же где то накосячили из-за невнимательности.
давайте договоримся, прежде чем создавать тему с нерабочим триггером вы проводите сами дебаг этого триггера, а затем уже если не поняли где ошибка, делаете вопрос
ответ
Так правильно всё, а GroupEnumUnitsInRange какой тип возвращает? правильно никакой, поэтому и ругается g ибо она null
ответ
Как выяснилось у Близард формат карт нормалей немного другой. Красный и зелёный канал поменяны местами, причём красный(который зелёный) ещё и инвертирован. Это и не OpenGL и не DirectX. Зачем они так сделали - вопрос открытый.

1
15
3 года назад
1
А где переменная кастера?

Группу, точку сам удалишь
Загруженные файлы
1
28
3 года назад
Отредактирован PT153
1
Во-первых, использовать ждать в триггерах каста строго запрещено.
Во-вторых, условие для группы бред, ты выбираешь всех юнитов, если кастер паладин, и ни одного, если кастер не паладин.
0
15
3 года назад
0
PT153, Ну он сказал любых может бить
1
28
3 года назад
Отредактирован PT153
1
Desgul, и что? Это повод ставить ненужное условие? В группе должны быть только герои, а потому условие должно быть Matching Unit is Hero.
0
14
3 года назад
0
Desgul:
А где переменная кастера?
Monster - это безликий
А PsiRiftUnit - это даммик.
Твой способ работает, спасибо.
0
28
3 года назад
0
Ну и сама молния должна только по героям бить.
0
14
3 года назад
0
PT153:
Desgul, и что? Это повод ставить ненужное условие? В группе должны быть только герои, а потому условие должно быть Matching Unit is Hero.
В группе могут быть и нейтральные крипы. Я не указал, но там всё как надо он сделал. Я ставил условие, чтобы даммик не стрелял в самого безликого (я подумал, что сам безликий может оказатся в этой группе и дамик выстрелит в него (или не выстрелит вообще, ведь на союзников молнию кастовать нельзя).
0
28
3 года назад
0
юнит триггера принадлежит игрок синий
Юнит триггера это кастер...
0
14
3 года назад
0
PT153:
Ну и сама молния должна только по героям бить.
Почему нельзя использовать "Ждать"?

PT153:
Я думал что это юниты-тарггеты
0
28
3 года назад
0
Почему нельзя использовать "Ждать"?
Сработает триггер на каст ещё раз, и все GetSpell... для триггера в паузе обратятся в нули.
0
15
3 года назад
0
Fly123, Кстате молния по своим бьёт только по 1 герою, то есть не переходит на следующего
0
14
3 года назад
0
Desgul:
Fly123, Кстате молния по своим бьёт только по 1 герою, то есть не переходит на следующего
Справедливо

PT153:
Почему нельзя использовать "Ждать"?
Сработает триггер на каст ещё раз, и все GetSpell... для триггера в паузе обратятся в нули.
Надо на каждый триггер создавать отдельный таймер, назначать на него переменную и потом удалять+чистить?

PT153:
Почему нельзя использовать "Ждать"?
Сработает триггер на каст ещё раз, и все GetSpell... для триггера в паузе обратятся в нули.
А на самом деле я не совсем понял, то есть в конкретном триггере это может произойти? Просто у меня нормально до этого спелл работал, в нем 5 вейтов стояло, никаких ошибок. Или это распространяется на "чужие" триггерные спеллы других юнитов?
1
15
3 года назад
Отредактирован Desgul
1
Fly123, Для одиночной игры можешь использовать вейты(Ждать 2 сек), для сетевой игры забыть про них, в сетевой можешь использовать для бссов вейты
Принятый ответ
0
14
3 года назад
Отредактирован Fly123
0
Desgul:
Fly123, Для одиночной игры можешь использовать вейты(Ждать 2 сек), для сетевой игры забыть про них, в сетевой можешь использовать для бссов вейты
Я правильно понимаю, что по методу, который ты скинул, молния может быть скастована в Паладина? Потому что у меня сейчас как попало эти молнии летят. Реально как-то условие переделать, чтоб в него не било, или нужно триггерно его удалять из группы до появления даммика? Видимо мне нужно было конкретно указать, что Безликий не должен является целью, сорри.
1
28
3 года назад
1
Desgul, баг-то и в одиночной проявляет себя.
Fly123, да хватить цитировать комментарии полностью, да ещё и по нескольку раз.
Если хочешь оставить вейт, то в самом начале заноси нужные GetSpell в локалки.
А на самом деле я не совсем понял
Да допустим у тебя 1 триггер на каст. Он с вейтом. После вейта у тебя идёт обращение к цели каста (GetSpellAbilityTarget).
Срабатывает этот триггер (поток 1), начинается вейт. Тут этот триггер опять срабатывает (поток 2) и уже для этого начинается вейт. Для потока 1 вейт заканчивается, а GetSpellAbilityTarget в этом потоке возвращает null. Почему - потому что близзард. Причём это может быть даже без вейта.

Desgul, мой первый комментарий тут относился не в тебе, а к тс-у.
0
27
3 года назад
0
PT153, бтв, по поводу юнита триггера, что это кастер, зачем тогда вообще нужна функция GetSpellAbilityUnit()?
1
28
3 года назад
1
rsfghd, GetTriggerUnit - это стандартная функция, есть у всех. А все остальные - просто аналоги, порой кривые, как GetSpellAbilityUnit(). Зачем они - хз.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.