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

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
21
map_maiker, может быть, у вас есть другой триггер, который регистрирует событие EVENT_PLAYER_UNIT_ATTACKED и/или EVENT_UNIT_ATTACKED, а в действии наносит урон от лица атаковавшего.

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

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

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