魔兽世界玩家社区APP官网

标题: [PVE] [技术讨论] 重大bug发现!!!xdm [打印本页]

作者: 成都路人甲萌    时间: 2023-5-25 19:11
标题: [PVE] [技术讨论] 重大bug发现!!!xdm
之前用的一个简单输出宏如下,先审判后命令圣印。之所以放在一起是因为基本上审判之后必跟命令圣印,这样可以节省一次按键操作和时间,同时也怕自己手抖先命令再审判。。

#showtooltip 命令圣印(等级 1)
/cast 审判
/cast 命令圣印(等级 1)

但是用着用着发现,偶尔会出现先命令圣印,然后再审判 这样一个奇怪的顺序,表现为施放了圣印然后立刻把它消耗掉,显然这是不对的。
因为理论上只要gcd转好了,使用这个宏之后,身上最后都会刷新一个命令圣印:
case1:  审判cd好了 --> 使用宏 --> 打出审判然后刷新命令圣印
case2:  审判cd没好 --> 使用宏 --> 刷新命令圣印

一句话就是有审判先审判,没审判切命令,多打圣印舞没毛病。

====================================================================================================================================================

经过多次试验和查证,我发现技能施放出现这样一个乱序的根本原因竟然是施法队列。重点来了!!!!

比如的施法队列窗口是 400ms ,当的审判冷却时间小于400ms时候,按下这个宏,会把审判这个技能放入到队列里,然后等审判cd转好了,再打出来,众所周知这没有什么问题。然而紧接着又施放了一个命令圣印,gcd转好的情况下命令圣印立刻施放。但是!!!我们前面进入队的审判,会在审判cd转好之后施放。所以实际上事件发生的顺序变成了:
400ms --> 审判失败(cd没好,放入队列等待) --> 命令圣印成功 --> 0ms -->审判成功(cd转好了)

而实际上表现的行为当然也是先命令圣印,再审判。




有人说我不用宏,审判和命令先后按下不就行了?我多次测试结果是不行,因为只要你的按键的行为跟宏一样,还是会出现上面的结果。

也就是说,任何场景下圣骑士先审判后圣印(任何圣印)的行为都可能导致先圣印后审判这种不符合预期的结果。

====================================================================================================================================================


尝试修改 /console SpellQueueWindow 0  窗口大小好像是可以。我不清楚这个值最小是多少,但是100ms的窗口比400ms的窗口更难复现上述情况,说明调小窗口值是有用的,但是这样就会严重影响技能衔接

解决的方法也很简单,使用 /cancelqueuedspell 取消施法队列
也就是

#showtooltip 命令圣印(等级 1)
/cast 审判
/cancelqueuedspell
/cast 命令圣印(等级 1)

这样可以直接取消施法队列里的审判,不会再出现刚刷新的圣印被审判打出去,然后身上没有挂任何圣印的尴尬状况,因为没有圣印意味着dps的降低。

当然这个宏依然还是有些问题,也就是不能疯狂按,只能按一下。因为当如果审判的cd恰好转好了,而gcd还没好的时候,这个宏会把之前的圣印打出去而不刷新命令圣印。。。有更好解决方法的朋友欢迎讨论

——————————————————

