В карте cat or mouse есть такая вещь, определение каким скиллом убили юнита, допустим умирает мышь, и пишет ник игрока убившего, имя юнита, и если он скиллом убил её, то пишет каким, вопрос как определить название? Нет такого GetKillerSpell или чтото в этом роде?

Принятый ответ

нужно наносить все уроны триггерно, только тогда будет 100% гарантия
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
10
16
5 лет назад
10
нужно наносить все уроны триггерно, только тогда будет 100% гарантия
Принятый ответ
0
18
5 лет назад
0
Есть один способ, но он не идеален, не проверен, и скорее всего даже бредовый :)
Когда на юнита применяют заклинание, нужно дать ему способность-пустышку (я их маркерами называю), чтобы отметить его. Затем триггер на получение урона. Вроде бы есть проверка на тип урона (физический/магический). Но тогда по логике если юнит с магической атакой, то будет неправильно работать. Тогда заменим тип атаки в редакторе объектов. Если полученный урон больше, чем (здоровье цели минус 0.405), то ничего не делаем. Иначе - удаляем маркер, так как цель выживет. Ну и третий триггер. Юнит умирает - если уровень способности-маркера у умирающего юнита > 0, то он убит заклинанием.
Способ, предложенный DracoL1ch, конечно, лучше. Но как его реализовать - я не знаю.
0
21
5 лет назад
0
Maniac_91, хэш лучше этих пустышек
2
17
5 лет назад
Отредактирован N1ghtSiren
2
При каждом касте записывать на хендл кастера название спелла, убирать если не обновляется в течении 2х секунд.
Если нет хендла на кастере - значит убил с руки
Если есть - значит со спелла, но нужна БД чтобы отсеивать те спеллы, что могут туда попасть, или будет путаница, например убил кастом иллюзии или ещё чем.
======================
А ещё можно пронести все абилки сквозь даммиков, и в хендл даммика записывать имя абилки при касте.
Если убийца = даммик, то читать из хендла какую абилку он кастовал
0
26
5 лет назад
0
Возможно, что кот атакует с эффектом Чёрной стрелы, которая создаёт юнитов после смерти. Если юнит нужного кота появился, то убил лапкой, если не появился, а убийца этот кот, то убил способностью. А способность типа последняя применённая.
1
20
5 лет назад
1
PyCCKuu_4eJl, нужно еще учесть, что не все способности/касты наносят урон сразу после применения. Например, для спелла со снарядом все события типа spell_finished или spell_endcast завершаются за несколько секунд до нанесения урона. Так что способ от DracoL1ch единственный позволяет буквально взять все в свои руки. Метод с дамми-кастером тоже юзабелен в некоторых пределах.
0
17
5 лет назад
0
PhysCraft, Кастуете фаербол(абилка на основе канала) в таргет, появляется даммик и кастует настоящий фаербол. Вся суть.
0
27
5 лет назад
Отредактирован MpW
0
PhysCraft, +++
тут еще зависит от того какой скилл. Если длительный, например буран, огненный столб и тд. то там дамаг периодично повторяющий. поэтому не всегда можно как это с мгновенными кастами типа молота бурь.

PyCCKuu_4eJl, хорошая идея, которая облегчает жизнь. То что дамагер - это даймик, даст нам знать что был каст. НО обычно из-за дайми кастов не агрится противник, опыт гер может не получить (ведь кастер - даймик). Мб это не ущербно, решаемо. Можно триггерно переагрить, и триггерно опыт давать. Я как то пошел бы по сложному пути
драколич прав. дучше - это полностью триггерные способности. При нанесении урона триггерно записываем в логическую, при детекте урона проверяем.
2
8
5 лет назад
2
Порылся в коде карты, там система из нескольких триггеров: первый при применении заклинания записывает этому игроку (не конкретному юниту) название спелла; второй при атаке мыши обнуляет эту переменную у владельца атакера, и третий при убийстве мыши, если переменная пустая, значит не писать, если не пустая тогда писать название скилла.
0
32
5 лет назад
0
Poma, это очень кривая и ненадежная реализация, но особо пофиг каким скиллом убили или не убили. Полезнее для игроков в таблицу или стату писать нанесенный и полученный урон., кто в игре был самым прогрессивным по урону.
А чем убили - не все ли равно, главное кто.
0
26
5 лет назад
0
Poma, честно, очень приятно, когда кто-то не сидит ровно и ждёт ответа, а и самостоятельно пытается до него докопаться.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.