Добавлен N1ghtSiren
Запилил системку дот урона...
Можете подсказать, что можно облегчить в плане утечек?
Можете подсказать, что можно облегчить в плане утечек?
раскрыть
function DoTPure takes nothing returns nothing
local timer ti = GetExpiredTimer()
local integer h = GetHandleId(ti)
local integer times = LoadInteger(udg_GHT,h,0)
if times > 0 then
local unit c = LoadUnitHandle(udg_GHT,h,1)
local unit t = LoadUnitHandle(udg_GHT,h,2)
local real dmg = LoadReal(udg_GHT,h,3)
local string eff = LoadStr(udg_GHT,h,4)
call DestroyEffect(AddSpecialEffectTarget(eff,t,"chest"))
call UnitDamageTarget(c,t,dmg,true,false,ATTACK_TYPE_CHAOS,DAMAGE_TYPE_SONIC,WEAPON_TYPE_WHOKNOWS)
set c = null
set t = null
set eff = ""
else
call DestroyTimer(ti)
call FlushChildHashtable(udg_GHT,h)
endif
endfunction
function DoT takes unit c, unit t, real dmg, real sd, integer times, real period, string eff returns nothing
local timer ti = CreateTimer()
local integer h = GetHandleId(ti)
set dmg = dmg+(dmg*sd)
call SaveInteger(udg_GHT,h,0,times)
call SaveUnitHandle(udg_GHT,h,1,c)
call SaveUnitHandle(udg_GHT,h,2,t)
call SaveReal(udg_GHT,h,3,dmg)
call SaveStr(udg_GHT,h,4,eff)
call TimerStart(ti,period,true,function DoTPure)
set ti = null
endfunction
Принятый ответ
а где это?
set ti = null
set tt = null
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. N1ghtSiren
Ред. Hodor