Jump to content

API_SendAddonMessage


kran_krestey

Recommended Posts

https://wowwiki-archive.fandom.com/wiki/API_SendAddonMessage

 

Работает неправильно, ломая кучу аддонов. При вызове не триггерит CHAT_MSG_ADDON на своем же клиенте.

Должен вызывать этот евент. Подозреваю что было сломано во время реализации прекраснейшего античита, которого уже то и нет, но это ванга.жпг

Пандашош х5, 3 декабря 2021 года.

Link to comment
Share on other sites

Я вспомнил, что делал мини-аддон для тбк сервера, на котором у меня постоянно проблемы с пингом, и в нём как раз использовался SendAddonMessage. Возможно, API на пандах другое, сейчас проверил, на лк и кате работает. Здесь сейчас не работает. У меня только раз значение вывелось.

[spoiler=Lua]

local f = CreateFrame("Frame")
SLASH_CHATPING1 = "/chatping"
RegisterAddonMessagePrefix("CHATPING")
SlashCmdList["CHATPING"] = function()
local t1 = GetTime()
SendAddonMessage("CHATPING", nil, "WHISPER", UnitName("player"))
f:RegisterEvent("CHAT_MSG_ADDON")
f:SetScript("OnEvent", function(self, event)
	if event == "CHAT_MSG_ADDON" then
		local t2 = GetTime()
		local ping = math.floor((t2 - t1) * 1000 / 2)
		DEFAULT_CHAT_FRAME:AddMessage(ping)
		f:UnregisterEvent("CHAT_MSG_ADDON")
	end
end)
end

 

Edited by Vovremya
RegisterAddonMessagePrefix("CHATPING")
Link to comment
Share on other sites

Добавил сверху RegisterAddonMessagePrefix("CHATPING"), теперь работает и на PTR, и на FUN. Проверил /dbm broadcast timer 10 pull - и оно тоже работает и на PTR, и на FUN. Спрашивается, а что было не так, если на FUN ещё не было применено?
Link to comment
Share on other sites

Всё, понял, увидел разницу. Если в ChatPing заменить канал на PARTY/RAID, то на FUN активируется событие у второго игрока, но не у себя. На PTR событие приходит и первому, и второму.
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...