LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 159|回复: 2

[综合] 求助,如何抓住开怪的人

[复制链接]
发表于 2026-5-31 20:55:46 | 显示全部楼层 |阅读模式
最近开始在SF带团,经常有人藐视我的倒数计时,团里DPS们意见极大,请问怎么抓出第一个开怪的成员?
回复

使用道具 举报

发表于 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[2]
        local sourceGUID = args[3]
        local destName  = args[7]
        local sourceName = args[4]
        
        -- 只处理伤害事件
        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[targetName] then
            FirstAttacker[targetName] = 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 | 显示全部楼层
好的,我试试看,谢谢大佬提出的思路
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2026-7-31 12:38 PM , Processed in 0.051174 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表