Добавлен ApaxHoqpuJL
Вот код, в котором потерялся юнит (Не убирается, дебаг не возвращает ID)
private function AnimationTimerFollowup takes timerData data returns nothing
call RemoveUnit(data.u)
call CreateItem('MI00', GetLocationX(data.l), GetLocationY(data.l))
set data.u = null
set data.l = null
call data.destroy()
endfunction
До вызова такие объявления:
local unit u = GetTriggerUnit()
local player p = GetOwningPlayer(u)
local location l = GetUnitLoc(u)
local timer t = NewTimer()
local timerData animData = timerData.create()
set animData.u = u
set animData.l = l
И сам вызов функции:
call SetUnitAnimationReverseFollowed(u, 3, 1, 1, true, FollowUpFunc.AnimationTimerFollowup, animData)
Функция вызывается нормально, так как айтем создается правильно, юнита не трогал между локалками и вызовом. В упор не вижу в чем проблема.
Заранее спасибо.
Заранее спасибо.
Принятый ответ
зачем внешние очишаеш структуру?
Порой это нужно.
Замени GetTriggerUnit() на GetSpellAbilityUnit().
ApaxHoqpuJL:
ApaxHoqpuJL:
call SetUnitAnimationReverseFollowed(u, 3, 1, 1, true, FollowUpFunc.AnimationTimerFollowup, animData)
А это что такое? Что за FollowUpFunc.AnimationTimerFollowup?
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован ApaxHoqpuJL
ApaxHoqpuJL:
Кстати юнитов с ходу удалять ненужно, просто убивайте, возможны баги, лучше чтобы движок сам утилизировал юнита, ремув это крайние меры для визуальных даммиков и тому подобное, которое никакими абилки не взаимодействует с остальными.
Отредактирован ApaxHoqpuJL