找回密码
 注册
搜索
查看: 268|回复: 5

【技术帖】公版机器人渴死饿死,无限循环的修改思路

[复制链接]
门派:武当派
发表于 2023-8-13 11:59:04 | 显示全部楼层 |阅读模式
一直以来经常有公版机器人渴死饿死的问题我也遇到,但是我已经修改完了。
事先声明,我根本不懂LUA,所有代码都是现学现卖,本教程思路也是给不懂的小白学的,大神绕过(大神,你怎么不把机器人完善一下)
正常情况都是要你去分析代码,分析到底卡在哪里,但是公版机器人非常复杂,体量很大,各种函数调用来调用去分析非常费神费时,这里我分享一种限制循环次数的思路。

打个比方,因为之前所有武器掉落不下线,所以我修改了相关函数,但是它偶尔会卡在检查私有武器这一块(也不知道什么原因,挂两天都没事,第3天卡了)
  1. nick 赶路中
  2. jifa force yinyun-ziqi
  3. halt
  4. 恭喜!您现在的新绰号是:「赶路中」
  5. > 你决定用氤氲紫气作为你的内功。
  6. > 你现在不忙。
  7. id
  8. i
  9. look bei nang
  10. uweapon
  11. alias action 检查包裹
  12. > 你身上携带物品的别称如下(右方):
  13. ……
  14. > 你把 "action" 设定为 "检查包裹" 成功完成。
  15. >
  16. nick 赶路中
  17. jifa force yinyun-ziqi
  18. halt
复制代码

正常的话检查包裹他就下去了,不会重新又nick 赶路中
于是在nick 赶路中 下面添加如下代码
  1.    nick_ganlu_jishu=nick_ganlu_jishu+1
  2.    print('nick赶路计数',nick_ganlu_jishu)  --number类型可以直接打印
  3.    if nick_ganlu_jishu>20 then
  4.         exe('stop')
  5.         xunhuanjianchaLog()  --这个日志要在job.lua里面写,可以不用
  6.    end
复制代码

代码的意思是设置一个计数大于20就停止,等他到时候发呆重启,当然你也可以,等几秒直接重启,快一点。
然后在上面200多行这里随便找个位置写个变量申明,nick_ganlu_jishu=0  *注意不要插在别的数组的大括号里面
(exe('stop') 这一句还没测试,因为我在修改好相关代码之后,就没有出现过循环,我就是提供一个思路)

然后简单分析一下流程,最后把清零的代码写在里面
check_heal()——》check_jingxue_count()——》checkBags()——》check_jingxue()——》check_heal_over()——》checkPrepare()
我写在了checkPrepare()里面,因为他每次任务结束开始之前都是要执行的。清零的代码:nick_ganlu_jishu=0

我仅提供一个思路啊,如果你要是在学习交换武器,这里渴死饿死也可以用这个方法
就比如把触发“你使用的武器不对”单拎出来,执行的函数里面弄个计数,然后再找一个确定通了往下走了的地方,把计数清零,不然计数超过多少就重启机器。
当然你要是自己找出哪里卡住那就最好,我这个属于曲线救国
门派:华山派
发表于 2023-8-19 10:59:05 | 显示全部楼层
laohei@tj 发表于 2023-8-13 23:30
一般没说都是在根目录的shujian.lua

收到,非常感谢!
门派:华山派
发表于 2023-8-13 20:36:57 | 显示全部楼层
我想问问,一般常用的几个文件名字(比如任务系统是在哪个文件名里)
经常看到在说 lua,那这个lua到底是指哪个文件呢?
又比如门派设定,技能设定,学习设定,领悟设定分别在哪些文件名下?
恳请指教!
门派:武当派
 楼主| 发表于 2023-8-13 23:30:53 | 显示全部楼层
stilnoa@ts2 发表于 2023-8-13 20:36
我想问问,一般常用的几个文件名字(比如任务系统是在哪个文件名里)
经常看到在说 lua,那这个lua到底是指 ...

一般没说都是在根目录的shujian.lua
门派:明教
发表于 2023-8-19 10:57:29 | 显示全部楼层
stilnoa@ts2 发表于 2023-8-13 20:36
我想问问,一般常用的几个文件名字(比如任务系统是在哪个文件名里)
经常看到在说 lua,那这个lua到底是指 ...

lua有个文件夹,相关模块都在lua里面,shujian.lua是主模块,学习什么的在这个里面
门派:华山派
发表于 2023-8-19 10:59:57 | 显示全部楼层
xiaorr@ts2 发表于 2023-8-19 10:57
lua有个文件夹,相关模块都在lua里面,shujian.lua是主模块,学习什么的在这个里面 ...

好睐,知道大方向,可以去探索一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|书剑永恒MUD ( 闽ICP备14012032号|闽公网安备 35050202000162号 )

GMT+8, 2025-6-19 07:53 , Processed in 0.037757 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表