跳转到内容

模块开发

一个模块由属性、脚本、宏三个部件配合完成「判断」与「执行」。下面先讲清三者的关系,再依次介绍模块结构、决策脚本、热键、属性与编辑流程。

一个能自动循环的模块靠三个部件配合:

  • 属性(输入):把游戏内的数值或状态取回桌面端,例如血量、技能冷却、Buff 剩余时间。
  • 脚本(决策):桌面端 Lua 脚本,读取属性、做判断,决定这一刻该放哪个技能。它是模块的大脑。
  • 宏(动作):每个宏是一段游戏内宏命令(如 /cast 技能名)并绑定一个热键;脚本调用它即触发对应技能。

运行时你按住启动键,程序按 APM 节奏反复执行你绑定的脚本;脚本每轮根据当前属性值调用相应的宏。

组成 说明
宏(150 行) 共 150 个槽位。前 105 个可填写静态宏,也可仅保留热键,由初始化代码动态设置名称与正文;后 45 个为固定目标选择槽位。
Lua 脚本(50 行) 可复用的逻辑片段,绑定到鼠标键或热键来选择执行。
属性(90 行) 把游戏内的一个数值/状态取回桌面端。每行一个属性,是模块判断逻辑的输入。
属性库 随模块存储的属性模板集合,含 25 条基础模板;编辑器补充原生光环字段。属性行可引用库条目,内置显示名随语言切换。
职业 / 名称 / 版本 职业标签用于筛选;版本在每次保存时自动递增,回传给游戏端比对以提示重载。

热键全部由程序发送、你不用手按,所以布局的设计目标是「抗物理修饰键叠加」而非顺手。默认表用 30 个主键 × 5 个前缀 = 150 行,分三个互不相交的主键域:

  • 宏 1–50:NUMPAD(小键盘)域
  • 宏 51–90:标点键域(, . / ; ' [ ] =)
  • 宏 91–105 与 SelectTarget:F 键域(F1–F12)

默认模板使用以下五种修饰键组合。动态宏沿用槽位热键;请在编辑器使用有效且不重复的绑定。

ALT-SHIFT-x CTRL-SHIFT-x SHIFT-x CTRL-x ALT-x
  • 打开:在设置窗口点「模块编辑」,编辑的是当前选中模块的副本。
  • 保存:点「保存」或按 Ctrl+S(编辑单元格时也生效)。保存需要登录,模块加密后上云;成功后编辑器自动关闭。
  • 克隆:以当前内容为基础另存为一个新模块(名称自动加「克隆」后缀)。
  • 导入 / 导出:通过 .wa1 文件在本地备份或分享模块。导出的是结构清晰的明文 JSON,用文本编辑器或 AI 改完再导回都行;导入的模块会分配全新身份,不会覆盖他人的云端条目。
  • 未保存守卫:关窗、新建、导入前若有改动会弹出确认。
  • 参数提示:鼠标停在属性行的参数格上,会显示该参数的类型和这段代码开头注释写的可选值(预置条目列出了全部单位 ID、资源类型等);自己的代码在开头用 -- 注释说明参数,同样会显示。
  • 检查与缩进:逻辑与自定义代码的「保存」先检查(逻辑在客户端隔离试运行,游戏侧代码只编译语法),通过后按块结构自动整理缩进再保存;「本地运行检查」只检查、不改文本。

属性表每行有「属性」下拉,三态由此决定:

状态 含义
不使用 空占位行,不生成、不回传。
自定义代码 这一行跑你自己写的 Lua 代码。给属性起个名字即自动启用。
库条目名 引用属性库里的某个模板,带入它的代码与默认参数;在行内点「编辑」改动代码即脱钩为自定义代码。

「参数」列最多填 3 段(逗号分隔),会注入为代码里的 arg1 / arg2 / arg3:能转成数字的按数字直传,其余当字符串,空段为 nil。同一段代码填不同参数即可复用(例如 player 和 target)。