分类：游戏-网易游戏-魔兽世界
问题：有战士嘲讽抵抗后喊话通知大家得宏吗?我是一个经常做T2得战士,每 
我是一个经常做T2得战士,每次嘲讽怪物抵抗,没拉好怪得时候我也很冤啊!!所以想要一个这样得宏,一是提醒大家,二是也让大家知道我尽力了!!我在网上找了一个有问题!!大家能看看这个宏怎么改?或者给我一个能用得宏也可以!谢谢!上次发得帖子没人回,估计是没份这次有分,谢谢了!/Script astSpellByName("嘲讽")/Script for i 1,16 do if (not string.find(UnitDeBuff("target", i), "嘲讽")) then SendChatMessage("嘲讽失败请大家注意","RAID我是一个经常做T2得战士,每次嘲讽怪物抵抗,没拉好怪得时候我也很冤啊!!所以想要一个这样得宏,一是提醒大家,二是也让大家知道我尽力了!!我在网上找了一个有问题!!大家能看看这个宏怎么改?或者给我一个能用得宏也可以!谢谢!上次发得帖子没人回,估计是没份这次有分,谢谢了!/Script astSpellByName("嘲讽")/Script for i 1,16 do if (not string.find(UnitDeBuff("target", i), "嘲讽")) then SendChatMessage("嘲讽失败请大家注意","RAID") 
回答：昨天帮你试过了,不过带给你的是不幸的消息，这个宏无法正常工作。这个宏的设计原理是这样的：在你施放嘲讽后，马上检查目标的所有debuff情报，看有没有嘲讽存在，如果没有，马上团队喊话不过源程序中有一些基本的语法和逻辑错误，无法运行，依照他的设计思想，我改成了如下形势/Script CastSpellByName("嘲讽")/Script a=0;for i=1,16 do if (UnitDeBuff("target", i)~=nil and  nd(UnitDeBuff("target", i), "reincarnation")) then a=1 end end/Script if a==0 then SendChatMessage("嘲讽失败请大家注意","RAID") end可惜，程序能够正常运行了，但其功能不能正常实现，他有两个严重的错误——首先，这个宏没有判断嘲讽是否可以释放（比如是否CD中，是否目标在范围外），所以很可能误报，者还不是关键，因为可以编程判断；更加致命的问题是，你对目标释放debuff，其信息不能够立即回馈给你，我查了暴雪官方网站的宏主题网页，有这样一段问答Why doesn't UnitDebuff accurately report the spell I just cast - There is a ~0.5 second gap (actually, the network roundtrip time between you and the server, plus some reaction time in the server itself) between the end of a spell being cast and its associated debuff texture showing up on the unit upon which it was cast. This gap causes problems for "Smart Cast" scripts which try to prevent a spell like Immolate from being run when the target already has the debuff on it. If there is a pause between casting, the script would work; however, if the script is triggered rapidly then it is likely to try to cast Immolate twice (since it does not yet see the debuff on the target unit). ...........明白了么？这个宏的设计思路在理论上就有缺陷但是不必灰心，嘲讽抵抗警报宏还是可以实现的，不过这样借助一个插件。插件的名字叫AfterCast，在搜索一下能找到很多相关联结，比如 这些连接网站大都介绍了这个插件的使用方法，并可以举一反三用在任何debuff或者dot机能上最后提醒你，使用任何插件都有风险，使用密保卡是有效的防范措施