47 lines
2.0 KiB
Markdown
47 lines
2.0 KiB
Markdown
# MoonWell Client Sources — Agent Guide
|
|
|
|
## Проект
|
|
|
|
WoW-клиент на базе патча **3.3.5a (build 12340, WotLK)**. Репозиторий содержит UI-аддоны и
|
|
кастомные интерфейсы для приватного сервера MoonWell.
|
|
|
|
Стек: Lua 5.1, FrameXML (XML + Lua), WoW Addon API 3.3.5.
|
|
|
|
---
|
|
|
|
## Навыки (Skills)
|
|
|
|
Перед тем как работать с UI — **прочитай соответствующий файл из `ai-skills/`**.
|
|
|
|
| Задача | Файл |
|
|
|--------|------|
|
|
| Верстка фреймов, XML, Lua CreateFrame, pixel-perfect из Figma, текстуры, шрифты, якоря | [`ai-skills/ui/SKILL.md`](ai-skills/ui/SKILL.md) |
|
|
| Виджеты, типы фреймов, Button/EditBox/ScrollFrame, события, SavedVariables, Blizzard API | [`ai-skills/ui/widgets-and-api.md`](ai-skills/ui/widgets-and-api.md) |
|
|
|
|
Читай **весь файл** скилла, а не отдельные секции — там есть ограничения API, типичные ошибки
|
|
и готовые шаблоны.
|
|
|
|
---
|
|
|
|
## Ключевые ограничения (всегда держи в голове)
|
|
|
|
- `## Interface: 30300` — никаких retail-API
|
|
- Нет `SetSize()` → только `SetWidth()` / `SetHeight()`
|
|
- Нет `C_Timer`, `CreateFramePool`, `PixelUtil`
|
|
- Текстуры: только степени двойки, максимум 512×512 px, формат `.tga` / `.blp`
|
|
- XML-атрибуты: `relativeTo` (не `relativeKey`), `$parentX` (не `$parent.X`)
|
|
- Кнопки и ScrollFrame в XML должны иметь `name`
|
|
|
|
---
|
|
|
|
## Структура аддона
|
|
|
|
```
|
|
AddonName/
|
|
├── AddonName.toc ← обязательно, имя файла = имя папки
|
|
├── AddonName.xml ← верстка (загружается первой)
|
|
└── AddonName.lua ← логика
|
|
```
|
|
|
|
Порядок файлов в TOC важен: XML раньше Lua.
|