脚本拖入运行时,如果脚本错误,会在挂机》脚本》工具中打印出脚本错误信息,错误信息通常包括了错误时间、错误位置和错误内容。
参考这个信息对脚本进行对应修改。
如:使用("回城卷") 执行后的错误信息为:13:35: 0 [脚本][string "使用("回城卷")"]:1: attempt to call global '使用' (a nil value)
这个错误是使用这个脚本函数不存在,改为 使用物品("回城卷") 就对了。
主动调试
传奇助手为主动调试脚本准备了2个脚本函数:
1.输出日志("log")
说明:输出信息到挂机》脚本》工具
参数:log,类型不限,表示要打印的内容
2.调试打印(log)
说明:输出信息到Dbgview
参数:log,类型不限,表示要打印的内容
简单脚本直接通过观察角色行为即可判断脚本是否正确。
但是复杂脚本,往往角色行为不是按照预想进行时,查找问题原因并非易事。
这是需要在脚本中关键位置插入调试函数,打印中间变量的值或打印提示信息,来辅助脚本开发者找出出问题的位置。
如:过乘法运算验证中
a=获取NPC对话内容()
_,_,num1,num2=string.find(a,"(%d+)%s*×%s*(%d+)")
调试打印(num1)
调试打印(num2)
_,_,cmd=string.find(a,"(@@InPutInteger%d+)")
调试打印(cmd)
打印num1,num2,核对乘法的乘数和被乘数的识别是否正确,不正确时要调整识别方法。 再如
刀锋辅助:收集题库时,未知问题可以打印出来方便进行添加。
local a=获取NPC对话内容()
if string.find(a,"小熊是猪")~=nil then
i=string.find(a,"xiao毛")
_,_,cmd=string.find(a,"(@Mir2m2答题验证选择A%d+)",i)
选择(cmd)
等待(1500)
else 调试打印("未收集的问题")
调试打印(a)
end