level 13
而且捕捉到之后GetHandleId得到的居然是0 但是确实是捕捉到了 因为删除有效……
2012年12月03日 10点12分
2
level 13
globals
terraindeformation array ground
ubersplat array ub
integer gi = 0
integer ubi = 0
endglobals
function a takes nothing returns nothing
local timer t = GetExpiredTimer()
call DestroyUbersplat(ub[ubi])
call TerrainDeformStop(ground[gi],0)
call PauseTimer(t)
call DestroyTimer(t)
set t = null
endfunction
function Trig_removeConditions takes nothing returns boolean
return ((GetSpellAbilityId() == 'A002'))
endfunction
function Trig_removeActions takes nothing returns nothing
local timer t = CreateTimer()
local integer i = 0
loop
if ground[i] == null then
exitwhen true
endif
set i = i+1
endloop
set gi = i
set i = 0
loop
if ub[i] == null then
exitwhen true
endif
set i = i+1
endloop
set ubi = i
set ground[gi] = bj_lastCreatedTerrainDeformation
set ub[ubi] = bj_lastCreatedUbersplat
call TimerStart(t,0,false,function a)
set t = null
endfunction
//===========================================================================
function InitTrig_remove takes nothing returns nothing
set gg_trg_remove = CreateTrigger()
#ifdef DEBUG
call YDWESaveTriggerName(gg_trg_remove, "remove")
#endif
call TriggerRegisterUnitEvent( gg_trg_remove, gg_unit_H000_0001, EVENT_UNIT_SPELL_EFFECT )
call TriggerAddCondition(gg_trg_remove, Condition(function Trig_removeConditions))
call TriggerAddAction(gg_trg_remove, function Trig_removeActions)
endfunction
就像这样@ 绯弹亚丝娜 应该没问题吧?
顺带 如果把TerrainDeformStop(ground[gi],0)换成TerrainDeformStopAll()就没有问题 不过这样不是全部清空了么。。。。
2012年12月03日 10点12分
5