Condition обязателен для удаления и очищения?
function Ordchid_Loop takes nothing returns boolean
local trigger t=GetTriggeringTrigger()
local integer h=GetHandleId(t)
local unit u=LoadUnitHandle(udg_H,h,0)
local unit d=LoadUnitHandle(udg_H,h,1)
local triggercondition c=LoadTriggerConditionHandle(udg_H,h,2)
call TriggerRemoveCondition(t, c)
call TriggerClearConditions(t)
call FlushChildHashtable(udg_H,h)
call DestroyTrigger(t)
set t=null
set c=null
set u=null
set d=null
return false
endfunction
function OrdchidGives takes nothing returns nothing
local trigger t=CreateTrigger()
local integer h=GetHandleId(t)
local triggercondition c = TriggerAddCondition(t,Condition(function Ordchid_Loop))
call TriggerRegisterTimerEvent(t,0,false)
call SaveUnitHandle(udg_H,h,0,GetSpellTargetUnit())
call SaveUnitHandle(udg_H,h,1,GetTriggerUnit())
call SaveTriggerConditionHandle(udg_H,h,2,c)
set t=null
set c=null
endfunction

Не не совсем, посмотри в моей карте как правильно удалять.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
32
Не не совсем, посмотри в моей карте как правильно удалять.
Принятый ответ
28
В такой конструкции лучше таймер использовать
32
16GB:
В такой конструкции лучше таймер использовать
Если это код orchid malevolence из доты, то без триггера не обойтись, нужно ловить урон по цели, факт того что цель сдохла или потеряла бафф.
Другое дело что у фрога есть система (написанная кем то умным) которая отключает триггер, заносит его в массив. Отдельный таймер переберает массив раз в N сек и смотрит сколько прошло времени с начала занесения триггера в массив, если больше 60 сек. то удаляет триггер.
AntiMage, Что наш юнный IceFrog пытается изобрести в этот раз?
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.