#166 GetRaidTargetIndex 的保密值在战斗中无法转换成图标(试过 3 种方法)
状态: 待审核 · 分类: 画面与美术 · 模型与贴图
战斗中插件无法显示团队标记图标,因为标记编号被当作保密值,无法用于绘制图标。
当前表现
对于被标记的单位,GetRaidTargetIndex(unit) 在战斗中会返回一个“保密”数值。所有已知的把它转换成可见图标的方法都失败了: 1. 在 UI-RaidTargetingIcons 上手动做坐标计算((index-1)%4 等)会抛出错误:“attempt to perform arithmetic on a secret number value”。 2. 暴雪自己的 SetRaidTargetIconTexture(texture, index) 不会抛出错误,但也什么都不绘制。 3. 构造每个图标的文件路径('...UI-RaidTargetingIcon_' .. tostring(index))并调用 SetTexture() 同样失败——单独使用 tostring() 没问题(可以打印到聊天框),但把该字符串传给 SetTexture() 会被拒绝。
预期表现
插件应能在战斗中像经典版/正式服一样显示团队标记——它不是敏感数据,只是玩家自己放置的标记,并且已经通过默认界面显示在单位头顶上方。
复现步骤
1. 在战斗之前/期间用团队图标(例如骷髅)标记一个敌人。 2. 与该敌人进入战斗。 3. 在插件中对其调用 GetRaidTargetIndex(unit)——返回的值是“保密”的。 4. 尝试通过以下三种方法之一把该值显示为纹理/图标: a) 在 UI-RaidTargetingIcons 上手动做坐标计算 b) 暴雪自己的 SetRaidTargetIconTexture(texture, index) c) 用 tostring(index) 构造每个图标的文件路径并调用 SetTexture() 5. 三种方法都无法渲染图标(方法 a 抛出错误,b 和 c 什么都不渲染)。 测试版本:1.60.1.70009(2026-09-24)。