个才 发表于 2026-5-31 20:55:46

求助,如何抓住开怪的人

最近开始在SF带团,经常有人藐视我的倒数计时,团里DPS们意见极大,请问怎么抓出第一个开怪的成员?

cmdliu1 发表于 2026-6-3 22:05:07

思路是通过lua检测接下来第一个事件COMBAT_LOG_EVENT_UNFILTERED
AI给的例子如下:
FirstAttackerFrame = CreateFrame("Frame")
FirstAttacker = {}

FirstAttackerFrame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")

FirstAttackerFrame:SetScript("OnEvent", function(self, event, ...)
      local args = {...}
      
      local subevent = args
      local sourceGUID = args
      local destName= args
      local sourceName = args
      
      -- 只处理伤害事件
      if subevent ~= "SWING_DAMAGE" and subevent ~= "SPELL_DAMAGE" and subevent ~= "RANGE_DAMAGE" then
            return
      end
      
      -- 当前目标
      local targetName = UnitName("target")
      if not targetName or destName ~= targetName then return end
      
      if not FirstAttacker then
            FirstAttacker = sourceName
            
            -- 聊天框提示
            DEFAULT_CHAT_FRAME:AddMessage("|cffff0000[首仇]|r "..sourceName)
            
            -- 屏幕中央提示
            UIErrorsFrame:AddMessage("首仇:"..sourceName, 1.0, 1.0, 0.0, 5)
      end
end)
你可以尝试下,放魔蜂里,我这里没有团本,只有单体打怪测试
另外,你只需要运行1次就行

个才 发表于 2026-6-4 10:14:46

好的,我试试看,谢谢大佬提出的思路
页: [1]
查看完整版本: 求助,如何抓住开怪的人