NI大佬进,如何调试NI错误以及ttd问题
本帖最后由 行了行了 于 2025-9-23 10:53 PM 编辑学了一段时间NI,感觉调试错误太麻烦了,bee脚本错误会告诉你哪行错了,错误类型是啥。但是NI仅在lua语法错误的情况下弹窗报错,对于其他错误,比如比较两个不同类型的变量,一点提示都没{:5_168:}
如果queue,abilities 里面运行脚本比较多,需要一个一个排查,尤其是前一天修改还没来得及测试,过个1,2天再测试那简直就是灾难,根本找不到哪里出了问题。
目前我只有两个笨方法进行调试:
1、逐个注释掉queue里面的脚本名称,看注释掉哪个脚本后,整个输出循环可以正常运行,那么就单独检查这个名称对应在abilities里的脚本
2、将abilities的脚本贴到bee中调试,但是可能脚本里含一些NI中获取的本地变量,例如读取GUI中GetSetting()里面的一些返回值,所以还需要手动修改下,而一些错误往往就是GetSetting()返回值的错误,这样就发现不了。比如我在一个input里输入的明明是数字,结果排查原因时打印这个故障显示输入的类型是string
请问大佬们有没有什么好办法,NI有没有这个一个函数,能在每段加入这个函数后,如发生错误,就会自动打印错误信息?Debug具有这个功能吗,开启后似乎只打印运行脚本的名称
此外再请教下ni.unit.ttd这个函数是否运行正常,我试了几次都无法使用,比如ni.unit.ttd("target"),贴到bee里面报错:
Interface\Addons\ctVQGSbfhu\unit.lua:29: Usage: UnitCanAttack("unit", "otherUnit")
1.尝试打开ni.vars.debug = true
可以输出一部分的反馈,能不能解决你的问题不确定
2.ni.unit.ttd("target")是可以使用的,不知道你为什么不可以
比如
local a = ni.unit.ttd("target")
print(a)
页:
[1]