В карте cat or mouse есть такая вещь, определение каким скиллом убили юнита, допустим умирает мышь, и пишет ник игрока убившего, имя юнита, и если он скиллом убил её, то пишет каким, вопрос как определить название? Нет такого GetKillerSpell или чтото в этом роде?
Принятый ответ
нужно наносить все уроны триггерно, только тогда будет 100% гарантия
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Когда на юнита применяют заклинание, нужно дать ему способность-пустышку (я их маркерами называю), чтобы отметить его. Затем триггер на получение урона. Вроде бы есть проверка на тип урона (физический/магический). Но тогда по логике если юнит с магической атакой, то будет неправильно работать. Тогда заменим тип атаки в редакторе объектов. Если полученный урон больше, чем (здоровье цели минус 0.405), то ничего не делаем. Иначе - удаляем маркер, так как цель выживет. Ну и третий триггер. Юнит умирает - если уровень способности-маркера у умирающего юнита > 0, то он убит заклинанием.
Способ, предложенный DracoL1ch, конечно, лучше. Но как его реализовать - я не знаю.
Отредактирован N1ghtSiren
Если нет хендла на кастере - значит убил с руки
Если есть - значит со спелла, но нужна БД чтобы отсеивать те спеллы, что могут туда попасть, или будет путаница, например убил кастом иллюзии или ещё чем.
======================
А ещё можно пронести все абилки сквозь даммиков, и в хендл даммика записывать имя абилки при касте.
Если убийца = даммик, то читать из хендла какую абилку он кастовал
Отредактирован MpW
тут еще зависит от того какой скилл. Если длительный, например буран, огненный столб и тд. то там дамаг периодично повторяющий. поэтому не всегда можно как это с мгновенными кастами типа молота бурь.
драколич прав. дучше - это полностью триггерные способности. При нанесении урона триггерно записываем в логическую, при детекте урона проверяем.
А чем убили - не все ли равно, главное кто.