library TreeRebirth initializer Init_tree
globals
private trigger tri=CreateTrigger()
private hashtable hxb=InitHashtable()
private real time=2 //这个控制复活时间。单位为秒,自行修改。
endglobals
private function Rebirth_run takes nothing returns nothing
local timer t=GetExpiredTimer()
call DestructableRestoreLife(LoadDestructableHandle(hxb,GetHandleId(t),1), GetDestructableMaxLife(LoadDestructableHandle(hxb,GetHandleId(t),1)), true )
call FlushChildHashtable(hxb,GetHandleId(t))
call DestroyTimer(t)
set t=null
endfunction
private function Rebirth takes nothing returns nothing
local timer t=CreateTimer()
call SaveDestructableHandle(hxb,GetHandleId(t),1,GetTriggerDestructable())
call TimerStart(t,time,false,function Rebirth_run)
set t=null
endfunction
private function RegisterTree takes nothing returns nothing
if ((GetDestructableTypeId(GetEnumDestructable()) == 'LTlt')) then
call TriggerRegisterDeathEvent(tri, GetEnumDestructable())
endif
endfunction
private function Init_tree takes nothing returns nothing
call EnumDestructablesInRect(bj_mapInitialPlayableArea, null, function RegisterTree)
call TriggerAddAction(tri, function Rebirth)
endfunction
endlibrary
——————————————————
贴吧几年前有大佬写的,拿去吧,记得给大佬上柱香。