хочется сразу 2 удалить как это сделать?
loop
set n = FirstOfGroup(g)
set pn = GetOwningPlayer(n)
exitwhen n == null
if IsUnitIllusion(n) == true and pn == p12 then
set dummyn = CreateUnit(pn,'u00E',GetUnitX(n),GetUnitY(n),0)
call UnitApplyTimedLife(dummyn,'BTLF',3.00)
call IssueTargetOrder(dummyn,"curse",n)
set e = AddSpecialEffectTarget("war3mapImported\\Rasengan.mdx",n,"handright")
call TimerStart(t,1,true,cot)
call SaveUnitHandle(Hash,GetHandleId(t),2,n)
call SaveEffectHandle(Hash,GetHandleId(t),1,e)
endif
call GroupRemoveUnit(g,n)
set dummyn = null
set pn = null
endloop
endif
function proverkaeffect takes nothing returns nothing
local timer t = GetExpiredTimer()
local unit u = LoadUnitHandle(Hash,GetHandleId(t),2)
local effect e = LoadEffectHandle(Hash,GetHandleId(t),1)
if GetUnitAbilityLevel(u,'B006') > 0 then
else
call DestroyEffect(e)
set e = null
call FlushChildHashtable(Hash,GetHandleId(t))
call DestroyTimer(t)
endif
Принятый ответ
может прикрепить эффекты не к таймеру а к dummyn?
прикрепить то прикрепил хендлы разные но не могу теперь почистить хеш если почистить то удаляет все и один эффект все равно остается
возможно ли сделать без лупа, set n= firstofgroup() действия потом if n!=n1 set n1 = firstofgroup и действия?
не катит, записал под два цикла и из за того что неправильно юзаю циклы все зависает к чертям
не могу сделать проверку condition потому что туда нужно сохранить на хеш игрока но нельзя в condition обнулять ниччего а то карта не запустится
остался последний способ иницилиазировать таймер как нулл потом после проверки создавать таймер
local timer t = null
if IsUnitIllusion(n) == true and GetUnitTypeId(n) == 'Hpal' and pn == p12 then
set t = CreateTimer()
способ выше рабочий)
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Ред. Ельнур