Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] 关于地图追踪和调度器的一些建议 #779

Open
Yang-z opened this issue Nov 10, 2024 · 2 comments
Open

[feature] 关于地图追踪和调度器的一些建议 #779

Yang-z opened this issue Nov 10, 2024 · 2 comments

Comments

@Yang-z
Copy link

Yang-z commented Nov 10, 2024

早上试了一下调度器的新功能,用莱伊拉跑图。开盾的情况能抗打断,确实能增加一些稳定性能。但某些情况下中途开盾,加上开盾后角色会有轻微后倒,会导致圣遗物拾取失败。

圣遗物拾取挺讲究时机的。因为攀爬小障碍物会暂时让调查按钮消失,以及点击调查后圣遗物会在一定程度上随机飞出等原因,圣遗物拾取时需要不停顿地走到中心点,然后让程序有时间去点击调查,圣遗物飞出瞬间完成拾取。这样才能稳。

莱伊拉在接近调查点时开盾,会有个行动暂停,此时如果已经在调查点周边调查按键出现,而未到达调查点中心,程序就有时间去点击调查,就会导致圣遗物提前飞出,超出拾取距离,就容易拾取不到。而pick_around在脚本中很难驾驭,早先版本我以为是给拾取点击拖延时间的,现版本发现是四处游走一下,这会影响脚本预期路线,感觉用不了。(大概影响频率:3/130)

另外,早上我还遇到,走到了中心点,调查按钮出现,程序来不及点击,角色突然开盾后倾,调查按钮消失,导致调查拾取失败的情况。不知道是脚本中的点离拾取点过远的原因,还是开盾也会导致调查按钮消失。还需要再测试。这个点位原先是很稳定的。(大概影响频率:1/130)

0.36.1版本是不是又在walk时自动加了一些冲刺?有好处,用户没写run的路径中,会提高一点效率。也引入了一些不不稳定。一些路径节点,我写了walk,但突然有个冲刺,就容易跑偏,极端情况下会爬上墙或摔下悬崖。因为有些路段镜头就是不稳的,所有才用walk。(大概影响频率:1/130)

这个版本,fly启动太快,镜头未调稳就开始跳过去了,可能会跳偏,尤其是在小空间用fly当跳跃过小障碍物用的时候。不过影响范围有限,这两天我也就发现过几次真正影响路径脚本的完成,其中一次是清籁丸船体内最后跳跃至楼梯口的时候,现在已经改为walk绕开障碍物了。(大概影响频率:1/130)

基于以上情况,我有一些建议:

  1. 在各节点中间触发技能,逼近过程不触发。
  2. 原先我建议保留自动加速功能,但现在所有节点都手动指定了walk或run后,发现手动指定还是稳一些。所以我还是建议让脚本指定吧,少一些不可预期的加速。
  3. 在不影响效率的情况下,如果可以,让fly启动时稍微等一下镜头摆正。
  4. target坐标到达后,现在默认有一个充足的等待时间,拾取确实稳定了一些。但不是所有情况都时要等待那么长时间的,会影响效率。可以加一个wait字段,如果脚本指定了,就按这个字段的时间,没有就按默认时间。这样可能会好一点。去七天神像回血也不用来回走动拖延时间了。或者,加一个wait节点,全部让脚本控制,不等待就马上走。
  5. 如果一个点位就是为了躲避障碍物的,卡死后跳过这个点的话,会直接走向障碍物,这样防卡死就没意义了。大部分时候卡死是镜头不稳或幽灵转向造成的,脚本的点位不会有错,没必要跳过点位。我有一个卡死策略:发现卡死,按x让角色下墙,往上一坐标走一定时间,再往目标坐标走。这样会不会好一点。
  6. 让防卡死策略是否开启、低血量是否去七天神像恢复、临时拾取白名单、target到达默认等待时间等可以在脚本中临时指定,执行结束后恢复。把这些策略和数值调整交给脚本吧,不要写死在程序里。
  7. 如果可以,进一步增强地图寻路的稳定性。不过,除了城区、部分山洞和沙漠边缘,目前也够用了。
@huiyadanli
Copy link
Member

huiyadanli commented Nov 10, 2024

  1. 当前技能不会在最后逼近过程中使用,可能只是运气好正好非逼近状态下走的离目标点位已经非常近了。当然也有可能是是地图点位的识别误差。
  2. 提供选项是否会在远距离主动小幅冲刺
  3. 这个比较难处理,可以先使用 path 类型的点位小距离 walk 一段,然后再进行 fly
  4. 其实没有加小幅度等待时间,只是提高了最后逼近 target 点位的准度要求。不过类似等待的 action 后面会添加
  5. 卡死跳过趋向于随机不可以预测,以力求最大概率的脱离成功概率
  6. 与路线强关联的内容配置会放在json中,与整体操作导向相关的内容会放在调度器与路径追踪配置中
  7. 当前有视角识别的优化方案。但是针对沙漠、或者靠海边位置特征较少的图片,暂时是没有很好的解决方案的。

@Yang-z
Copy link
Author

Yang-z commented Nov 10, 2024

  1. 当前技能不会在最后逼近过程中使用,可能只是运气好正好非逼近状态下走的离目标点位已经非常近了。当然也有可能是是地图点位的识别误差。

你说的逼近是最后的小碎步吧。我是指走向目标坐标的过程。比如一个点,本来是走过去的,到达目标时机本来刚刚好,但中途打断了暂停了一下,对,就是离目标点位非常近了,此时调查按钮已经出现,程序用小碎步去逼近,比正常走要慢一些,加上用技能打断的时间,导致我上面说的,圣遗物被提早开出,飞走。不是误差,目前你的地图识别的误差已经非常小了,足以排除这种问题。我的意思是,比如A点-》B-》C,技能应该在从A到达B之后,在开始从B到C之前触发,而不是A到B途中触发。我不知道判断到达一个点是不是还有其他额外步骤,就是提一个建议,供你参考。拾取圣遗物的脚本,等到可以关闭低血量飞走,我可能更倾向于硬抗过去,少一点意外因素,毕竟怪的行为还是可预测一点:)

5. 卡死跳过趋向于随机不可以预测,以力求最大概率的脱离成功概率

嗯。在平原上,确实。我也遇到被一个矿石卡住,触发脱离卡死,一个侧身就摆脱了。只要后续可以选择关闭,问题也不大吧。嗯~,感觉还是需要一个简易策略,就是卡死后,按x下墙,然后调整角度继续朝目标点走去,不跳点,不跳点。这个策略是真需要。我印象中,绝大部分卡死都只需这样就能挽救。对了,现在的卡死重跑是从上一个teleport开始的吗,还是整个文件重新开始?

其他点,没有疑问了。

good job!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants