|
现象,单位只能复活4次,英雄不能复活。测试,单位设置正确,位置正确。编辑器YDWE1.22.8
已经解决,因为初始化单位设置为单位,只有当单位死亡后尸体腐化前能够取到单位类型刷怪,之后就不可以,需要重新设置新单位代替变量中已死亡的旧单位。将变量类型改为单位类型不会出现这种问题,下面我列出解决方案给大家参考一下。
初始化:
[trigger]单位组 - 选取 ((完整地图区域) 内的所有单位) 内所有单位做动作
Loop - 动作
设置 fg_x = (fg_x + 1)
设置 shuaguai_unitlx[fg_x] = ((选取单位) 的类型)
单位 - 设置 (选取单位) 的自定义值为 fg_x
设置 shuaguai_dian[fg_x] = ((选取单位) 的位置)
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((选取单位) 是 英雄) 等于 TRUE
Then - 动作
设置 shuaguai_leixing[fg_x] = 1
Else - 动作
触发器 - 为 f <预设> 添加事件: (单位 - (选取单位) 接受伤害)
单位 - 为 (选取单位) 添加 00魔法伤害减少
单位 - 设置 (选取单位) 打开 00魔法伤害减少 永久性
单位组 - 添加 (选取单位) 到 fg_r
[/trigger]
添加新事件:
[trigger]如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((进入的单位) 的自定义值) 等于 0
((进入的单位) 是 英雄) 等于 TRUE
Then - 动作
设置 fg_x = (fg_x + 1)
设置 shuaguai_leixing[fg_x] = 1
设置 shuaguai_unitlx[fg_x] = ((进入的单位) 的类型)
单位 - 设置 (进入的单位) 的自定义值为 fg_x
Else - 动作
[/trigger]
刷怪:
[trigger]如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((死亡单位) 的类型) 等于 刷野 - 计时单位
Then - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
shuaguai_leixing[((死亡单位) 的自定义值)] 等于 0
Then - 动作
单位 - 创建 1 个 shuaguai_unitlx[((死亡单位) 的自定义值)] 给 中立敌对 在 shuaguai_dian[((死亡单位) 的自定义值)] ,面向角度为 (随机角度) 度
单位 - 设置 (最后创建的单位) 的自定义值为 ((死亡单位) 的自定义值)
Else - 动作
设置 shuaguai_zu = (属于 中立敌对 的所有 shuaguai_unitlx[((死亡单位) 的自定义值)])
单位组 - 选取 shuaguai_zu 内所有单位做动作
Loop - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((选取单位) 的自定义值) 等于 ((死亡单位) 的自定义值)
Then - 动作
英雄 - 立即复活 (选取单位) 在 shuaguai_dian[((死亡单位) 的自定义值)] , 隐藏 复活动画
Else - 动作
自定义代码: call DestroyGroup( udg_shuaguai_zu )
Else - 动作
单位 - 创建 1 个 刷野 - 计时单位 给 中立敌对 在 shuaguai_dian[((死亡单位) 的自定义值)] ,面向角度为 0.00 度
单位 - 为 (最后创建的单位) 设置 类 类型的生命周期,持续时间为 ((转换 ((死亡单位) 的附加值) 为实数) x 0.05) 秒
单位 - 设置 (最后创建的单位) 的自定义值为 ((死亡单位) 的自定义值)
[/trigger] |
|