сделал спел....надеялся на чудо, а вот и херен не работает
посмотрите почему код не работает, спел такой
кастер юзает скил, и все враги в области 1000 начинают терять защиту в указанном количестве, в течении указанного времени, защита эффект исчезает через определённое время, на цели всё это время должен быть эффект
я нуб,честно, сам не разобрался помогите плз
вот функция
Code
function Trig_sdfhj_Conditions takes nothing returns boolean
return ( not ( GetSpellAbilityId() == 'A000' ) )
endfunction
function UnitEn takes nothing returns boolean
return ( IsPlayerEnemy(GetOwningPlayer(GetTriggerUnit()), GetOwningPlayer(GetFilterUnit())) == true )
endfunction
function Trig_sdfhj_Actions takes nothing returns nothing
local integer last=5 //длительность эффекта
local integer arm=1 //кол-во уменьшеной защиты в сек
local integer lar=60 //длительность уменьшеной защиты(sec)
local unit caster=GetTriggerUnit()
local group g
local unit q
local effect array e
local location L=GetUnitLoc(caster)
local integer array we
local unit array er
set g=GetUnitsInRangeOfLocMatching(1000.00, L, Condition(function UnitEn ))
loop
set q=FirstOfGroup(g)
exitwhen q == null
set we[1]=we[1]+1
set er[we[1]]=q
call AddSpecialEffectTargetUnitBJ( "chest", er[we[1]], "Abilities\\Spells\\Other\\Doom\\DoomTarget.mdl" )
set e[we[1]]=GetLastCreatedEffectBJ()
call GroupRemoveUnit(g, q)
endloop
loop
set we[2]=we[2]+1
exitwhen we[2]>last
loop
set we[3]=we[3]+1
exitwhen we[3]>we[1]
loop
set we[4]=we[4]+1
call UnitAddAbilityBJ( 'A001', er[we[3]] )
exitwhen we[3]==arm
endloop
set we[4]=0
endloop
call TriggerSleepAction( 1 )
set we[3]=0
endloop
call TriggerSleepAction( lar )
loop
set we[5]=we[5]+1
exitwhen we[5]>we[1]
call DestroyEffectBJ( e[we[5]] )
set e[we[5]]=null
endloop
set we[6]=arm*last
loop
set we[7]=we[7]+1
exitwhen we[7]>we[1]
loop
set we[10]=we[10]+1
exitwhen we[10]>we[6]
call UnitRemoveAbilityBJ( 'A001', er[we[7]] )
endloop
set we[10]=0
set er[we[7]]=null
endloop
call RemoveLocation(L)
set q=null
set caster=null
call DestroyGroup(g)
endfunction