|
在设计这个技能之后,地图老是在玩的过程正弹错误框中止,我怀疑是这个技能的问题。大大们帮忙看看哪儿有问题
技能名称为亡灵天降,这个技能的目的是让大墓地往下面空投亡灵士兵,每个大墓地最多只能保持20个存活的亡灵士兵,亡灵士兵在从空中落到地面之前是暂停的,到地面后恢复。
分为三个触发器
第一个触发器再大墓地建设完成后给予自定义值,自定义值用作单位组数组的后缀,来判断某个大墓地所对应的单位组是否超过了20
第二个触发器用于空投士兵
第三个触发器用于在亡灵士兵死亡后从单位组中剔除。
[trigger]undeaddrop number
事件
单位 - 任意单位 完成建造
条件
((触发单位) 的类型) 等于 大墓地
动作
单位 - 设置 (触发单位) 的自定义值为 unitwave_undeaddrop
设置 unitwave_undeaddrop = (unitwave_undeaddrop + 1)
单位组 - 添加 (触发单位) 到 units_bigtomb
[/trigger]
[trigger]undeaddrop
事件
单位 - 任意单位 发动技能效果
条件
Or - 任意条件成立
条件
(施放技能) 等于 大墓地-亡灵天降1
(施放技能) 等于 大墓地-亡灵天降2
(施放技能) 等于 大墓地-亡灵天降3
动作
设置 a_point1 = ((触发单位) 的位置)
变量<YDWE> - 开启局部变量功能
变量<YDWE> - 设置 loc_point = ((技能施放目标) 的位置)
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((((触发单位) 的所有者) 可用人口数) - (((触发单位) 的所有者) 已使用人口数)) 小于或等于 0
Then - 动作
游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示文本: 可使用人口数...
Else - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
(units_undeaddrop[((触发单位) 的自定义值)] 中的单位数量) 大于或等于 20
Then - 动作
游戏 - 对 ((触发单位) 的所有者) 在屏幕位移(0.00,0.00)处显示文本: 浮空基地的亡...
Else - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
(施放技能) 等于 大墓地-亡灵天降1
Then - 动作
单位池 - 从 unitpool_undeaddrop1 中为 ((触发单位) 的所有者) 任意选择一个单位并放置到点( (a_point1 的X轴坐标) , (a_point1 的Y轴坐标) ) 面向 (a_point1 到 (loc_point) 的角度)
变量<YDWE> - 设置 loc_unit = (最后从单位池里取出的单位)
函数<YDWE> - 让单位 (最后从单位池里取出的单位) 变得可以飞行。
动画 - 改变 (最后从单位池里取出的单位) 的飞行高度为 600.00 ,变换速率: 0.00
特殊效果 - 创建并绑定特效到 chest 对 (最后从单位池里取出的单位) ,使用模型: Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
变量<YDWE> - 设置 loc_effect = (最后创建的特效)
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((最后从单位池里取出的单位) 的类型) 等于 石像鬼
Then - 动作
动画 - 改变 (最后从单位池里取出的单位) 的飞行高度为 240.00 ,变换速率: 150.00
Else - 动作
单位 - 设置 (最后从单位池里取出的单位) 暂停
动画 - 改变 (最后从单位池里取出的单位) 的飞行高度为 0.00 ,变换速率: 300.00
Else - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
(施放技能) 等于 大墓地-亡灵天降2
Then - 动作
单位池 - 从 unitpool_undeaddrop2 中为 ((触发单位) 的所有者) 任意选择一个单位并放置到点( (a_point1 的X轴坐标) , (a_point1 的Y轴坐标) ) 面向 (a_point1 到 (loc_point) 的角度)
变量<YDWE> - 设置 loc_unit = (最后从单位池里取出的单位)
单位 - 设置 (最后从单位池里取出的单位) 暂停
函数<YDWE> - 让单位 (最后从单位池里取出的单位) 变得可以飞行。
动画 - 改变 (最后从单位池里取出的单位) 的飞行高度为 600.00 ,变换速率: 0.00
特殊效果 - 创建并绑定特效到 chest 对 (最后从单位池里取出的单位) ,使用模型: Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
变量<YDWE> - 设置 loc_effect = (最后创建的特效)
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((最后从单位池里取出的单位) 的类型) 等于 石像鬼
Then - 动作
动画 - 改变 (最后从单位池里取出的单位) 的飞行高度为 240.00 ,变换速率: 150.00
Else - 动作
单位 - 设置 (最后从单位池里取出的单位) 暂停
动画 - 改变 (最后从单位池里取出的单位) 的飞行高度为 0.00 ,变换速率: 300.00
Else - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
(施放技能) 等于 大墓地-亡灵天降3
Then - 动作
单位池 - 从 unitpool_undeaddrop3 中为 ((触发单位) 的所有者) 任意选择一个单位并放置到点( (a_point1 的X轴坐标) , (a_point1 的Y轴坐标) ) 面向 (a_point1 到 (loc_point) 的角度)
变量<YDWE> - 设置 loc_unit = (最后从单位池里取出的单位)
单位 - 设置 (最后从单位池里取出的单位) 暂停
函数<YDWE> - 让单位 (最后从单位池里取出的单位) 变得可以飞行。
动画 - 改变 (最后从单位池里取出的单位) 的飞行高度为 600.00 ,变换速率: 0.00
特殊效果 - 创建并绑定特效到 chest 对 (最后从单位池里取出的单位) ,使用模型: Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
变量<YDWE> - 设置 loc_effect = (最后创建的特效)
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((最后从单位池里取出的单位) 的类型) 等于 石像鬼
Then - 动作
动画 - 改变 (最后从单位池里取出的单位) 的飞行高度为 240.00 ,变换速率: 150.00
Else - 动作
单位 - 设置 (最后从单位池里取出的单位) 暂停
动画 - 改变 (最后从单位池里取出的单位) 的飞行高度为 0.00 ,变换速率: 300.00
Else - 动作
点 - 清除 a_point1
单位组 - 添加 (loc_unit) 到 units_undeaddrop[((触发单位) 的自定义值)]
单位组 - 添加 (loc_unit) 到 units_undeaddropall
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((loc_unit) 的类型) 不等于 石像鬼
Then - 动作
等待 2.00 秒(局部变量专用)
特殊效果 - 删除 (loc_effect)
单位 - 设置 (loc_unit) 恢复
单位 - 对 (loc_unit) 发布 攻击移动 命令到目标点: (loc_point)
Else - 动作
单位 - 设置 (loc_unit) 恢复
单位 - 对 (loc_unit) 发布 攻击移动 命令到目标点: (loc_point)
等待 2.00 秒(局部变量专用)
特殊效果 - 删除 (loc_effect)
变量<YDWE> - 清空局部变量
[/trigger]
[trigger]undeaddrop dead
事件
单位 - 任意单位 死亡
条件
((触发单位) 在 units_undeaddropall 中) 等于 TRUE
动作
单位组 - 把 (触发单位) 从 units_undeadcontral[((触发单位) 的自定义值)] 移除
单位组 - 把 (触发单位) 从 units_undeadcontralall 移除
[/trigger] |
|