Убить ентити при отмене чаннелинга

В общем, если хочешь делать через попку, то поступай, как я тебе сказал выше.

В противном случае тебе нахер не сдалась функция "patronusdie" у твоего юнита. Реализуй его убийство в абилке призывателя. Или эта самая абилка стандартная, не твоя?
 
Последнее редактирование модератором:
Через попку будет так.

Код:
function patronusdie(event)
  local caster = event.caster
  local ability = caster:GetOwner():FindAbilityByName("имя абилки призыва у owner`a")
  if ability:IsChanneling()
  	return nil
  else
	caster:ForceKill(false)
  end
end

А если по хорошему, то у призывателя в момент прерывания абилки находишь призванное существо и убиваешь его. Вроде бы даже есть функция API, что возвращает табличку подконтрольных юнитов.
 
Последнее редактирование модератором:
Короче.

Создавай юнита не через kv, а через lua

Получается "OnCast" (или как там, после каста) делаешь ранскрипт
потом в луа скрипте ориентировочно:

caster.patronus = CreateUnit(patronus)
а потом запускаешь таймер (где то 0.1) на проверку ченнелится или нет
и убиваешь caster.patronus

Это точно рабочий вариант, просто лень искать все это

Можешь сделать кастер глобалкой даже, так будет лучше
 
Последнее редактирование модератором:
Короче.

Создавай юнита не через kv, а через lua

Получается "OnCast" (или как там, после каста) делаешь ранскрипт
потом в луа скрипте ориентировочно:

caster.patronus = CreateUnit(patronus)
а потом запускаешь таймер (где то 0.1) на проверку ченнелится или нет
и убиваешь caster.patronus

Это точно рабочий вариант, просто лень искать все это

Можешь сделать кастер глобалкой даже, так будет лучше

Не надо так
Делай полностью в луа, тогда данные норм можно будет чекать
 
Последнее редактирование модератором:
Реклама: