![]()
alexkill
![]() ![]() offline
Опыт:
18,872Активность: |
Способность отразить удары
Вот код спелла:
Код:
Урон при атаке юнита, применившего спелл, поглощается. То есть юнит становится неуязвимым. Вопрос: почему не поглощается первый удар? Защита начинает работать только со второго, иногда даже и с третьего. |
![]() |
#1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
__Dark Lord__
![]() ![]() offline
Опыт:
5,262Активность: |
Мб событие EVENT_UNIT_DAMAGED срабатывает после получения урона юнитом. Нужно использовать EVENT_UNIT_ATTACKED. |
![]() |
#2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexkill
![]() ![]() offline
Опыт:
18,872Активность: |
Нет, конечно. Ничего вообще не произойдет. GetEventDamage() не отследится. |
![]() |
#3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
ShadoW DaemoN
![]() ![]() offline
Опыт:
37,078Активность: |
Дело в том, что действие, указанное в триггере, выполняется немного раньше, чем собственно событие. То есть мы сначала прибавляем кол-во здоровья равное величине урона, а затем наносится урон. Поэтому, если юнит полностью здоров, то спелл работает некорректно. |
![]() |
#4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexkill
![]() ![]() offline
Опыт:
18,872Активность: |
Это я тоже заметил. Каков же выход? Создавать еще один динамический триггер с событием EVENT_UNIT_ATTACKED?
alexkill добавил: Или делать проверку на процент здоровья героя? |
![]() |
#5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
S
![]() offline
Опыт:
43,833Активность: |
возможно, перед добавлением жизни ставить небольшой вэйт, равный скорости атаки самого медлительного юнита? =) |
![]() |
#6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
w3soft
ТГБ тим
![]() ![]() offline
Опыт:
1,769Активность: |
Поставить условие с проверкой хп и всего |
![]() |
#7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Strayiker
Warcraft Forever
![]() ![]() offline
Опыт:
3,406Активность: |
Если нужна именно способность отражать удары, юзай способность "Каменные доспехи" у эльфов. ;)
Когда юнит кастует 'A001' заменяй её на "Каменные доспехи" и всё. Strayiker добавил: В параметре "Отклонённый урон" поставь 100000000 |
![]() |
#8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
agentex
![]() offline
Опыт:
34,834Активность: |
реализовавывал тоже самое на ГУИ, все было норм... правда проверка у меня была не на каст способности, а на значение лог. переменной |
![]() |
#9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Sebra
![]() offline
Опыт:
5,603Активность: |
Проверяй, сколько смог добавить, добавку остального вешай на триггер по условию "жизнь юнита меньше... максимума". |
![]() |
#10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexkill
![]() ![]() offline
Опыт:
18,872Активность: |
Цитата:
Strayiker, не только. Иначе бы не спрашивал. ) alexkill добавил: Цитата:
Не вариант. Тогда видно, как скачет хп! |
||
![]() |
#11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Strayiker
Warcraft Forever
![]() ![]() offline
Опыт:
3,406Активность: |
alexkill попробуй создавать глобалку и в неё записывать значение хп юнита на момент использования абилки, затем
событие: "у юнита хп < чем значение в глобалке" действие: "установить хп = значению в глобалке" событие: "у юнита хп > чем значение в глобалке" действие: "установить глобалку = текущему значению хп юнита" хз, так впринципе должно работать, хоть и неочень оптимально ;) |
![]() |
#12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexkill
![]() ![]() offline
Опыт:
18,872Активность: |
Цитата:
глобалки не катят. это уже другая идея, да и не универсальная. даже если исполользовать вариант, что есть в статьях есть, глобалки-массивы присутствуют. |
|
![]() |
#13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
Strayiker
Warcraft Forever
![]() ![]() offline
Опыт:
3,406Активность: |
Вот, так работает корректно |
![]() |
#14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
![]()
alexkill
![]() ![]() offline
Опыт:
18,872Активность: |
Мы с тобой мыслим параллельно). У меня только-только задумка о таймере с 0 возникла.
Только у тебя урон округляется до целого числа. И хп на единичку сбивается иногда. Но я разрешил.
Спасибо. |
![]() |
#15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|