Вкратце: есть тригер, который после получения урона сокровищницей должен выдавать 1 золото, если его атакует сатир, то должно выдаваться 3. Проблема в том, что на всем юнитах золото выдается после получения сокровищницей урона (как и должно), но если её атакует сатир, то после начала анимации игроку уже выдается 3 золота, из-за чего можно отменять атаку, чтобы абузить золото.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
2
9
3 года назад
2
map_maiker, может быть, у вас есть другой триггер, который регистрирует событие EVENT_PLAYER_UNIT_ATTACKED и/или EVENT_UNIT_ATTACKED, а в действии наносит урон от лица атаковавшего.
Да зачем другое событие? То, что "получает урон" срабатывает чуть раньше урона позволяет при желании заблокировать оный урон или ещё что с ним сделать.
Блокируется выдачей неуязвимости на .0 секунд или абилки на блок урона (не проверял, но работать чуть получше должно - менее заметно при большой плотности наносящих урон).
Собственно, то, что времени .0 (практически мгновенно) хватает чтобы заблокировать урон намекает (слегка) на то, что событие срабатывает мгновенно. Только чуть раньше.

Также, вполне может быть, что у сатира есть некое подобие жара преисподней, которая наносит урон ещё до атаки.
Ну или ещё какой дебафф, вроде промахов.
0
27
3 года назад
0
map_maiker
То, что "получает урон" срабатывает чуть раньше урона
?
Если ты про 1.26, то тут событие срабатывает только после получения урона. На рефе есть _DAMAGING, вот оно до урона срабатывает
2
32
3 года назад
2
rsfghd, не рассказывай ерунду, оба до урона срабатывают, одно общее на всех на карте, второе на конкретного юнита, и если юзать событие на юнита то уже не успеешь заблочить урон (хотя как заблочить, один хер кроме мемхака ниче не позволяет так делать). Просто близарды были лентяи и сделали тяп, ляп, лиж бы отвязатся.
0
27
3 года назад
0
quq_CCCP, серьёзно? Лол)
map_maiker, сорян)
2
9
3 года назад
2
Если ты про 1.26, то тут событие срабатывает только после получения урона. На рефе есть _DAMAGING, вот оно до урона срабатывает
Это довольно забавно слышать, я же описал в том же сообщении идею блока урона.
quq_CCCP:
(хотя как заблочить, один хер кроме мемхака ниче не позволяет так делать)
Думаю, тут имеется в виду какой-нибудь способ в духе BlockTakingDamage() в триггере с получением урона?

rsfghd:
map_maiker, сорян)
Бывает.
0
20
3 года назад
0
я описал вообще как могла ситуация возникнуть
1
15
3 года назад
1
Загруженные файлы
Принятый ответ
1
2
3 года назад
1
То, что тебе нужно, это DDS - Damage Detection System. Я использую эту либу: github.com/Igneaalis/MIX/blob/master/source/libraries/UnitRecycl... там ещё есть unit recycler для лучшей производительности. Посмотри внимательнее на функцию ShowDamage и UnitRecyclerInit, она показывает урон по юниту, там ты найдёшь все нужные переменные.
Загруженные файлы
3
26
3 года назад
Отредактирован Extremator
3
Capitan Alex:
то после начала анимации игроку уже выдается 3 золота
Может у тебя просто анимация замаха атаки выставлена не так как нужно? вот и получается что сатир замахивается - а урон уже проходит. Не?
А вообще я бы тоже рассматривал возможность ситуации с уроном от ивента "замаха". Чекни входящий урон в этом триггере, выведи его на экран, может выловить получится.
0
5
3 года назад
Отредактирован Capitan Alex
0
Насколько я сейчас понял: проблема заключается в том, что выходя из перманентного Инвиза Warcraft III считает, что юнит уже наносит нулевой урон, из-за чего добавляется золото в триггере. Спасибо за ваши советы, простите за иннактив, сейчас разберусь и выберу лучший ответ.
0
15
3 года назад
0
Capitan Alex, В условие добавь
Загруженные файлы
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.