运行与调试

← 返回所有分类
脚本运行出错了,怎么看错误信息?通用

MacroAI 的日志面板会显示运行过程中的所有信息:

  • Windows 版:主窗口底部的日志区域。运行出错时会显示红色错误信息。
  • Android 版:点击运行气泡上的 📋 按钮打开日志页面。

常见错误及含义:

  • "找不到图片 xxx.png" → 模板图片不在搜索范围内,或阈值太高
  • "执行超时" → 等待图像/等待变化超过了设定的超时时间
  • "Lua 语法错误" → 自定义代码节点中有代码错误
  • "变量 xxx 未定义" → 使用了没有在变量 Tab 中定义的变量

如果日志信息不够详细,把日志级别切换到"调试"可以看到更多内部信息。

"简洁/追踪/调试"三种日志级别有什么区别?通用

工具栏上的日志级别控制显示多少信息:

  • 简洁(默认)— 只显示"日志输出"节点的内容和错误信息。最干净,适合正常运行。
  • 追踪 — 额外显示每个节点的执行过程(如"[图像查找] 找到 xxx 位置=(500,300)")。适合排查"脚本执行到哪一步了""某个节点有没有执行"。
  • 调试 — 额外显示引擎内部信息(截图尺寸、缩放比例、匹配分数等)。适合排查深层技术问题。

建议:正常运行用"简洁";出问题排查时切到"追踪";给开发者反馈 bug 时用"调试"并截图日志。

运行时浮动面板(气泡)上的按钮分别是什么功能?通用

脚本运行后,屏幕右上角会出现浮动控制面板(Android 版是悬浮气泡):

  • 状态标签(▶ 运行中 / ⏸ 暂停中 / ⏹ 已完成 / ⚠ 出错)— 显示当前状态
  • ⏸ 暂停 / ▶ 继续 — 暂停或恢复脚本执行
  • ■ 停止 — 完全终止脚本
  • 自定义动作按钮(如有定义)— 一键触发额外操作(如"紧急停止""切换目标")
  • ✕ 关闭 — 关闭面板并停止所有运行中的任务

Windows 版:面板可拖动位置。脚本完成且无自定义动作时,面板 3 秒后自动消失。

Android 版:气泡可拖动,点击展开菜单,首次出现时自动展开 3 秒。

什么是"后台运行"和"前台运行"?有什么区别?Windows

这是 Windows 版特有的概念,控制鼠标键盘的模拟方式:

  • 🔄 后台运行(默认)— 使用 Windows 消息机制发送点击/按键,不移动真实鼠标、不抢占焦点。你可以在脚本运行时继续使用电脑做其他事。
  • 前台运行 — 直接控制物理鼠标/键盘,运行时鼠标会真的移动,你不能同时操作电脑。但兼容性更好。

怎么选?

  • 大多数情况用后台(默认)即可
  • 如果后台模式下目标程序"收不到"点击(某些游戏、远程桌面)→ 切换为前台
  • 前台运行时不要动鼠标键盘,否则会干扰脚本

通过工具栏的"🔄 后台"按钮切换。

为什么脚本运行时我不能动鼠标/键盘?Windows

如果你当前是前台运行模式,脚本会直接控制物理鼠标和键盘,所以你不能同时操作。

解决办法:切换到后台运行模式(点击工具栏的"🔄 后台"按钮),这样脚本通过消息机制发送操作,不会占用你的鼠标键盘。

注意:某些程序(如部分游戏、远程桌面软件)不支持后台消息,必须用前台模式。这种情况下只能等脚本运行完再操作,或者用另一台电脑/手机控制。

"点击可视化"(红点)是什么?有什么用?Windows

点击可视化是 Windows 版的调试辅助功能。开启后,脚本每次执行鼠标点击时,会在点击位置显示一个红色圆点(0.5 秒后消失)。

用途:

  • 确认脚本点击的位置是否正确
  • 排查"找到了图片但点错了地方"的问题
  • 后台模式下看不到鼠标移动,红点让你知道脚本"点了哪"

通过工具栏的"🔴"按钮开关。正常运行时建议关闭(避免视觉干扰),调试时打开。

脚本运行中如何暂停/继续/停止?通用
  • 暂停:点击浮动面板上的"⏸ 暂停"按钮。脚本会在当前节点执行完后暂停。
  • 继续:点击"▶ 继续"恢复执行。
  • 停止:点击"■ 停止"或按 Shift+F5。完全终止,不可恢复。

注意:

  • 暂停时如果有"等待"节点正在计时,继续后会从暂停处接着执行
  • 停止是不可逆的,需要重新点"▶ 运行"才能再次执行
  • Android 版:展开气泡菜单操作
自定义动作是什么?怎么在运行时触发额外操作?通用

自定义动作是绑定在浮动面板上的"快捷按钮",可以在主脚本运行的同时独立触发一段操作。

典型场景:

  • 主脚本在自动打怪,你随时想按一个按钮"回城" → 做一个"回城"自定义动作
  • 主脚本在循环操作,你需要临时"暂停并截图保存"
  • 多个辅助操作需要随时手动触发(如切换目标、使用特殊技能)

设置方法:

  1. 在"自定义动作"标签页(Ctrl+6)中创建动作
  2. 为动作编写节点流程(和主流程一样的编辑方式)
  3. 运行脚本后,浮动面板上会出现对应的按钮
  4. 随时点击按钮触发动作,不影响主脚本执行