魔兽争霸怎么给单位连续下指令
魔兽争霸官方对战平台怎么断线重连?
魔兽争霸官方对战平台怎么断线重连?
在游戏的过程中假如意外掉线,那么重新登录继续进入游戏后可以由系统进行断线重连,快速追赶游戏进度,让你去找战友们继续战斗。
简单说一下断线重连的原理:
断线重连的核心其实就是两个:1)封包回放;2)在合适的时机屏蔽用户的操作。
对于第一点实事上很多平台已经实现,原理比较简单,就是把用户的所有封包原封不动的发给他,由于war3的机制,当收到大量的封包的时候,war3会采取加速的形式追赶进度。
这里稍微提一下加速的倍率,在我内部测试的时候,如果不产生操作指令(例如一直站着不动50分钟),加速的倍率可以到128倍以上(由于war3限制了最高8倍速,所以这个值也是需要hack修改的),而如果是实战中,比如一局dota,即使我将内部的速度调成128倍,这个速度最高只能是十几倍。
那么有没有更好的方案,比如不追赶进度,像dota2那样直接加载不是更好吗?很可惜,当时在我研究的时候发现这个方案不可行,原因是war3并没有保存全局状态的逻辑,也没有从一个状态加载游戏的功能。
再谈谈第二点,这个应该是断线重连的核心问题了。其实这个问题需要注意的很多,比如如何保证在追赶进度的时候用户不能输入操作,同时追赶完进度后要在合适的时机放开限制。
这里只提一下难点,因为war3的封包处理和逻辑计算是在不同的线程的,如果处理不当会导致各种诡异的bug,比如和队友在不同的时空中(进去玩过的朋友应该有这种体会,那种在你的电脑里你已经成神,但是在队友或者其他人那里你早已成鬼,但是你们还可以打字交流。这个bug后来发现是封包发送部分处理的时候有些bug,并没有完整的回放所有封包导致的,并非是断线重连这个解决方案本身的bug)。
魔兽世界宏命令如何将两个技能放一起?
魔兽世界的宏命令可以让没有公共CD的技能同时使用,但是如果这两个或多个技能之间存在公共CD那么就不能同时使用,但可以按两下来让这多个技能连续使用,奥术射击和震荡射击不存在公共CD,是可以同时施放出来的宏命令是/施放奥术射击,/施放震荡射击,具体操作如下:
第一步,进入游戏后按ESC调出主菜单。
第二步,在主菜单里面选择宏命令设置。
第三步,进入宏命令设置界面后点击新建。
第四步,给宏命令输入名称和选择图标,然后点击确定。
第五步,输入宏命令后点击保存。
第六步,把保存好的宏命令拖到技能栏,就可以使用了。