魔兽地图编辑器吧 关注:65,704贴子:3,845,993
  • 2回复贴,共1

用了几个函数后,魔兽总是动不动就崩溃

只看楼主收藏回复

globals
hashtable HT=InitHashtable()
endglobals function GetH takes unit u returns real
local unit u1=CreateUnit(Player(11),'npng',GetUnitX(u),GetUnitY(u),0)
local location loc=GetUnitLoc(u1)
local real h=GetLocationZ(loc)
call RemoveUnit(u1)
call RemoveLocation(loc)
set u1=null
set loc=null
return h
endfunction function TagT takes nothing returns nothing
local timer t=GetExpiredTimer()
local integer k=GetHandleId(t)
local texttag tag=LoadTextTagHandle(HT,k,0)
local real r=LoadReal(HT,k,0)+0.01
local real h=LoadReal(HT,k,1)+1.5
local real x=LoadReal(HT,k,2)
local real y=LoadReal(HT,k,3)
local integer l=LoadInteger(HT,k,4)
if (r<=0.17) then
call SetTextTagText(tag,(I2S(l)+"重施法"),r/3)
endif
call SetTextTagPos(tag,x,y,h)
call SaveReal(HT,k,0,r)
call SaveReal(HT,k,1,h)
if (r>0.34) then
call DestroyTimer(t)
call DestroyTextTag(tag)
call FlushChildHashtable(HT,k)
endif
set t=null
set tag=null
endfunction
function CTAG takes unit u,integer l returns nothing
local texttag tag=CreateTextTag()
local timer t=CreateTimer()
local integer i=GetHandleId(t)
local real h=GetUnitFlyHeight(u)+GetH(u)
call SaveInteger(HT,i,4,l)
call SaveReal(HT,i,1,h)
call SaveReal(HT,i,2,GetUnitX(u))
call SaveReal(HT,i,3,GetUnitY(u))
call SaveReal(HT,i,0,0)
call SaveTextTagHandle(HT,i,0,tag)
call TimerStart(t,0.03,true,function TagT)
if (l==2) then
call SetTextTagColor(tag,225,0,225,225)
else
if(l==3)then
call SetTextTagColor(tag,225,225,0,225)
else
call SetTextTagColor(tag,225,0,0,225)
endif
endif
set t=null
set tag=null
endfunction
求解释


IP属地:江苏1楼2012-08-01 00:56回复
    直接p=location(x,y)不就行了


    来自手机贴吧2楼2012-08-01 06:48
    收起回复