Добавлен Hodor
Во время отладки приходит 4, ждет 3 секунды и прилетает destroy и далее 5 6 7 8 ....
Если убрать call DestroyEffectTimer и оставить только call AddSpecialEffectLoc, то всё будет нормально.
Но такого быть не должно, DestroyEffectTimer же не возвращает ничего
Если убрать call DestroyEffectTimer и оставить только call AddSpecialEffectLoc, то всё будет нормально.
Но такого быть не должно, DestroyEffectTimer же не возвращает ничего
function DestroyEffectTimer takes effect e returns nothing
call PolledWait(3.00)
call DestroyEffect(e)
call DisplayTextToPlayer(Player(0),0,0,"destroy")
endfunction
function BansheeZombies takes unit u, boolean b returns nothing
local location pU
local location p
local integer i = 0
local unit uEffect
if (b == true) then
call PolledWait (1.00)
else
call PolledWait (7.00)
endif
if ((udg_end == false) and (IsUnitDeadBJ(u) == false)) then
set pU = GetUnitLoc(u)
set p = PolarProjectionBJ(pU, 100.00, GetUnitFacing(u))
call RemoveLocation(pU)
set pU = null
set i = 0
call DisplayTextToPlayer(Player(0),0,0,"start")
loop
exitwhen i > 2
call DisplayTextToPlayer(Player(0),0,0,"1")
set uEffect = CreateUnitAtLoc(GetOwningPlayer(u), 'n00A', p, GetUnitFacing(u))
call DisplayTextToPlayer(Player(0),0,0,"2")
call GroupAddUnit(udg_globalUnitGroup, uEffect)
call DisplayTextToPlayer(Player(0),0,0,"3")
set pU = GetUnitLoc(uEffect)
call DisplayTextToPlayer(Player(0),0,0,"4")
call DestroyEffectTimer(AddSpecialEffectLoc ("Abilities\\Spells\\Undead\\RaiseSkeletonWarrior\\RaiseSkeleton.mdl", pU))
call DisplayTextToPlayer(Player(0),0,0,"5")
call RemoveLocation(pU)
call DisplayTextToPlayer(Player(0),0,0,"6")
set pU = null
call DisplayTextToPlayer(Player(0),0,0,"7")
set uEffect = null
call DisplayTextToPlayer(Player(0),0,0,"8")
set i = i + 1
call DisplayTextToPlayer(Player(0),0,0,"9")
endloop
call DisplayTextToPlayer(Player(0),0,0,"end")
call RemoveLocation(p)
call RemoveLocation(pU)
set p = null
set pU = null
set uEffect = null
set i = 0
endif
if ( (udg_end == false) and (IsUnitDeadBJ(u) == false) ) then
call BansheeZombies (u, false)
endif
endfunction
Принятый ответ
Шо за дерьмо! По изощеренне то не мог удаление эффектов сделать? видел код этих вейтов, там наверняка лимит операций уже... Да и вовсе не надо использовать вейты для задержек, уже все изсписано - ненадо вейтов, небудет ничего работать хоть вы обосритесь, есть хештаблица + таймер, забудьте про вейты, за одно и баги связанные с ними...
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Hodor