Цитата Сообщение от blr_spy Посмотреть сообщение
renamed, а как дописать чтобы показывало какой скил и какой урон был нанесен при килле?
Вроде бы работает, только тут гиперссылка на спел много символов занимает, так что лучше не ставить длинное сообщение
PHP код:
local MESSAGE "pwned %s with %s(%d)! Streak #%d"

local bitband bit.band
local select 
select
local SendChatMessage 
SendChatMessage
local GetSpellLink 
GetSpellLink

local frame 
CreateFrame("frame")


local function onEvent(self,event,...)
    if 
event == "COMBAT_LOG_EVENT_UNFILTERED" then
        local _
,subEvent,_,_,srcFlags,_,dstName,dstFlags = ...
        if 
subEvent:find("_DAMAGE$"then
            
if bitband(dstFlags,COMBATLOG_OBJECT_TYPE_PLAYER) == COMBATLOG_OBJECT_TYPE_PLAYER and bitband(dstFlags,COMBATLOG_OBJECT_REACTION_HOSTILE) == COMBATLOG_OBJECT_REACTION_HOSTILE then
                
if bitband(srcFlags,COMBATLOG_FILTER_MY_PET) == COMBATLOG_FILTER_MY_PET or bitband(srcFlags,COMBATLOG_FILTER_ME) == COMBATLOG_FILTER_ME then
                    local spellId
,_,_,dmg,overkill select(select("#",...)-11,...)
                    if 
overkill and overkill 0 then
                        local spellLink 
GetSpellLink(subEvent == "SWING_DAMAGE" and 6603 or spellId)

                        
self.killstreak self.killstreak 1
                        SendChatMessage
(MESSAGE:format(dstName,spellLink,dmg,self.killstreak),"EMOTE")
                    
end
                end
            end
        end
    
elseif event == "UNIT_DIED" then
        local unit 
= ...
        if 
unit == "player" then
            self
.killstreak 0
        end
    
elseif event == "PLAYER_ENTERING_WORLD" then
        self
.killstreak 0
    end
end

frame
:SetScript("OnEvent",onEvent)
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
frame:RegisterEvent("UNIT_DIED")
frame:RegisterEvent("PLAYER_ENTERING_WORLD"