Попробовал написать аддон, учусь строго не судить: для WoW 3.3.5, который по моей задумке должен работать так, отслеживать первый удар или агро на моба или босса и выводит эту информацию в чат:
Аддон регистрирует событие COMBAT_LOG_EVENT_UNFILTERED, которое происходит при каждом боевом событии, и проверяет, был ли совершен удар или агро на вражескую цель. Если да, то аддон выводит сообщение в чат с именем игрока, который совершил первый удар или агро, и количеством нанесенного урона.
Возможно кому-то будет интересно: Я еще его не проверял на работу ну если кто-то будет проверять отпишите, поделитесь скриншотом в этой теме если админы ее не закроют.
Код аддона:
Код:
local frame = CreateFrame("FRAME")
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
frame:SetScript("OnEvent", function(self, event, ...)
local timestamp, eventType, hideCaster, sourceGUID, sourceName, sourceFlags, sourceRaidFlags, destGUID, destName, destFlags, destRaidFlags = ...
if eventType == "SPELL_DAMAGE" or eventType == "SPELL_PERIODIC_DAMAGE" or eventType == "SWING_DAMAGE" then
local spellId, spellName, spellSchool, amount, overkill, school, resisted, blocked, absorbed, critical, glancing, crushing = select(12, ...)
if bit.band(destFlags, COMBATLOG_OBJECT_REACTION_HOSTILE) == COMBATLOG_OBJECT_REACTION_HOSTILE and bit.band(destFlags, COMBATLOG_OBJECT_CONTROL_PLAYER) == COMBATLOG_OBJECT_CONTROL_PLAYER then
SendChatMessage(sourceName .. " агрит " .. destName .. " на " .. amount .. " единиц " .. school .. " урона!", "SAY")
end
end
end)
По идее код будет отправлять сообщения в чат с информацией об атакующем, цели, количестве урона и типе атаки, когда происходит событие боя, такое как удар, нанесенный игроком или NPC. Сообщения будут отправляться в канал "SAY".
Согласно этому коду, когда игрок или NPC наносит урон другому игроку или NPC, то в чате будет написано сообщение вида:
<имя атакующего> агрит <имя цели> на <количество> единиц <тип урона> урона!
Например, если игрок по имени "Воин" агрит NPC по имени "Гоблин" мечом и наносит 500 единиц физического урона, то в чате будет написано сообщение:
<Воин> агрит <Гоблин> на 500 единиц физического урона!
Если же игрок наносит магический урон, то сообщение будет содержать информацию о типе урона:
<Воин> агрит <Гоблин> на 500 единиц магического урона!