Sección informativa y Descargas > Addons
📊 SoloQStatsByZyrokof – Addon para ver estadísticas de 3c3 SoloQ en tu UI.
Zelys:
--- Cita de: Warriorwin en 15 Marzo, 2026, 04:57:29 ---Hola chiodos, buena pregunta.
Solo muestra tus propias estadísticas, no las de otros jugadores. Y no es una limitación del addon en sí, sino del servidor: el comando que usa internamente el addon (.qsolo stats) solo devuelve los datos del personaje que lo ejecuta. No existe ningún comando server-side que permita consultar el rating de otro jugador por nombre o por inspección.
En otras palabras: aunque yo quisiera agregar esa función, el servidor no expone esa información de ninguna forma que un addon pueda interceptar. El addon solo puede leer lo que el servidor le responde a vos en el chat de sistema, y eso es únicamente tu propia info de SoloQ.
Si en algún momento el servidor implementa un comando tipo .qsolo stats [nombre], ahí sí se podría agregar la funcionalidad. Por ahora queda solo para stats propias.
Saludos!
--- Fin de la cita ---
Podrías usar el sistema de mensajería de AddOns para hacerlo. Te dejo el código que tengo en mi AddOn y así ves un poco como funciona.
--- Código: --- AutoDeleterFrame:RegisterEvent("CHAT_MSG_ADDON")
AutoDeleterFrame:SetScript("OnEvent", function(self, event, prefix, message, channel, sender)
if event == "CHAT_MSG_ADDON" and prefix == "AutoDeleter" then
-- Procesar el mensaje recibido
AutoDeleter:OnAddonMessageReceived(message, sender, channel)
end
end)
-- Enviar mensajes...
function AutoDeleter:SendMessage(msg)
if IsInGuild() then -- ...a los miembros de la hermandad
SendAddonMessage("AutoDeleter", msg, "GUILD")
end
if GetNumRaidMembers() > 0 then -- ...a los miembros de la banda
SendAddonMessage("AutoDeleter", msg, "RAID")
elseif GetNumPartyMembers() > 0 then -- ...a los miembros del grupoo
SendAddonMessage("AutoDeleter", msg, "PARTY")
end
end
-- Recibir mensajes
function AutoDeleter:OnAddonMessageReceived(message, sender, channel)
-- Solo mostramos los textos si el checkbox está desmarcado
if not AutoDeleterDB.noShowAchieveMsgs then
local achievementID = tonumber(message)
local achievement = autodeleterAchievements[achievementID]
if not achievement then
if debugEnabled == true then AutoDeleter.PrintMsg(string.format(AutoDeleter.L.achievementNotFound, achievementID)) end
return
end
-- Definimos las variables de color, canal y canalLink
local color, canal, canalLink
if channel == "PARTY" then
color = "AAA7FF"
canal = AutoDeleter.L["channelParty"]
canalLink = "party"
elseif channel == "GUILD" then
color = "40FB40"
canal = AutoDeleter.L["channelGuild"]
canalLink = "guild"
elseif channel == "RAID" then
color = "FF8000"
canal = AutoDeleter.L["channelRaid"]
canalLink = "raid"
else
color = "FFFFFF"
canal = ""
canalLink = ""
end
local colorCode = "|cFF" .. color -- por ejemplo "|cFFAAA7FF"
local resetColor = "|r"
local canalTexto = colorCode .. "|Hchannel:" .. canalLink .. "|h[" .. canal .. "]|h " .. resetColor
local nombreTexto = colorCode .. "¡|Hplayer:" .. sender .. "|h[" .. sender .. "]|h " .. resetColor
local textoFijo = colorCode .. AutoDeleter.L["obtainedAchievement"] .. resetColor
local customLink = " |Hautodeleter:" .. achievementID .. "|h"
local icono = customLink .. "|T" .. (achievement[3] or "Interface\\Icons\\INV_Misc_QuestionMark") .. ":16:16|t|h"
local nombreLogro = "|cFFFFD000" .. customLink .. "[" .. (achievement[1] or "- - -") .. "]|h" .. resetColor
-- Imprimimos el mensaje recibido
print(canalTexto .. nombreTexto .. textoFijo .. icono .. " " .. nombreLogro .. colorCode .. "!" .. resetColor)
e
--- Fin del código ---
Ahora con este ejemplo, podrías hacer un comando (/sqt ask) que funcione con un jugador, y ese jugador devuelve sus stats de SoloQ. Si no tiene el AddOn no habrá respuesta (puedes mostrar un mensaje de que el jugador no tiene el AddOn), y si lo devuelve que se imprima la información actual en el chat, sin que se guarde la info de otros jugadores en tu cliente.
Al ser mensajes por AddOn nadie sería bombardeado por spam ni nada, si no tienen el AddOn no lo ven.
Locust:
Muy bueno pto
Warriorwin:
--- Cita de: Zelys en 15 Marzo, 2026, 14:19:06 ---
--- Cita de: Warriorwin en 15 Marzo, 2026, 04:57:29 ---Hola chiodos, buena pregunta.
Solo muestra tus propias estadísticas, no las de otros jugadores. Y no es una limitación del addon en sí, sino del servidor: el comando que usa internamente el addon (.qsolo stats) solo devuelve los datos del personaje que lo ejecuta. No existe ningún comando server-side que permita consultar el rating de otro jugador por nombre o por inspección.
En otras palabras: aunque yo quisiera agregar esa función, el servidor no expone esa información de ninguna forma que un addon pueda interceptar. El addon solo puede leer lo que el servidor le responde a vos en el chat de sistema, y eso es únicamente tu propia info de SoloQ.
Si en algún momento el servidor implementa un comando tipo .qsolo stats [nombre], ahí sí se podría agregar la funcionalidad. Por ahora queda solo para stats propias.
Saludos!
--- Fin de la cita ---
Podrías usar el sistema de mensajería de AddOns para hacerlo. Te dejo el código que tengo en mi AddOn y así ves un poco como funciona.
--- Código: --- AutoDeleterFrame:RegisterEvent("CHAT_MSG_ADDON")
AutoDeleterFrame:SetScript("OnEvent", function(self, event, prefix, message, channel, sender)
if event == "CHAT_MSG_ADDON" and prefix == "AutoDeleter" then
-- Procesar el mensaje recibido
AutoDeleter:OnAddonMessageReceived(message, sender, channel)
end
end)
-- Enviar mensajes...
function AutoDeleter:SendMessage(msg)
if IsInGuild() then -- ...a los miembros de la hermandad
SendAddonMessage("AutoDeleter", msg, "GUILD")
end
if GetNumRaidMembers() > 0 then -- ...a los miembros de la banda
SendAddonMessage("AutoDeleter", msg, "RAID")
elseif GetNumPartyMembers() > 0 then -- ...a los miembros del grupoo
SendAddonMessage("AutoDeleter", msg, "PARTY")
end
end
-- Recibir mensajes
function AutoDeleter:OnAddonMessageReceived(message, sender, channel)
-- Solo mostramos los textos si el checkbox está desmarcado
if not AutoDeleterDB.noShowAchieveMsgs then
local achievementID = tonumber(message)
local achievement = autodeleterAchievements[achievementID]
if not achievement then
if debugEnabled == true then AutoDeleter.PrintMsg(string.format(AutoDeleter.L.achievementNotFound, achievementID)) end
return
end
-- Definimos las variables de color, canal y canalLink
local color, canal, canalLink
if channel == "PARTY" then
color = "AAA7FF"
canal = AutoDeleter.L["channelParty"]
canalLink = "party"
elseif channel == "GUILD" then
color = "40FB40"
canal = AutoDeleter.L["channelGuild"]
canalLink = "guild"
elseif channel == "RAID" then
color = "FF8000"
canal = AutoDeleter.L["channelRaid"]
canalLink = "raid"
else
color = "FFFFFF"
canal = ""
canalLink = ""
end
local colorCode = "|cFF" .. color -- por ejemplo "|cFFAAA7FF"
local resetColor = "|r"
local canalTexto = colorCode .. "|Hchannel:" .. canalLink .. "|h[" .. canal .. "]|h " .. resetColor
local nombreTexto = colorCode .. "¡|Hplayer:" .. sender .. "|h[" .. sender .. "]|h " .. resetColor
local textoFijo = colorCode .. AutoDeleter.L["obtainedAchievement"] .. resetColor
local customLink = " |Hautodeleter:" .. achievementID .. "|h"
local icono = customLink .. "|T" .. (achievement[3] or "Interface\\Icons\\INV_Misc_QuestionMark") .. ":16:16|t|h"
local nombreLogro = "|cFFFFD000" .. customLink .. "[" .. (achievement[1] or "- - -") .. "]|h" .. resetColor
-- Imprimimos el mensaje recibido
print(canalTexto .. nombreTexto .. textoFijo .. icono .. " " .. nombreLogro .. colorCode .. "!" .. resetColor)
e
--- Fin del código ---
Ahora con este ejemplo, podrías hacer un comando (/sqt ask) que funcione con un jugador, y ese jugador devuelve sus stats de SoloQ. Si no tiene el AddOn no habrá respuesta (puedes mostrar un mensaje de que el jugador no tiene el AddOn), y si lo devuelve que se imprima la información actual en el chat, sin que se guarde la info de otros jugadores en tu cliente.
Al ser mensajes por AddOn nadie sería bombardeado por spam ni nada, si no tienen el AddOn no lo ven.
--- Fin de la cita ---
Hola Zelys, muchas gracias por la sugerencia, la implementé exactamente como propusiste.
Tu idea fue la base de la v2.1.0 que acabo de publicar. El sistema quedó así:
⚙️ Integraciones:
- Cuando inspeccionás a otro jugador y abrís la pestaña JcJ, si ese jugador tiene el addon instalado sus stats de SoloQ 3v3 aparecen automáticamente en el slot del 5c5 de su panel de inspección, con el mismo estilo visual que el overlay propio. Sin hacer nada, solo abriendo la pestaña.
- Si el jugador no tiene el addon, después de 5 segundos aparece un aviso indicándolo.
- También agregué el comando /sqt ask <NombreJugador> que pediste. Funciona sin necesidad de tener el inspect abierto y el resultado se imprime directamente en el chat con el rating, rank, victorias/derrotas de temporada y de la semana.
- El sistema usa SendAddonMessage en canal WHISPER entre las dos instancias del addon, exactamente como mostraste en tu ejemplo. Sin spam a ningún canal, completamente invisible para jugadores sin el addon.
🖼 Vista del addon:
La única diferencia respecto a tu propuesta original es que dividí los dos casos de uso: la inspección visual usa el overlay integrado en InspectFrame, y el comando /sqt ask devuelve el resultado por chat. Así cada uno tiene su flujo más natural.
📌 Descarga: https://drive.google.com/uc?export=download&id=1d5W93XTL3ieGWUyXJ5ncdh_xXhLsbf5q
Gracias de nuevo, sin tu aporte esta feature no existiría. Saludos!
Zyrokof.
Zelys:
Te ha quedado de locos.
Caranthir:
En los proximos dias intento hacer el comando server side que os devuelva los puntos de otros y así no dependeis de si tienen o no el addon. La idea ya se barajó en su día y no me parece un disparate.
Además, cuando tenga un rato le vuelvo a echar un ojo al codigo que he estado de viaje estos dias
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa