Addon: ProjectJaina_Voice
Repositorio Oficial: https://github.com/DarckRovert/ProjectJaina_Voice
Motor Gráfico y Runtime: WoW 3.3.5a WotLK (Build 12340) / Lua 5.1 (Blizzard VM)
Al inspeccionar, mantener o refactorizar este addon, cualquier ingeniero o agente de IA debe cumplir obligatoriamente las siguientes restricciones:
- ❌
SetColorTexture(r, g, b, a): NO existe en 3.3.5a.- ✅ Solución: Usar
texture:SetTexture("Interface\\Buttons\\WHITE8X8")seguido detexture:SetVertexColor(r, g, b, a).
- ✅ Solución: Usar
- ❌
C_Timer.After(sec, func): NO existe en el cliente 3.3.5a nativo.- ✅ Solución: Utilizar un Frame invisible con script
OnUpdateacumulativo y auto-cancelación.
- ✅ Solución: Utilizar un Frame invisible con script
- ❌
IsInRaid()/IsInGroup(): NO existen en 3.3.5a.- ✅ Solución: Usar
GetNumRaidMembers() > 0yGetNumPartyMembers() > 0.
- ✅ Solución: Usar
- ❌
GROUP_ROSTER_UPDATE: NO existe en WotLK.- ✅ Solución: Registrar
RAID_ROSTER_UPDATEyPARTY_MEMBERS_CHANGED.
- ✅ Solución: Registrar
- Cero Generación de Basura en
OnUpdate: Nunca instanciar tablas temporales (local t = {}) dentro de ciclos de actualización de fotograma. Reutilizar tablas estáticas para evitar presionar al Garbage Collector de Lua. - Límite de Red: Todo payload emitido mediante
SendAddonMessageno debe exceder los 255 bytes en bruto.
- Prohibido el Secuestro Global de Errores: Nunca invocar
seterrorhandler()globalmente. - Protección Defensiva: Usar
pcallen la deserialización de datos provenientes de canales de chat o red.