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