XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
MicroElf

offline
Опыт: 4,288
Активность:
Событие: "снаряд долетел до цели"
Есть событие "юнит атакован". Тогда все действия в этом триггере сработают ещё до того как юнит будет атакован (в самом начале замаха), а с дальними юнитами вообще караул получается. Как сделать чтобы мои действия происходили в тот момент, когда юнит именно будет ударен (т.е. топор, копьё или ещё что-нибудь долетит до юнита)
Сори за тупой вопрос, но я что-то пока не врубился как это по человечески сделать.
Старый 12.10.2008, 18:31
SAYRUS
Kicked by Кет
offline
Опыт: 3,013
Активность:
Поставь действие ждать и подсчитай примерно через сколько 3-4 сек должно хватить.
Старый 12.10.2008, 18:32
Terros

offline
Опыт: 2,502
Активность:
Цель может еще и двигаться...
Старый 12.10.2008, 18:37
MicroElf

offline
Опыт: 4,288
Активность:
SAYRUS
Скорость атаки может меняться, юнит может бежать навстречу или от атакующего юнита и т.д.
Старый 12.10.2008, 18:38
ScaryGhost

offline
Опыт: 4,909
Активность:
Лучше всего использовать триггер "Юнит получает урон", а в условии писать, "Unit comparison - Damage Source равно какой-то юнит" (это если надо знать, кто причинил урон первому юниту)
Старый 12.10.2008, 18:42
Scorched

offline
Опыт: 7,912
Активность:
нужно использовать "юнит получает урон", для спеллов сойдет "завершает/прекращает применение способности"
Старый 12.10.2008, 18:44
MicroElf

offline
Опыт: 4,288
Активность:
ScaryGhost
А вдруг юниту нанесут урон способкой а не атакой?
Старый 12.10.2008, 18:45
ShadoW DaemoN

offline
Опыт: 37,078
Активность:
Создай триггер с нужными действиями, назови его OnDamage (к примеру). В событии "Юнит атакован" регистрируй событие на атакованного юнита:
Триггер - Add to (OnDamage) the event (Боевая единица - (Triggering unit) получает урон)
Для спеллов с нанесением урона использовать событие "юнит завершает применение способности" (тогда нужно указывать в качестве юнита (Target unit of ability being cast).
Это простой метод. Имхо, в твоем случае его будет достаточно.

Непростой заключается в ручном создании/движении снарядов, как только снаряд окажется в досягаемости цели, то производить нужные действия.
Старый 12.10.2008, 18:46
MicroElf

offline
Опыт: 4,288
Активность:
Djok
При атаке ручками (при опред. условиях) должны срабатывать некоторые действия триггера. Но срабатвать тогда, когда удар именно нанесен.
Старый 12.10.2008, 18:46
MicroElf

offline
Опыт: 4,288
Активность:
Ещё раз объясню суть:

Когда некоторого юнита атакуют руками (обязательно руками!), должны срабатывать некоторые действия триггера.

Как сделать чтобы эти действия срабатывали только когда снаряд долетает до цели?

Юнит по которому атакуют один, юниты которые могут атаковать - любые.
Старый 12.10.2008, 18:52
Scorched

offline
Опыт: 7,912
Активность:
SWDN +1
Цитата:
И то твойScorchedсказал насчет применяет способноть неправельно

читай внимательно: не применяет, а завершает применение! (там 5 разных событий)
и нечего говорить обо мне в 3м лице
Старый 12.10.2008, 19:00
ExArt

offline
Опыт: 13,634
Активность:
SAYRUS, зачем те мапа? сделай на новой примерчик что бы юнит например создавался для игрока красного когда снаряд определённого юнита долетает до цели.

Вариант с отлавливаем момента получения дамага не срабатывает! Сам в шоке, но действие происходит до того как долетел снаряд, видимо дамага расчитывается ещё до выстрела.
Старый 12.10.2008, 19:03
ScaryGhost

offline
Опыт: 4,909
Активность:
У меня все срабатывает, специально поставил стрелка, и сделал такой триггер. Использовал "Юнит получает урон".
Старый 12.10.2008, 19:07
ExArt

offline
Опыт: 13,634
Активность:
ScaryGhost, выложи пример плиз. У меня срабатывает до того как прилетел снаряд.

ExArt добавил:
SAYRUS, ну не понял, не флуди всякие глупости
Старый 12.10.2008, 19:10
MicroElf

offline
Опыт: 4,288
Активность:
Кстати а где вообще находится событие юнит получает урон?

MicroElf добавил:
Djok
Нет, не имеет

MicroElf добавил:
ScaryGhost
Выложи пример. Кстати ты бы попробовал с каким-нибудь юнитом у которого снаряд дольше летит, может это только на стрелка работает?
Старый 12.10.2008, 19:17
ScaryGhost

offline
Опыт: 4,909
Активность:
MicroElf, Specific Unit Event
Вот мой пример:
Прикрепленные файлы
Тип файла: w3x TestingRoom.w3x (14.3 Кбайт, 17 просмотров )
Старый 12.10.2008, 19:18
ExArt

offline
Опыт: 13,634
Активность:
MicroElf, в событиях) оно хитрое просто и можно выбрать только для конкретного юнита уже созданного на карте, даже из переменной взять нельзя. Но если добавить его в самом тригере как новое событие то можно поставить переменную. Но у меня тригер срабатывает всё равно до попадания снаряда
Старый 12.10.2008, 19:21
MicroElf

offline
Опыт: 4,288
Активность:
Хм... А удалить потом это событие можно будет? А то что-же получается я добавляю в триггер это событие. Потом другой юнит применит (скажем через 5 минут) эту же способность и ведь события будет 2 уже...
У меня правда эту способку может получать только 1 юнит, так что в конкретном случае меня это не волнует, но вообще интересно...
Цитата:
Но у меня тригер срабатывает всё равно до попадания снаряда

А вот это очень серьезно... Что же делать?:)
Старый 12.10.2008, 19:23
StMechanus
Дух сети
offline
Опыт: 11,458
Активность:
Цитата:
Сообщение от MicroElf
Хм... А удалить потом это событие можно будет?


Триггер - Turn off this trigger
Старый 12.10.2008, 19:30
MicroElf

offline
Опыт: 4,288
Активность:
Djok
Это действие не удаляет событие, а выключает триггер. Если потом его включить, то событие снова будет срабатывать.
Старый 12.10.2008, 19:33
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 13:39.