starsasa 发表于 2022-1-29 12:04:35

新人mush的那些弯路--以破阵机器人为例

作为零编程基础的新人,做机器人走了很多弯路,想着跟其他新手分享一下。

本论坛教大家怎么做的教程很多,但是让大家不要做的事情屈指可数。

所谓成功道路千千万,失败的缘由手指头的都能数过来,少走弯路,会节省很多时间。

1、不要……只看大佬的触发器和代码逻辑,看100遍不如你自己手动做任务做10遍。
只有自己体会了任务的判断和执行逻辑,才懂的如何如何设计机器人,即便效率和准确不如大佬的代码,但是自己设计的机器人才是真正消化了这个任务逻辑。

2、不要……跨平台软件看别人机器人逻辑(特别是脚本部分),受制于软件功能的不同,脚本逻辑有非常大的差异。仅可部分参考触发器的抓取逻辑

比如“”破阵机器人中要选中阵法中的方位,并判断是否为真门、假门”,

mudlet中ecloud大佬的代码是:在选取时调用mudlet功能,指挥光标去选取那个字,并识别这个字是否为斜体。

而mush是做不到这个指挥光标选字的功能。

3、不要.....盯着任务死做机器人,系统性的学习lua教程,更有意义。而且重点去看lua教程、mushlient 中文手册。

延续2里破阵机器人抓斜体的困难,QQ里月色很细心的指点了用GetStyleInfo函数,而这个函数也没那么好用。。。是按块而不是按字符取的。查看mushlient 中文手册(北侠版)研究了半天


实际在破阵例子中,样本数量一共有7,用这个函数去取2,4,6号样本,返回blink值才取的到。


树树树兌树树树树树树坤树树树树树树震树树树

4、不要.....直接套用你没见过函数,除了lua教程基本库里的函数,以及mush自带函数,其他没见过的函数均为自定义函数,不可直套用。


这一点上我走了好多弯路,看各种大佬的代码,因为自定函数太多,始终研究不通,还是在QQ群里问过才知道。

自定义函数一定要加注释,或者自己写
————————————————————————————————————

最后附上自己的成果……纯破阵计算部分,不含接任务,交任务,杀人,去任务地点,以及计算走错了几次等等

为了做这个机器人,我系统性学习了20多个小时……撞墙撞到头破血流,但是结果还是可喜的。mud游戏给我带来的乐趣之一就是做机器人,不是么?

xxhy 发表于 2022-1-29 13:25:02

imtt 发表于 2022-1-29 13:27:08

chat*new2 starsasa

creat 发表于 2022-1-29 13:56:02

不要受限于客户端产生的思维定式,跳出来看会更有帮助
具体到破阵,8个字对应8个方向,能识别出正确的方向就可以了。是按句计算还是按字计算并不重要,结果总是会在正确的处理方法中体现
另外,新手套装里有破阵部分

creat 发表于 2022-1-29 14:07:01

另外补充一下,新手套装里没有使用函数获取style表,使用得是客户端的固定实参完成的这项工作

ccszz 发表于 2023-8-14 22:40:17

这个只能辅助找破阵方向吧?有自动寻路的机器人么?

dtp 发表于 2023-8-14 22:44:31

破阵还是 TinTin++ 最简单,一个颜色触发就搞定了。
页: [1]
查看完整版本: 新人mush的那些弯路--以破阵机器人为例