动态注册从哪里开始?
本帖最后由 蘑菇 于 2014-3-15 11:01 编辑不知道动态注册从哪里开始,代码中 AA()只运行了一次
function c takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'AUan' ) ) then
return false
endif
return true
endfunction
function d takes nothing returns nothing
call BB()
endfunction
//===========================================================================
function InitTrig_a takes nothing returns nothing
set b = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( b, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call AA()
//AA()只运行了一次
call TriggerAddCondition( b, Condition( function c) )
call TriggerAddAction( b, d )
/*如果在这里记录条件和动作只显示一次,不知在d里再次输入{。。。。}算不算动态注册
{ set ? = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( ?, EVENT_PLAYER_UNIT_SPELL_EFFECT ) call TriggerAddCondition( ?, Condition( function ??) )
call TriggerAddAction( ?, 动作)
call saveTriggerCondition(??)
call saveTriggerAction(?)}
*/
endfunction
把你大括号里的那段放到d里就是动态注册,动态注册就是指触发器被触发后才新建触发器注册事件 chyj4747 发表于 2014-3-15 23:04
把你大括号里的那段放到d里就是动态注册,动态注册就是指触发器被触发后才新建触发器注册事件
这样就有两次触发技能获取了,而且换成每秒事件还会出错 蘑菇 发表于 2014-3-16 19:45
这样就有两次触发技能获取了,而且换成每秒事件还会出错
你在顶楼不是只问了“是不是动态注册”么……
逻辑上的问题就要做一些比如防止重复注册之类的东西,反正逻辑写对了不管你怎么注册都没问题
页:
[1]