LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 311|回复: 1

[其他] NI大佬进,如何调试NI错误以及ttd问题

[复制链接]
发表于 2025-9-23 09:49:31 | 显示全部楼层 |阅读模式
本帖最后由 行了行了 于 2025-9-23 10:53 PM 编辑

学了一段时间NI,感觉调试错误太麻烦了,bee脚本错误会告诉你哪行错了,错误类型是啥。但是NI仅在lua语法错误的情况下弹窗报错,对于其他错误,比如比较两个不同类型的变量,一点提示都没

如果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")



回复

使用道具 举报

发表于 2025-9-23 20:30:37 | 显示全部楼层
1.尝试打开ni.vars.debug = true
可以输出一部分的反馈,能不能解决你的问题不确定
2.ni.unit.ttd("target")是可以使用的,不知道你为什么不可以
比如

  1. local a = ni.unit.ttd("target")
  2. print(a)
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2026-5-31 03:13 AM , Processed in 0.096036 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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