看了各位的想法,目前看来一个比较简洁的解决这个问题的办法,就是只在审判后面加 /cqs。不和其他的技能绑定,减小出错的概率。
/#showtooltip 审判
/cast 审判
/cancelqueuedspell
作者: 123456809    时间: 2023-5-25 19:11
基本上审判后面跟着十字军并没有楼主说的问题。。当然可能是我看没看仔细
作者: 123457265    时间: 2023-5-25 19:14
#showtooltip 命令圣印(等级 1)/castsequence reset=10 审判,命令圣印(等级 1)
永远都是先审判在命令只是不能节约按键了
作者: 大地歌女妥    时间: 2023-5-25 19:19
确实存在这个问题 我试试楼主的解决办法  —————————
已试 证实有效 就是要忍住只按一下就行 我觉得这个适应难度并不大
作者: 天褐女孩涛    时间: 2023-5-25 19:23
基本上审判后面跟着十字军并没有楼主说的问题。。当然可能是我看没看仔细
好吧审判后跟十字军确实不会有这个问题,跟圣印才会偶尔碰到这个问题。
作者: 123457148    时间: 2023-5-25 19:27
#showtooltip 命令圣印(等级 1)/castsequence reset=10 审判,命令圣印(等级 1)
永远都是先审判在命令只是不能节约按键了
这个应该确实可以,但是审判如果cd了就得等吧,好像需要一个额外的按键,在审判cd的时候直接切命令圣印。不知道我理解错了没
作者: C丶sunshine    时间: 2023-5-25 19:28
/cqs是不是更省事?
作者: 宇宙无限    时间: 2023-5-25 19:33
有时候不够专注的时候确实会出现这种情况,先命令再审判出去,dps直接亏成马,感谢楼主的宏,回去用下看看
作者: 冀苍鸾    时间: 2023-5-25 19:35
这个应该确实可以,但是审判如果cd了就得等吧,好像需要一个额外的按键,在审判cd的时候直接切命令圣印。不知道我理解错了没
他那个不行 等于要多一个按键 而且如果审判没cd都切不了命令 那岂不是自己还得判断?那我干嘛不手动
作者: 我要去2018    时间: 2023-5-25 19:38
/cqs是不是更省事?
都可以zsbd
作者: 海鑫木业    时间: 2023-5-25 19:41
他那个不行 等于要多一个按键 而且如果审判没cd都切不了命令 那岂不是自己还得判断?那我干嘛不手动
是的需要判断这一点很头疼,需要很专注才行
作者: 我是一个梦蛋    时间: 2023-5-25 19:44
看看有没有更好的思路,目前是纯手动,补圣印会慢一点点
作者: 狂人阿飙湛    时间: 2023-5-25 19:49
确实存在这个问题 我试试楼主的解决办法  —————————
已试 证实有效 就是要忍住只按一下就行 我觉得这个适应难度并不大
哈哈是的只能按一下得忍住,习惯了就还行,目前没想到完美的解决办法。其实可以只在审判后面做个宏跟一个 /cancelqueuedspell ,这样审判就一定不会乱了,命令就纯手动补。不绑定两个技能的好处就是命令不会被吃掉,坏处就是手动要慢一些
作者: 护身马甲上阵兜    时间: 2023-5-25 19:53
哈哈是的只能按一下得忍住,习惯了就还行,目前没想到完美的解决办法。其实可以只在审判后面做个宏跟一个 /cancelqueuedspell ,这样审判就一定不会乱了,命令就纯手动补。不绑定两个技能的好处就是命令不会被吃掉,坏处就是手动要慢一些
手动容易出意外 尤其是审判卡线的情况 按两个键容易失误 反正我是做不到
作者: 123457080    时间: 2023-5-25 19:55
#showtooltip
/stopattack
/castsequence reset=5 审判,命令圣印(等级 1)
试试这个,我3刀2舞,就是这样的,舞完后马上 桉这个,在舞一刀,然后十字军,然后后鲜血过刀,继续这个宏
作者: 雍不言弃    时间: 2023-5-25 19:59
#showtooltip
/stopattack
/castsequence reset=5 审判,命令圣印(等级 1)
这个宏 也可以起手比舞用,起手十字军圣印,靠近BOSS用这个宏,近身后用鲜血攻击宏直接舞
作者: earth20011    时间: 2023-5-25 20:02
这个应该确实可以,但是审判如果cd了就得等吧,好像需要一个额外的按键,在审判cd的时候直接切命令圣印。不知道我理解错了没
对的,确实是这样,要单独弄个命令
我就是用的这个宏
作者: 成哥337    时间: 2023-5-25 20:07
#showtooltip 命令圣印(等级 1)
/castsequence reset=10 审判,命令圣印(等级 1)
/changeactionbar 2#showtooltip 命令圣印(等级 1)
/castsequence reset=10 审判,命令圣印(等级 1)
/changeactionbar 1做个翻页宏也行
作者: 贺长云    时间: 2023-5-25 20:10
卧槽这想法可以




欢迎光临 魔兽世界玩家社区APP官网 (https://khd.huaijiufu.com/) Powered by Discuz! X3.5