|
本帖最后由 RoyalFlare 于 2015-1-18 18:46 编辑
- A18
- 事件
- 单位 - 任意单位进入 (可用地图区域)
- 条件
- 动作
- 触发器 - 为 A5 <预设> 添加事件: (单位 - (触发单位) 接受伤害)
复制代码
- A5
- 事件
- 条件
- (单位所受伤害) 不等于 0.00
- ((伤害来源) 的 蝗虫 技能等级) 等于 1
- ((触发单位) 是 ((伤害来源) 的所有者) 的敌对单位) 等于 TRUE
- 动作
- 触发器 - 关闭 A18 <预设>
- 设置 X_DW = YX[(((伤害来源) 的所有者) 的玩家索引号)]
- 如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
- If - 条件
- ((伤害来源) 的类型) 等于 FrostArrow
- Then - 动作
- 单位 - 命令 X_DW 对 (触发单位) 造成 ((1.00 + ((转换 (X_DW 的英雄等级) 为实数) x 0.20)) x (转换 (智力 对 X_DW (包括 加成)) 为实数)) 点伤害(不是 攻击伤害, 不是远程攻击) 攻击类型: 法术 伤害类型: 普通 武器类型: 无
- Else - 动作
- 不做任何动作
- 触发器 - 开启 A18 <预设>
复制代码
- function Trig_bdjy1_Conditions takes nothing returns boolean
- if ( not ( GetUnitTypeId(GetAttacker()) == 'E00P' ) ) then
- return false
- endif
- return true
- endfunction
- function Trig_bdjy1_Actions takes nothing returns nothing
- local real i
- local location dian= GetUnitLoc(GetAttackedUnitBJ())
- local unit bb
- if ((GetRandomInt(1, 30) == 1)) then
- set i = 270.00
- call DisplayTextToPlayer( GetOwningPlayer(GetAttacker()), 0, 0, "冰冻箭雨" )
- set bb=CreateUnitAtLoc( GetOwningPlayer(GetAttacker()),'e006', dian, GetUnitPropWindowBJ(GetAttacker()) )
- //call CreateNUnitsAtLoc( 1, 'e006', Player(0), dian, GetUnitPropWindowBJ(GetAttacker()) )
- call UnitApplyTimedLifeBJ( 6.00, 'BHwe', bb )
- call IssuePointOrderByIdLoc( bb, 852593, PolarProjectionBJ(dian, 256, i) )
- call EnableTrigger( gg_trg_A5 )
- else
- endif
- call RemoveLocation (dian)
- set dian=null
- set bb=null
- endfunction
- function InitTrig_bdjy1 takes nothing returns nothing
- set gg_trg_bdjy1 = CreateTrigger( )
- call TriggerRegisterAnyUnitEventBJ( gg_trg_bdjy1, EVENT_PLAYER_UNIT_ATTACKED )
- call TriggerAddCondition( gg_trg_bdjy1, Condition( function Trig_bdjy1_Conditions ) )
- call TriggerAddAction( gg_trg_bdjy1, function Trig_bdjy1_Actions )
- endfunction
复制代码
- function Trig_bdjy2_Conditions takes nothing returns boolean
- return ((GetUnitTypeId(GetDyingUnit()) == 'e006'))
- endfunction
- function Trig_bdjy2_Actions takes nothing returns nothing
- call DisableTrigger(gg_trg_A5)
- endfunction
- //===========================================================================
- function InitTrig_bdjy2 takes nothing returns nothing
- set gg_trg_bdjy2 = CreateTrigger()
- call DisableTrigger(gg_trg_bdjy2)
- call TriggerRegisterAnyUnitEventBJ( gg_trg_bdjy2, EVENT_PLAYER_UNIT_DEATH )
- call TriggerAddCondition(gg_trg_bdjy2, Condition(function Trig_bdjy2_Conditions))
- call TriggerAddAction(gg_trg_bdjy2, function Trig_bdjy2_Actions)
- endfunction
复制代码
原谅我用了这麽蠢的TJ混合编辑方式,还没有T转J合并代码 先发上来提问1下,在论坛呆了有1段时间了,对于动态注册事件略有了解,请问我应该如何捕捉伤害来源的所有者的玩家单位索引号(技能多人化)? 根据神之墓地人皇的技能为蓝本模拟的冰冻箭雨技能 移植变量中发现的小问题.貌似我的问题总是得不到解决啊
@希瓦 @chyj4747 @ckpig @zhuzeitou @actboy168 @o0木子0o |
|