找回密码
 点一下
查看: 874|回复: 5

如何捕捉有效的undefend命令?

[复制链接]
发表于 2013-2-16 13:23:04 | 显示全部楼层 |阅读模式
本帖最后由 t5q583 于 2013-2-17 19:02 编辑

使用防御技能模拟技能时,如果单位被纠缠根须或诱捕等击中时会自动发布unfend命令,但实际还是处于防御状态,导致触发混乱,(防御技能还没有魔法效果).更凶残的是单位使用剑圣的镜像技能时会产生3次undefend命令,但防御效果也没有消失。求怎样能捕捉实际起效果命令呢?
发表于 2013-2-16 14:00:47 | 显示全部楼层
你可以使用指令返回值。

如果你要判断单位是否在防御状态。那么就给它发个unfend命令,捕捉这个函数所返回的值。如果为真那么就在防御状态,为假就不在。

当然,如果为真,你还得让它回到防御状态就是了。

点评

对哦,只要在触发中再发上一条那就不管什么情况都能正常解除了。是这条命令么?感谢头目帮助。但镜像技能后的防御状态还是不能解除,我写了个递归(每次计时器到期判断返回值是false就再运行一次)都不行。。  详情 回复 发表于 2013-2-16 14:25
回复

使用道具 举报

 楼主| 发表于 2013-2-16 14:25:13 | 显示全部楼层
本帖最后由 t5q583 于 2013-2-16 14:28 编辑
麦德三世 发表于 2013-2-16 14:00
你可以使用指令返回值。

如果你要判断单位是否在防御状态。那么就给它发个unfend命令,捕捉这个函数所返 ...

对哦,只要在触发中再发上一条那就不管什么情况都能正常解除了。
  1. set bol = IssueImmediateOrder(GetTriggerUnit(), "undefend")
复制代码
是这条命令么?感谢头目帮助。但镜像技能后的防御状态还是不能解除,我写了个递归(每次计时器到期判断返回值是true就再运行一次)都不行。。
回复

使用道具 举报

发表于 2013-2-16 15:29:02 | 显示全部楼层
嗯?你不是要判断单位当前的状态,排除无效的指令事件么?

为什么又一定要解除它的防御状态呢?
回复

使用道具 举报

 楼主| 发表于 2013-2-16 15:46:15 | 显示全部楼层
我是根据命令的发布来控制增删技能实现狙击手状态,当发布defend就SetUnitPropWindow(,0),发布undefend就恢复单位的移动。所以当被缠绕结束后会出现单位能行走但是防御技能附加的物理伤害加成没有被取消的BUG。
回复

使用道具 举报

 楼主| 发表于 2013-2-16 15:51:34 | 显示全部楼层
释放镜像和手动关闭的返回值都是false,但释放镜像后的防御状态仍然存在(我把镜像的延迟调为0,触发中判断状态的计时器调为0.5s也返回了false)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-12-23 21:28 , Processed in 0.164492 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表