找回密码
 点一下
楼主: 拜里热就脱

啊啊啊该死的触发又出问题:单位杀不死

[复制链接]
 楼主| 发表于 2012-12-11 12:47:21 | 显示全部楼层
正常了了!

感觉好神奇

谢谢ls~   |ι..."/.:"..│ιι
回复

使用道具 举报

发表于 2012-12-11 22:14:32 | 显示全部楼层
希瓦 发表于 2012-12-11 12:16
全部都使用循环整数A,冲突的可能性可是非常大的呢

求问冲突的原因

LZ的循环里并未使用等待,而魔兽又是单线程顺序执行的,为什么会冲突?

点评

单线程不代表不会跳转  详情 回复 发表于 2012-12-11 22:56
比如“释放技能事件”里面用了循环整数A “单位死亡事件”里面也用了循环整数A 释放技能时杀死单位就会触发死亡事件 然后两个事件同时使用循环整数A 死亡事件先用,用完之后再给释放技能事件 这时候循环整数已经  详情 回复 发表于 2012-12-11 22:54
回复

使用道具 举报

发表于 2012-12-11 22:54:01 | 显示全部楼层
本帖最后由 美味豆沙包 于 2012-12-11 22:55 编辑
chyj4747 发表于 2012-12-11 22:14
求问冲突的原因

LZ的循环里并未使用等待,而魔兽又是单线程顺序执行的,为什么会冲突?

比如“释放技能事件”里面用了循环整数A
“单位死亡事件”里面也用了循环整数A
释放技能时杀死单位就会触发死亡事件
然后两个事件同时使用循环整数A

释放技能事件先用,用了一半交给了死亡事件
死亡事件用完之后再给释放技能事件
这时候循环整数已经变得很大了,大到超出了循环范围
最后,剩下的那一半也不用执行了
回复

使用道具 举报

发表于 2012-12-11 22:56:41 | 显示全部楼层
chyj4747 发表于 2012-12-11 22:14
求问冲突的原因

LZ的循环里并未使用等待,而魔兽又是单线程顺序执行的,为什么会冲突?

单线程不代表不会跳转
回复

使用道具 举报

发表于 2012-12-11 23:49:01 | 显示全部楼层
好吧。。。大概找到原因了……

LZ的T在一般情况下不会产生问题,我测试后发现出bug的情况是该技能杀死单位的时候(测试时敌对单位只有英雄)会造成杀死马甲那个循环运行不完整(并未测试还有一个循环是否运行完整)

然后新建图测试循环的结果是:
比如循环1-3,显示循环数,杀死图里的3个单位
另有一个触发,任意单位死亡时显示触发单位名字
于是显示结果是:1 单位名 2 单位名 3 单位名
也就是循环里的动作触发了其它触发的话,其它触发优先运行。。

大概这就是包子说的跳转吧。。。不然我怎么都想不通是哪里“跳转”了……

于是LZ的情况可能是,循环杀死马甲时触发了另一个用来伤害敌对单位的触发,当这个伤害杀死敌对单位后,又触发了别的T,在别的T里用了循环整数A,最后回到杀死马甲的循环时循环整数A就大于5了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 03:51 , Processed in 0.345593 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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