WOW AI Develop 05 寻路防卡死 死亡找路复活

解决寻路防卡死死亡处理的问题。随着脚本的开发,会遇到越来越多的问题。例如,在寻路过程中,如果遇到障碍物,应该如何防止卡死呢?就像这里。

当角色行动时,如果遇到障碍物,应该如何绕过去呢?如何才能绕过障碍物呢?这是一个寻路的问题。

·启动寻路后,可以看到左下角的面板。悬浮窗面板中有一个名为“当前寻路状态计数器”的数据。在寻路过程中,计数器的状态会不断增加。当增加到某个规则时,如果角色的坐标没有变化,或者没有达到理想的状态,就可以判断方向是否卡住了。如果卡住了,就可以进行相应的复苏处理,这就是防卡死的原理。

·当角色死亡后,程序会做出相应的处理。因为寻路打怪不能保证百分之百安全,没有任何风险。如果在打怪的过程中不小心死亡了,程序会做出相应的处理。例如,现在启动寻路,同学发现我的脚本在血量很低的时候启动了自救,使用了消失的技能,自己进行了自救。第一次死亡没有成功,没有复活。

WOWAIDevelop05寻路防卡死死亡找路复活

·人工干预一下,让角色迎接第二次死亡,再使用寻路。这一次应该已经死定了,因为还有消失,没有冷却时间。

WOWAIDevelop05寻路防卡死死亡找路复活

·决定是否死亡。当角色死亡时,程序会自动释放灵魂,并尝试自动寻找尸体,然后进行复活。可以看到这一点已经实现了。复活后,程序会进行吃喝补给,将血量恢复到健康状态,然后重新进行寻路。这就是这个版本的主要优化。接下来,需要添加抓取模块。目前还没有完全实现。在这里,简单介绍一下角色死亡后跑尸复活的原理。当角色死亡后,程序会记录下坐标,即当时死亡时的坐标。记录完成后,程序会从灵魂墓园中寻找该坐标,并尝试点击接受复活按钮。这就是死亡后跑尸复活的原理。但是需要注意的是,由于我的插件使用了大脚插件,这个坐标的精度不高,小数点后面没有,只有整。这可能会导致一个问题,因为你看它的精度不高,需要产生相当大的位移后才能改变坐标。那么,当你跑到这个坐标点时,由于你的尸体距离还比较远,可能无法弹出接受复活的按钮。

那么应该怎么办呢?可以采用这样的算法:以当前记录的坐标点为中心,向前后左右分别寻找。例如,当前坐标点为x,上面的数字为x减去1,即y减去1,下面的数字为x,即y加1。左边是x减1,右边是x加1,而y需要遍历这五个点,以确保不漏过任何一个尸体,同时也不会错过任何一个复活点。这就是复活机制的基本原理。

WOWAIDevelop05寻路防卡死死亡找路复活

WOWAIDevelop05寻路防卡死死亡找路复活