yhylwhf yhylwhf
关注数: 0 粉丝数: 14 发帖数: 44 关注贴吧数: 3
没攻击,没移动的马甲到底怎么自己中断施法的 我用t控制敌对势力马甲释放死亡凋零,如果没有人收到伤害,施法到一半的时候自己就停了,如果有人收到伤害就能完成整个施法,甚是诡异,为了测试,我没有杀死马甲,不知道有没有大神解答下。 附送一个很脑残的环绕函数,yd的实在无力吐槽。 function aroundhelp takes nothing returns nothing local timer t = GetExpiredTimer() local unit target = LoadUnitHandle(udg_hash1,GetHandleId(t),1) local unit actor = LoadUnitHandle(udg_hash1,GetHandleId(t),2) local real aspeed = LoadReal(udg_hash1,GetHandleId(t),3) local real r = LoadReal(udg_hash1,GetHandleId(t),4) local real current = LoadReal(udg_hash1,GetHandleId(t),5) local real vm = aspeed/25 local real newx = GetUnitX(target)+r*CosBJ(current) local real newy = GetUnitY(target)+r*SinBJ(current) if IsUnitAliveBJ(target) == false then call KillUnit(actor) endif if IsUnitAliveBJ(actor) == true then call SetUnitX(actor,newx) call SetUnitY(actor,newy) call SaveUnitHandle(udg_hash1,GetHandleId(t),1,target) call SaveUnitHandle(udg_hash1,GetHandleId(t),2,actor) call SaveReal(udg_hash1,GetHandleId(t),3,aspeed) call SaveReal(udg_hash1,GetHandleId(t),4,r) call SaveReal(udg_hash1,GetHandleId(t),5,current+vm) else call FlushChildHashtable(udg_hash1,GetHandleId(t)) call PauseTimer(t) call DestroyTimer(t) endif set target = null set actor = null set t = null endfunction function around takes unit target,unit actor,real aspeed,real r,real firstAG returns nothing local timer t = CreateTimer() call SaveUnitHandle(udg_hash1,GetHandleId(t),1,target) call SaveUnitHandle(udg_hash1,GetHandleId(t),2,actor) call SaveReal(udg_hash1,GetHandleId(t),3,aspeed) call SaveReal(udg_hash1,GetHandleId(t),4,r) call SaveReal(udg_hash1,GetHandleId(t),5,firstAG) call TimerStart(t,0.04,true,function aroundhelp) set t = null endfunction 哈希表请自行修改,使用call around(被环绕单位,动作单位,速度,半径,初始角度)
1 下一页