# emberveil_eval_help **Repository Path**: xeval/emberveil_eval_help ## Basic Information - **Project Name**: emberveil_eval_help - **Description**: emberveil wow 服全职业一键宏 - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-13 - **Last Updated**: 2026-10-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EvalHelp —— 全职业工具 > 🌍 Languages: **中文** · [English](README_en.md) · [Русский](README_ru.md)(游戏内语言:配置窗右上角国旗切换) > EmberVeil(1.12.1 / Lua 5.1)**全职业工具插件**:宏正文一行 `/run EVAL_GO()`,规则引擎驱动——**技能五分类**(角色行为/角色技能/宠物行为/目标选取/物品使用)× **60 种条件类型**(6 组下拉:自身状态 / 目标状态 / buff·debuff 检查 / 技能状态 / 队伍·团队状态 / 候选者状态 —— 其中「候选者」4 种只在成员选取器那一行出现)× 多方案绑定按键,全部可视化配置,不限职业。另附五个内嵌页:**工具箱**(**UI 工具** · 商人助手 · 队伍 / 社交 · 任务 · 三助手 · 稀有提醒 —— **逐行清单见下表**)、**任务线 & 装备**(任务线 · 装备 · 四类检索 + 世界地图标注层,依赖 UnrealQuest)、**图标库**(客户端内置宏图标:分组 / 悬停显示路径 / 搜索翻页)、**抓宠帮手**(宠物技能 → 驯服来源 → 跳查刷新点)与**子插件**(可选子插件的启用 / 停用)。 | 模块 | 入口 | 一览 | | :-- | :-- | :-- | | 🗡️ **通用一键宏** | 宏 `/run EVAL_GO()` | 技能五分类:角色行为(攻击/姿态切换)/技能/宠物指令/目标选取/物品使用;方案技能数不限(列表可滚动);多方案 ≤12 各绑按键直触(**按键按角色**) | | ⚙️ **配置窗口** | 小地图 EH 图标 · `/eh cfg` | 方案/技能/条件全可视化编辑(**条件关系四态** `&` / `|` / `&&` / `||`,可写「与里套或」),文本导入导出分享;**七个 Tab**:全局 · 一键宏设置 · 工具箱 · 任务线 & 装备 · 图标库 · 抓宠帮手 · 子插件 | | 📤 **方案分享** | 配置窗「一键宏设置」页 `[分享]` / 聊天链接 | 分片发到 公会/队伍/说(限频防刷屏),对方点 [导入] 才入档;**品阶封皮**(`[品阶秘籍·名]` 可点链接 + 弹窗确认)· **品阶评分**(覆盖 ≥4 大类且 ≥50 分才神级 · 五色)· **头衔抽卡**(5档×15张 · 名号自定义)· 彩蛋「创世者亲临」· 收方按(头衔档×秘籍档)抽奖式回一句角色扮演反应 | | 🧩 **案例模版** | 配置窗「一键宏设置」页底部 `[案例模版]` | **12 组 40 条**现成方案(按职业分组)→ **分组分两列 + 组内同行自动换行**;点一下即导入,悬停看方案内容 | | 🧰 **工具箱** | 配置窗 Tab3 | **严格按面板上的实际分组与行罗列**(组标题 = 面板里的「—— xx ——」;现共 **37 行 / 8 组**):**UI 工具**:**缩放大地图**(勾选框 + [设置]:GUI 重开;Shift+滚轮=透明度 · Ctrl+滚轮=缩放 · 金色条=拖动)· **关闭世界迷雾**(勾选框 + [设置]:**编辑模式 / 图层:区域彩图 · 图层:区域实景** 两项互斥单选;**本版默认档 = 勾选 + 区域实景**,不勾选 = 客户端原始地图;切换会弹「需要 /reload」确认窗)· **图层拖拽**(勾选框 + [设置] 选层)· **图层隐藏**(**无总勾选框**,[设置] 里多选要藏的层)· **拾取贴手(点一次换下一件)**(勾选框 + [设置]:跟随 / 品质角标)· **顶部信息条**(勾选框 + [设置]:区域·金钱·背包·网络·专业·内存 六段 + [重设位置])· **装备比较**(勾选框,默认开)· **—— 商人助手 ——**:**物品价(商人价 · 估值)**(勾选框 + 学价 / 清价)· **自动修理装备** · **自动售卖灰色物品** · **自动购买指定物品**([添加] / [清空] 名单)· **自动丢弃指定物品**(同上)· **—— 队伍 / 社交 ——**:**团队就位自动确认** · **屏蔽频道进出信息**([关键字(N)] 多选)· **屏蔽公会成员上下线提示**(CVar `guildMemberNotify`)· **角色名职业着色** · **聊天窗名字着色**([设置]:等级 / 区域)· **未缓存角色主动查询** · **聊天名字右键菜单** · **—— 任务 ——**:**自动接取任务** · **自动交付任务** · **按住[Shift]临时停止任务交接**(右侧换键;取消勾选 = 关闭)· **任务通知频道**(关 / 自己 / 说 / 队伍)· **—— 猎人助手 ——**:**一键喂食**(右侧 [重设位置])· **自动喂养** · **—— 消耗品助手 ——**:**消耗品助手**(右侧 [重设位置])· **—— 骑乘助手 ——**:**一键下马** · **自动下马** · **—— 稀有提醒 ——**:**稀有提醒转播**(任务插件发现稀有那一刻报到聊天框,点名字选中它) | | 🧭 **任务线 & 装备** | 配置窗 Tab4 | **任务线视图**:一条线逐节点排开(任务名 · 等级 · 奖励,节点带放大镜);**装备视图**:按等级列出可获取装备(武器优先 · 种类多选 · 缺图占位);**四类检索**:任务 / 物品 / 怪物·NPC / 对象(输入即搜、无限级联下钻);**任务详情**:**起始 / 结束 NPC** 各列一行(名字 · 区域 · 坐标),**点行即在地图上定位**;**任务树子页**:父子任务层级(站点「解锁 / 需要」并集建图,缩进即层级、多前置如实标注);**来源(地域)多选 + 等级多选**过滤;列表行尾**奖励图标 + 需求材料图标**(「需」标记悬停出完整材料清单,任务道具已剔除);**世界地图标注层** 16 类别随切图实时重绘(**地图右侧放大镜入口 = 分类标注下拉,点窗外即关**;标注**同步画在小地图**上;依赖 UnrealQuest) | | 🖼️ **图标库** | 配置窗 Tab5 | 客户端内置宏图标按前缀分组,悬停显示路径、可搜索翻页;另有「本插件在用」一组(直接列出本插件用到的图标) | | 🐾 **抓宠帮手** | 配置窗 Tab6 | 检索宠物技能(图标 + 各等级列表)→ 详情页:技能简介 / 需求等级 / **驯服来源**(哪个怪、在哪出没)→ 放大镜一键跳「任务线 & 装备」查刷新点 | | 🧩 **子插件** | 配置窗 Tab7 | 可选子插件的启用 / 停用与界面入口(现有**整合背包 EH_Bag** —— 与 OneBag 逐项对齐的独立背包窗,`/ebag`;**图层调试 EH_DebugBox**,`/edb` —— **可拖拽 · 关图不消失**的图层树面板:扫描源多选 · 过滤 · 选中金色描边 / 悬停红框 + 自绘信息条 · 逐层改缩放·透明·宽高·坐标 · 自定义记账与一键还原;**增强伤害显示 EH_Damage**,`/edmg` —— 19 项勾选的浮动战斗信息:滚动方向 8 种 · 字号档位 6 档 · 技能图标 · 编辑模式模拟战斗实时预览;**伤害统计 EH_DPS**,`/edps` —— 队伍级统计表:9 个视图全部按玩家出条目 · 职业染色 · 点击条目下钻该玩家技能分解 · 双段(当前/全程)+ 各自活跃时间 EDPS · 聊天报告限频 · 窗口拖拽/改尺寸/Ctrl+滚轮缩放 · 右键标题弹视图菜单 · 启用即开窗);勾选才载入、未勾选连文件都不读,四个子插件各自带 `README` / `CLAUDE` / `CHANGELOG`,发布时各自独立打包两份 | | 🔍 **状态信息UI** | `/eh st` | 状态变量实时总览 + 最近释放条件逐项判定 √× | | 📝 **状态日志** | `/eh` | 聊天框 + 日志文件双写 | > 📌 持续优化中,欢迎测试反馈! 🐞 [问题反馈 / 建议](https://gitee.com/xeval/emberveil_eval_help.git)(Issues) 🤖 DeepSeek Harness AI 辅助开发(见文末「参与开发」) ## 🏁 里程碑(1.52.0 → 1.75.110) - **🏃 一键宏新增「取消跟随」+ 🐾 队伍/团队宠物条件族 + 🧰 图层工具三处真因收口 + ⚔️ EH_Damage 图集 / 缩放动画 / 默认档**(1.75.107 → 1.75.110 / EH_Damage 0.2.28 → 0.2.36 · EH_Bag 0.3.41 → 0.3.42):① **「取消跟随」**(一键宏 → 技能编辑 → 角色行为)—— 三处零命中定案:客户端**没有**停止跟随的专用 API,只能借移动类 `MoveForwardStop`(官方 Movement 页逐条注明「Cancels autofollow」);通道 = **直调 → 失败才 `RunScript`**,走哪条如实写日志;★**代价如实**:正按着 W 时这一下等于替你松手,且**没有回读**(`IsPlayerMoving` 不报跟随)⇒ 只记账、绝不假装成功。② **队伍/团队宠物条件族**(8 个类型 · 新分组 `CTG_7`)—— 靠客户端原生 `partypetN` / `raidpetN`(官方 Unit IDs 页 + 客户端自己的 FrameXML 就在用):队友宠物的血蓝/光环可判,命中切到宠物身上施法。③ **图层工具三处真因**:方块坐标也要算「自定义」(否则拖过的聊天窗不进 [重置] 清单)· 「图层隐藏」初次勾选把游戏卡死(兜底容器里的 `UIParent` 一路深扫 ⇒ 访问集 + 写死节点预算 + **路径缓存**)· 聊天框与战斗记录**共用一份记录**(同一窗口两页,设一个另一个自动跟)。④ **EH_Damage 0.2.28 → 0.2.36**:受击数字位置收口 · **自带字体图集**(本客户端换字体的唯一可行路 = 贴图:离线渲 6 档 × 5 种描边风格)· **图集行的曲线平滑缩放**(出生弹入 / 暴击平滑包络 / 尾声缩小「缩小切隐藏」)· 模拟战斗带技能名与图标 · 默认档按作者真机配置整份定稿。⑤ **EH_Bag 0.3.41 / 0.3.42**:一键整理遇特殊袋(箭袋 / 附魔 / 草药 / 灵魂袋)**fail-closed 分类** + 无进展闸门 · 背包条拖拽/换包收口(槽位号算术唯一来源 `B.bagInvId`)。 - **⚔️ 新子插件 EH_DPS(队伍级伤害统计)+ EH_Damage 三连(DoT 归属门/屏界保险丝/暴击变红)**(1.75.105 → 1.75.106 / EH_DPS 0.2.5 · EH_Damage 0.2.26b):EH_DPS = 纯文本战斗日志解析(本客户端无结构化战斗事件/GUID)的队伍级统计表 —— **9 个视图全部按玩家出条目**(伤害量/DPS/治疗量/HPS/承受伤害/受到治疗/能量回复/击杀/施放次数)· **职业染色**(标准职业色、不透明条)· **点条目下钻该玩家技能分解**(悬停出明细 tooltip)· 双段(当前战斗/全程,全程跨重载)· 每名玩家各自的活跃时间 EDPS · 聊天报告 0.6s 限频滴出(防叠加)· 窗口:标题拖拽 + 右下改尺寸 + Ctrl+滚轮缩放 + 右键标题视图菜单 + [设] 配置面板 + 启用即开窗;EH_Damage:**DoT 归属门**(附近任何人的周期伤害都会进战斗日志 ⇒ 不是「你」开头的一律不记,别人的奉献不再显示成你的)· 飘字行程/屏界双保险丝 · 暴击整条变红;宿主:名字右键菜单的全屏捕手加读回自证(SetAllPoints 静默失效 ⇒ 兜底尺寸 + 双收尾路)。 - **⚔️ 新子插件 EH_Damage(增强伤害显示/浮动战斗信息)**(1.75.104 → 1.75.105 / EH_Damage 0.2.14):19 项勾选(15 显示项对齐暴雪「浮动战斗信息」+ 受到的伤害 + 暴击动画/技能图标/技能名文本 3 开关)· 滚动方向 **8 种** · 字号档位 **6 档**(本客户端「改字号」全无效 ⇒ **分档字体对象**,探针 A~K 定案)· **技能图标**(法术书名→图标缓存,尺寸按行距公式现算)· **编辑模式**(拖拽锚点 + 模拟战斗实时预览参数)· 事件解析 = SCT 模式 + **捕获环**(RAW 负载落环供逐条校准)。 - **🎒 EH_Bag 一键整理「实时显示移动」+「有数无图标」真凶收口**(1.75.103 补 / EH_Bag 0.3.34 → 0.3.38):整理每一步**当场直接画**(源格画空、落格画刚搬进的那件)+ 两格各盖**新鲜戳记**(1.5s 内不被滞后的「报空」盖回)+ **落定重刷**;真凶 = 整理引擎自己的 `recAt` 是「轻量读一格」⇒ 记录**压根没有 texture 字段** ⇒ 每步都在 `SetTexture(nil)` 清图标;修法 = `itemInfoCached` 接 `GetItemInfo` 第 9 返回、记录带 texture。 - **🧭 条件编辑两处体验:下拉文字列对齐 + 数值递步 Shift ×10**(1.75.104):带图标列的菜单**所有行统一从图标列后起**(修「已记录」组参差不齐);± 与剩余时长的递步按住 **Shift = 10 倍**(百分比 5→50 / 时间 0.1→1.0 / 计数 1→10),悬停写明规则,三语提示。 - **⌨️ 按键绑定:优先用不常用的动作条 + 强制覆盖**(1.75.102 → 1.75.103):方案快捷键的选格改成 **右侧第二条 → 右侧条 → 右下条 → 左下条 → 姿态条**,**主条一个字都不挑** —— 你的主条 12 格全部还给你;命令上已有键 ⇒ **直接强制覆盖**(静默解绑,不打扰你);主条上的老绑定记录会在登录对账时**顺势迁到侧边条**(键本身不变)。58 个优先格 ⇒ 「主条 12 格绑满、没有可用动作格」的报错成为历史。 - **🧰 工具箱 → 图层拖拽 → [重置] 面板:全选 / 取消全选 + 滚动机制 + 最大高度**(1.75.101 → 1.75.102):「重置」打开的是**有自定义属性设置**的层/窗口列表(点行多选、[确定] 只重置选中的、点面板外面 = 取消);本版给它加了三件 —— **[全选]/[取消全选]**(一次覆盖**清单全部条目**,含滚出视口的,不是只选看得见的那几行)· **滚轮逐行滚动**(行偏移双侧夹 `0..max(0, n-cap)`;到边界就把事件原样交回链上,绝不吞别人的滚轮)· **最大高度**(可见 16 行封顶,面板高度按条数现算,条目少就不留一大片空白)+ 常显计数器「已选 N / 共 M | 第 a-b 行 / 共 M」。 - **🎒 EH_Bag:每档品质亮度系数 + 辉光单通道(初始打开 == 悬停恢复)+ 格子边距进设置菜单 · 一键宏:条件类型「换装 / 自身物品 / 自身装备」**(1.75.100 → 1.75.101 / EH_Bag 0.3.31):品质亮度可以**逐档手动调**(`B.QUAL_K`,绿 0.80 / 蓝 1.3225,绝不自动归一);辉光 alpha 改走**单通道**(顶点色第 4 参、`SetAlpha` 恒 1 ⇒ **初始打开与悬停恢复逐值相同**、系数按观感线性生效);「格子间距」进设置菜单循环调(`B.cgap`)。一键宏条件类型新增三种:**换装:槽位:物品名**(选完装备续弹槽位下拉)· **自身物品**(背包某物品所有堆叠相加 ≥N)· **自身装备可使用**(使用效果 + 冷却就绪,走隐形 tooltip 读「使用:」行);方案行按钮高度/最小宽收成文件开头两个常量(`UI_PROF_BTN_H` / `UI_PROF_MIN_W`)。图层拖拽:非常驻层配置图标**左键点一下 = 重置该框属性**(`dfResetOne`);工具箱那一行的 **[重置] 改成「有自定义属性设置的层」列表 + 多选 + [确定] 才提交**(空清单不开面板、只重置选中的)。 - **🎒 子插件 EH_Bag 从零到齐 + 装备比较「两种机制并存」**(1.75.91 → 1.75.99 / EH_Bag 0.3.22 → 0.3.30):配置窗第 7 页里长出一个与 OneBag 逐项对齐的**整合背包**(连续排布 · 品质辉光 · 一键整理 · 跨角色总览 · 冷却倒计时 · 金币图标金钱行 · **资源绝对自包含**:自带贴图 + 探针**负对照** + 判不出就退回客户端);本批三条真因收口 = 空格格框「初始比悬停后亮」(**顶点色第 4 参与 `SetAlpha` 相乘且落地时机不同** ⇒ alpha 走顶点色、`SetAlpha` 恒 1)· 品质辉光「向外泛光」把邻格与背景线条一起点亮(贴图向外**必须 = 0**,492 → 0 像素)· 辉光「亮度归一」按用户要求**整体撤销**(不再把亮色档调暗);两个子插件各自带 `README`/`CLAUDE`/`CHANGELOG` 并**各自独立打包两份**;装备比较修好「代理背包里失明」(子插件主动上报悬停,两套机制共用一把尺子)。 - **🧭 技能编辑窗三处版式收口 + 战斗UI 方案行「图标紧挨名字」**(1.75.79 → 1.75.82):条件行加 **▲/▼ 上下调序**(整条记录互换、连接符 `conn` 留在原位 —— 它是「位置」不是条件)+ 功能按钮配色(调序=暗金 / 新增=绿 / 删除=红)+ 窗口加宽(装不下逐级退回);「关系运算符说明」改成**一份说明三处共用、说人话、零 `**`**(GameTooltip 是纯文本,星号会原样画出来);底行三颗按钮**同一条带、左对齐**(旧写法一高一低);战斗UI 方案行把「图标 + 名字」**量成一组紧挨**,量宽取 `max(实测, 按字符估)`(中文 `GetStringWidth` 会报小值,差 1px 就把名字截成「神…」)。 ## 更新日志 | 版本 | 主题 | 一句话亮点 | | :-- | :-- | :-- | | **1.75.110** | 🏃 **一键宏「角色行为」新增「取消跟随」(客户端无专用 API ⇒ 借移动类 `MoveForwardStop`)** | 三处零命中定案(`api_*.html` 1370 条 / exe 注册名表 / 官方 Movement 页全文);官方对移动类逐条注明「Cancels autofollow」但整页 Protected ⇒ 通道 = **直调 → 失败才 `RunScript`**,走哪条如实写日志;选 `*Stop` 不选 `*Start`(不位移 / 不碰自动奔跑);**代价如实**:正按 W 时等于替你松手,且**没有回读**(`IsPlayerMoving` 不报跟随)⇒ 只记账、不假装成功;取证 `/eh go 跟随`(只读体检)· `跟随 试 [直调|绕行]`(真发一次)⇒ 专属有界环 `cfg.followProbe` | | **1.75.109(补)** | 🧰 **图层拖拽:聊天框与战斗记录 = 同一窗口两页 ⇒ 共用一份记录** | 真因 = `ChatFrame1/2` 各存一份,而聊天框**只守坐标**(换个分页看就是「设置没生效」);修法 = `DF.storeKey` + 存储代理把 `ChatFrame2` 的读写**全归一**到规范键(约 35 处读写点一行都没改)+ 弹窗保存时显式落到另一页的帧上(未勾选则不跟设并如实说)+ **老存档并档**(只有战斗记录那份 ⇒ 搬到聊天框,绝不丢数据) | | **1.75.109** | 🧰 **「图层隐藏」初次勾选把游戏卡死:修掉「深扫整个 UI」+ 新增路径缓存** | 真因 = `lfFindByName` 只有深度上限、**没有访问集与节点预算**,兜底容器里还带着 `UIParent`(真机存档证明它至少 914 个直接子件);四条闸 = 访问集 · 写死预算 `LF_SCAN_MAX=1500`(撞预算**如实点名没敢扫的**)· 从兜底容器里**摘掉 `UIParent`** · 撞过预算的本会话不再重扫;★用户要的「不要每次遍历」= **路径缓存**(边下钻边记真实名字链;匿名节点不缓存、走不通当场删链并回落一次受限扫描);「分帧有界深挖」并进唯一节拍帧 | | **1.75.108** | 🐾 **一键宏新增「队伍/团队宠物」条件族(8 个类型 · 新分组 `CTG_7`)** | 三条证据链定案:客户端**原生**支持 `partypet1..4` / `raidpetN`(官方 Unit IDs 页 + 客户端自己的 FrameXML 就用 `UnitDebuff("partypet"..id)` + 捆绑插件 `Turtle_GroupUI` 用 `raidpetN`);实现 = **复用成员扫描**再按同号派生宠物 unit(继承主人的职业/小队)⇒ 比较 / 多选光环 / 过滤 / 选人 / 切目标原样可用;只被宠物族条件调用 ⇒ 纯成员方案零额外开销 | | **1.75.107** | 🧰 **工具箱 → 图层拖拽 → 重置面板:拖过的层(聊天窗 / 常驻层)现在会出现在清单里** | 真因两条叠出来:常驻层位置只存在 `ax/ay`(方块分支根本不写 `dx/dy`),而「有没有自定义」的唯一判据只认 `dx/dy/scale/alpha/hidden/w/h`;修法 = 新增 `DF.blockPos(rec)`(`ax/ay` 有值 ∧ `axAuto ~= true`),`isCustom` / `customKeys` 都读它 —— 与本文件已在用的另两处**同一把尺子**;顺带修「重置了却没反应」(清 `ax/ay` 会计入 `c.pos`) | | **1.75.106** | ⚔️ **新增子插件 EH_DPS 0.2.5(队伍级伤害统计)+ EH_Damage 0.2.24~0.2.26** | EH_DPS:纯文本战斗日志解析,**9 个视图全部按玩家出条目**(伤害/DPS/治疗/HPS/承受/受疗/能量/击杀/施放)· 职业染色 + **点条目下钻技能分解** + 悬停明细 · 双段(当前/全程跨重载)· 各自活跃时间 EDPS · 报告 0.6s 限频防叠加 · 窗口拖拽/右下改尺寸/Ctrl+滚轮缩放/右键标题视图菜单/[设] 配置 · 启用即开窗;EH_Damage:**DoT 归属门**(别人的奉献不再算你的)· 飘字行程/屏界双保险丝 · 暴击整条变红;宿主:名字菜单捕手读回自证加固 | | **1.75.105** | ⚔️ **新增子插件 EH_Damage 0.2.14(增强伤害显示/浮动战斗信息)+ 下拉分组标题对齐** | 19 项勾选(15 显示项对齐暴雪「浮动战斗信息」+ 受到的伤害 + 暴击动画/技能图标/技能名文本 3 开关)· 参数 2×2:滚动方向 **8 种** · 字号档位 **6 档**(分档字体对象,本客户端「改字号」全无效 ⇒ 探针 A~K 定案)· 速度 · 时长 · **技能图标**(法术书名→`GetSpellTexture` 缓存,尺寸 = 行距×0.45 现算、垂直对齐字面,查不到不画)· **编辑模式**(拖拽锚点 + **模拟战斗**实时预览参数)· 事件解析 = SCT 模式 + **捕获环**(RAW 负载 `/edmg 捕获`)+ `/edmg 字号探针` | | **1.75.104** | 🧭 **条件编辑两处体验:下拉文字列对齐 + 数值递步 Shift ×10** | 带图标列的菜单**所有行统一从图标列后起**(修「已记录」组参差不齐);± 与剩余时长的递步按住 **Shift = 10 倍**(百分比 5→50 / 时间 0.1→1.0 / 计数 1→10),悬停写明规则,三语提示 | | **1.75.103(补)** | 🎒 **EH_Bag 0.3.34~0.3.38:一键整理实时显示移动 + 「有数无图标」真凶收口** | 整理每一步**当场直接画**(源格画空、落格画刚搬进的那件)+ 两格各盖**新鲜戳记**(1.5s 内不被滞后的「报空」盖回)+ **落定重刷**(戳记全过期后整刷一次);真凶 = 整理引擎自己的 `recAt` 是「轻量读一格」⇒ 记录**压根没有 texture 字段** ⇒ 每步都 `SetTexture(nil)`;修法 = `itemInfoCached` 接 `GetItemInfo` **第 9 返回(纹理)**、记录带 texture | | **1.75.103** | ⌨️ **按键绑定:优先用不常用的动作条 + 强制覆盖** | 选格 = 右侧第二 → 右侧 → 右下 → 左下 → 姿态(**主条不挑**);命令已有键 ⇒ 静默覆盖不提示;主条老记录顺势迁到侧边条(主条 12 格还给玩家);派发接管加 `MultiActionButtonDown/Up` 与 `BonusActionButtonDown/Up` 两对 | > 📜 各版本详细说明见 **[CHANGELOG.md](CHANGELOG.md)**;更早历史见 git 提交记录。 ## 🧩 案例模版(12 组 40 条现成方案) > 不必从零配。配置窗 →「一键宏设置」页 → 底部 **`[案例模版]`** → 按职业分组挑一个,**点一下直接导入**。 | 项 | 说明 | | :-- | :-- | | **入口** | 配置窗「一键宏设置」页底部 `[案例模版]` 按钮 | | **内容** | **12 组 40 条**:战士 / 骑士 / 猎人 / 盗贼 / 牧师 / 萨满 / 法师 / 术士 / 德鲁伊 / 通用法系 / 通用 / 队伍·团队 | | **版式** | 分组分两列 + 组内同行自动换行;**悬停**该条可看它的技能与条件 | | **导入** | 点一下即导入为方案,之后照常编辑、改名、绑定按键 | **队伍·团队组**(6 条)是一键奶 / 一键驱散类,一律写成「**指定技能 + 队伍(团员)条件**」—— 条件自己扫描全队、按血量挑人、切目标,放完还原原目标,**不需要你手点队友**。 > 💬 有好用的方案欢迎在插件评论里分享;也可以用配置窗的 `[分享]` 直接发到 公会 / 队伍 / 说 频道。 ## 界面预览 **配置窗口 · 全局页**(`/eh cfg` 或小地图旁 EH 图标):左列 **日志**(调试日志 `/eh logdump` / 方案技能日志 / 进出战斗自动输出)+ **界面**(战斗信息UI `/eh ui` 及其「战斗区 / 方案区」两个子开关 + 状态信息UI `/eh st`)+ 底部「一键宏」组([重扫动作条] + 执行去抖 0.30s);右列 **帮助**([使用引导] + 快速上手 / 执行指定方案 / 进阶 / 其他 四段说明);标题栏 = 版本号 + 语言切换(CN / EN / RU)与 [关闭];★本图取自 **v1.75.59**(**七个 Tab**:全局 · 一键宏设置 · 工具箱 · 任务线 & 装备 · 图标库 · 抓宠帮手 · 子插件;版面此后未变,标题栏版本号为出图时的旧值) ![配置窗口·全局页](preview/main.png) **案例模版窗**(配置窗「一键宏设置」页底部 `[案例模版]`):**12 组 40 条**现成方案按职业分组(战士 / 法师 / 通用法系 / 通用 / 盗贼 / 猎人 / 骑士 / 牧师 / 德鲁伊 / 术士 / 萨满 / 队伍·团队),**分组分两列 + 组内同行自动换行**,点一下即导入、悬停看方案内容;★**这张图取自 v1.74.0**(Tab 名与标题栏版本号均为旧值)⇒ **待重拍** ![案例模版窗](preview/skill_tpl.png) **技能编辑窗**(点 [编] 或技能图标打开):条件逐行独立配置 —— 条件类型 / 参数全部下拉选择(**62 种条件类型 · 6 组**:自身状态 / 目标状态 / buff·debuff 检查 / 技能状态 / 队伍·团队状态 / 候选者状态,其中「候选者」4 种只在成员选取器那一行出现),技能名右侧可选**施法等级**,右上 [启用此技能];关系列**四态循环** `&` 同项与 / `|` 同项或 / `&&` 新项与 / `||` 新段或(优先级 `& > | > && > ||`,终于能写「与里套或」);★**这张图取自 v1.74.0**:图中的关系列还是旧的显示、Tab 名与版本号也是旧值(现为四态循环)⇒ **待重拍** ![技能编辑窗](preview/skill_doif.png) **技能二级下拉 · 四大类**(技能编辑窗的技能行 = `[分类▾][具体项▾]` 并排双下拉,选项配图标): - **角色技能**:白名单 + 动作条扫描全技能 - **宠物行为**:8 种宠物指令(不占动作条直调 Pet API),指令图标经宠物动作条自学习 - **目标选取**:9 种切换方式(最近敌人 / 上一目标 / 目标的目标 / 指定名称 / 清除目标…),按宏先切目标再出手 - **物品使用**:背包实时扫描(带图标+数量)+ 自定义名称——消耗品直接使用、装备自动穿上 **光环条件四型(名字可多选)**:自身buff / 目标debuff / 目标buff / 自身debuff 检查(是/否切换,实时项 ◆○●▲ 全配齐)——**名字格支持多选**(点按切换、可搜索、可自定义输入,重开下拉勾选态还在):**任一选中项命中即通过**(或运算),「无/缺」方向则**每一项都该补**才算过;下拉首行写明规则、名字格悬停列出全部选中项 + 方向,日志直接报「任一命中 → 谁」/「需全部满足 → 谁」——条件「无buff:再生/治疗药水」驱动一键喝药、「无目标buff:奥术智慧/野性印记」驱动挨个补 buff **战斗信息UI + 状态信息UI**(`/eh ui` / `/eh st`):血/能量/目标条 + 方案切换行 + 技能图标行(悬停 tooltip 看触发条件,亮金=条件当前满足,点击图标直开编辑窗);状态信息窗实时显示全部状态变量 + 最近释放日志(每次出手的技能/目标/条件逐项判定 √×) **工具箱(Tab3)**:面板按**组标题 + 行**铺开(现共 37 行 / 8 组)—— 图中可见 **UI 工具**(**缩放大地图** / **关闭世界迷雾** / **图层拖拽** / **图层隐藏** / **拾取贴手(点一次换下一件)** / **顶部信息条** / **装备比较**)与 **—— 商人助手 ——**(**物品价(商人价 · 估值)** / **自动修理装备** / **自动售卖灰色物品** / **自动购买指定物品**,右侧 [添加] / [清空]);左侧是全屏世界地图(右下角展开的是地图标注类别的多选下拉),右侧展开的是「**图层拖拽 → [设置]**」的图层多选菜单;★**这张图待重拍**:两个地图开关在图中仍是**勾选**态、标题栏版本号是出图时的 **v1.75.53**(当前默认档 = **缩放大地图不勾选 · 关闭世界迷雾勾选且用「区域实景」**),图层拖拽的「定位方块」编辑形态与喂食助手的新进度条也不在本图内 —— 工具箱与地图开关的**当前形态**可看下面「世界地图『区域实景』」那张 **v1.75.70** 的新图;★★**「图层拖拽」右侧的 [重置](1.75.102)**:打开的是**有自定义属性设置**的层/窗口列表(点行多选 · [确定] 只重置选中的 · 点面板外面 = 取消)—— **最大高度**(可见 16 行封顶、面板高度按条数现算)· **滚轮逐行**(到边界把事件交回链上)· **[全选]/[取消全选]**(一次覆盖清单全部条目,含滚出视口的)+ 常显计数器「已选 N / 共 M | 第 a-b 行 / 共 M」 ![工具箱](preview/tools.png) > ⚠️ **依赖**:本页数据全部来自 **UnrealQuest** 插件(任务/物品/生物/对象数据库)。未安装或未启用时,本页只会显示一段安装引导,其余控件隐藏。 **任务线 & 装备(Tab4)**:**任务线视图**(一条线从起点到终点逐节点排开:任务名 · 等级 · 奖励,节点带放大镜)+ **装备视图**(按等级列出可获取装备、武器优先、种类多选)+ **四类检索**(任务 / 物品 / 生物·NPC / 对象,输入即搜前 10 项、无限级联下钻,物品行悬停显示游戏内物品 tooltip);**世界地图标注层** 16 类别随切图实时重绘(地图右侧「**地图标注(N)**」控制行 = 类别多选:采集物 5 + 服务设施 11,含「全部开启 / 全部关闭」快捷) **装备视图**:搜索行(装备 / 任务 / 奖励)+ **等级**(如 `10-19`)/ **来源**(地域多选树:职业&制造&节日任务 · 世界区域 · 副本区域 · 其它)/ **类型**(如 剑)/ **阵营** 四个筛选;列表按等级列出**可获取装备**(武器优先,行 = `Lv · 名字 · 类别 · 地区 · DPS · 来源`),底部**分页**(`1-4 / 4` + 上页 / 下页);点进去看它来自哪条任务线、要打哪些任务;图鉴里还没扫到的装备画**占位图**,点它可插队优先补缓存;★**这张图取自 v1.75.13**(此后新增的「**需**」材料标记等不在图内)⇒ 待重拍 ![任务线 & 装备 · 装备视图](preview/quests_item.png) **任务树(父子任务)**:点顶部「任务树」子页 —— **缩进即层级**(前置 ⇄ 后续 = 站点「解锁 / 需要」并集建图 + 系列下一步兜底),多前置的任务标 **(N 前置)**,行尾带奖励图标与「**需**」材料标记;等级档(如 `30-39、40-49`)/ 来源 / 类型 / 阵营筛选与**分页**(`1-17 / 36`)通用,底部提示行说明树的口径;一棵树最多 600 行,「多前置」与「撞上限」分开计数、如实报数;★**这张图取自 v1.75.13** ⇒ 待重拍 ![任务树(父子任务)](preview/quests_tree.png) **抓宠帮手(Tab6)· 宠物列表视图**:搜索框(技能名或野怪名,如 撕咬 / 狼)+「**匹配 552 条**」+ [清除],右上两个切换钮 **技能列表 ⇄ 宠物列表**(图中为宠物列表);每行 = `★稀有 名字 · 家族 · 等级 · 地区` + **技能图标条**(标签 `技能` = 它在驯服来源表里实际教的 / `家族技` = 该家族天生)+ 右端**攻速**列(**按攻速升序**,1.0 最前);切到技能列表则是「技能 → 各等级 → 驯服来源」那条路:详情页列技能简介 / 需求等级 / **驯服来源**(哪个怪、在哪出没)→ 放大镜一键跳「任务线 & 装备」查刷新点;★这张图截于 **v1.75.59**(本版这一页除标题栏版本号外无变化) ![抓宠帮手·宠物列表](preview/pet_skill.png) **世界地图「区域实景」图层 + 工具箱 →「关闭世界迷雾 → [设置]」**(1.75.64 起):打开世界地图即把 `media\WorldMapJpg` 里的实景图**整区一张铺满** 1002×668 帧(图中 = 艾尔文森林,地图底部状态行 `玩家: 40,52`;实景层写 `OVERLAY` 绘制层 ⇒ 在本组内**优先级最高**、遮盖其它层);地图右侧「**地图标注(N)**」控制行随切图实时重绘(16 类别,左键点这里选类别);右侧 = 工具箱页展开「**关闭世界迷雾**」的 `[设置]` 下拉 —— **编辑模式 / 图层:区域彩图 / 图层:区域实景**(图中勾的是**区域实景**;两项**互斥单选**、切换**当场生效**、不用 /reload;微调走编辑模式,与迷雾贴图**同一套**操作);★本图取自 **v1.75.7x**(当前版;截图右缘把版本号最后一位裁掉了):图中的区域实景是 **AI 高清重绘版**(全库压到宽 1500),工具箱那一行显示的正是**本版默认档**(不透明 1.00 / 原始缩放 1.00) ![世界地图「区域实景」+ 工具箱设置](preview/realmap.png) > 📷 **仍缺截图**:世界迷雾**编辑模式**(地图右侧贴图列表 + 位置箭头 / 尺寸 / 两级重置那十排面板)与**图层拖拽的定位方块**暂无截图 ⇒ **待重拍** —— 功能已可用;拍好后只替换 `preview/` 里的文件,正文不用改。 ## 快速上手 1. 把要用的**技能拖上动作条**:插件按动作条识别技能(任意职业、任意技能都能入方案) 2. 游戏内输入 `/eh go rescan` 让插件识别槽位(`/eh go` 查看识别结果) 3. `/eh cfg` →「一键宏设置」页 → `[添加技能]` 配好条件;或直接 `[案例模版]` 按职业挑一个一键导入 4. **绑定按键(推荐,全程点点点)**:右键任意方案(战斗信息UI 方案行 或 配置窗方案栏)→「方案管理」→ 快捷键下拉选一个键 → `[保存]`,按下即执行;**备选**:习惯宏的话,新建宏正文 `/run EVAL_GO()` 拖到按键上(两条路等价);★**按键按角色**:同一账号每个角色各绑各的(登录时自动对账重绑,别的角色绑过的键不会跟过来) 5. **第一次用?** 输入 `/eh guide` 看四步新手指引(开战斗UI → 配第一个宏 → 绑按键 → 看技能日志),首次进入游戏会自动播报一遍 6. 技能没放出来?开「方案技能日志」(配置窗 全局页)后 ` /eh logdump` 查看每次按键的判定明细 ## 安装 **方式一:下载发布包(推荐)** —— [Releases 页面](https://gitee.com/xeval/emberveil_eval_help/releases) 下载最新 `EvalHelp-vX.Y.Z.zip`,解压到 `Interface/AddOns/`(解压后应为 `AddOns/EvalHelp/EvalHelp.toc`): ``` https://gitee.com/xeval/emberveil_eval_help/releases ``` **方式二:克隆源码** —— `git clone git@gitee.com:xeval/emberveil_eval_help.git`,把整个目录放到 `Interface/AddOns/` 并确保目录名为 `EvalHelp`。 目录结构: ``` Interface/AddOns/ └── EvalHelp/ ├── EvalHelp.toc ← 目录规则:Folder/Folder.toc ├── EvalHelp.lua └── README.md ``` ## 异常自救(遇到问题先看这里) 1. **先 `/reload`**:技能不识别、界面异常、刚更新过插件文件——绝大多数情况重载即恢复(配置已存盘不会丢); 2. 技能换了位置/新拖上动作条 → `/eh go rescan` 重扫; 3. 开了调试看决策过程 → `/eh debug`(每个技能为什么放/为什么不放,逐条件 √×); 4. 仍未解决 → 到 提 Issue(附 `/eh st` 状态截图 + 日志文件更有助于定位)。 5. **分享来的方案有些技能不放**:多半是那个光环在你这台机器上还没学过纹理 —— 现在会自动按名字扫描并学下来;`/eh go tex` 看学习表、`/eh go texdel 名字` 删一条重试、`/eh go texclear` 全清; ## 参与开发(欢迎加入!) - 仓库:(`git clone` 后把 `EvalHelp/` 软链或复制到 `Interface/AddOns/` 即可开发调试); - **开发指南**:见 `DEVELOPMENT.md`(架构地图 / 本客户端实测 UI 配方 / 规则引擎与方案数据结构 / 提交前必跑的语法检查); - **AI 协作记忆**:`CLAUDE.md` 是本项目的 AI 开发记忆体(DeepSeek Harness / Claude Code 等 AI 助手读它即可快速进入上下文); - 开发流程约定:每次改动递增版本号(**三处必须一致**:`EvalHelp.lua` 的 `local VERSION` + `EvalHelp.toc` 的 `## Version` + `tools/WorldFog.lua` 的 `MDQ.BUILD`;文件头不再写版本号),改完跑 `node luacheck.js` 全量语法解析; - 扩展新职业:技能白名单 `WAR_SKILLS` 目前内置战士 10 技能,其他职业按同构方式加技能表即可(规则引擎/方案/UI 全部职业无关); - 本插件由 **DeepSeek Harness AI** 辅助开发——也欢迎你带着 AI 一起来。 ## 支持我们 EvalHelp 从始至终都是免费、开源的,今后也会一直是。 如果它恰好帮到了你,而你又愿意鼓励一下作者——可以赞助一点点算力 ☕。这些心意都会用在刀刃上:更细致的功能打磨、更及时的 bug 修复、更多职业的现成模版。 当然,哪怕只是点个 Star、提一条建议、把它推荐给公会里的朋友,对我们来说同样是莫大的支持。谢谢你看到这里。 | 支付宝 | 微信 | | :---: | :---: | | ![支付宝收款码](pay/bao.jpg) | ![微信收款码](pay/wei.jpg) | ## 致谢 - UI 实测配方参考:UnrealQuest(ClientAPI.lua);状态变量设计参考:Cat(TurtleWoW);最初参考:OneJudge。 - 感谢每一位测试与反馈的玩家。