|
发表于 2011-11-12 16:37:19
|
显示全部楼层
嗯... 请问J版的可以? 可以移植,要创建一个名为HT的哈希表
我不是有意的,不过那个被认为粉广告的演示地图里真的有
http://bbs.islga.org/read-htm-tid-546305-page-1.html
以下是部分Jass,移植的话要补全
[jass]function IfEndBuff takes nothing returns nothing
local timer t=GetExpiredTimer()
local integer th=GetHandleId(t)
local unit u=LoadUnitHandle(udg_HT,th,2)
if (GetUnitAbilityLevel(u,LoadInteger(udg_HT,th,3))>0)==LoadBoolean(udg_HT,th,4) then
call ReadAndDofunc(th,4)
call PauseTimer(t)
endif
set t=null
set u=null
endfunction
function EndBuff takes unit u,integer b,integer ti,boolean i,code c returns nothing
local timer t=CreateTimer()
local integer th=GetHandleId(t)
local boolexpr func=Condition(c)
call SaveUnitHandle(udg_HT,th,2,u)
call SaveInteger(udg_HT,th,3,b)
call SaveBoolean(udg_HT,th,4,i)
call SaveBooleanExprHandle(udg_HT,th,4,func)
call TimerCast(t,0.1,ti*10+1,function IfEndBuff)
set t=null
set func=null
endfunction[/jass]
请注意EndBuff函数
注释--u=被检测的单位、b=被检测的BUFF、i=最大检测时间
b=成立条件、c=执行函数
b=true, 有BUFF则执行c
b=false, 没有、BUFF消失则执行c
如LS所说 YDWE有专门检测BUFF的触发,具体就不了解了~ |
|