Всем привет, в этой теме я расскажу из чего состоит аддон и его структуру.
Всего в аддоне используются 3 формата файлов с кодом, это XML, Lua, Toc.
XML - Формат файла обычно используют для графического оформления аддона.
Lua - Формат файла с кодом функционала аддона, так же используется для графики в аддоне.
Toc - Формат файла со всей информацией об аддоне и пути к файлам с кодом. Название данного файла должно совпадать с названием папки с аддоном.
Формат Toc
Файл формата toc, служит для подачи информации клиенту игры об аддоне, там указана версия игры для которой предназначен аддон, его название и остальная информация об аддоне.
Когда вы делаете файл toc, обязательно составляйте его правильно ибо без него игра не найдет ваш аддон.
Первая строка в toc файле должна быть обязательно ссылка на версию игры для которой предназначен аддон.
Допустим наш аддон сделан под версию игры 4.3.4.
Как вы видите у нас идет символ ## это обозначает что дальше мы будем задавать какой либо параметр или текст, а затем Interface: 40304, это уже ссылка на версию игры. За место точек нужно указывать "0" т.е если у нас версия игры 3.3.5 мы указываем 30305, если версия 5.4.2 то 50402.
Далее нам нужно указать название нашего аддона.
Тут тоже указываем что мы задаем ссылку на параметр или текст символами ## и саму ссылку Title: а дальше название вашего аддона. Название может состоять как из цифр так и букв, так же название можно сделать цветным используя код |cff.
После название нам нужно указать описание аддона, это делать не обязательно но каждый нормальный аддон имеет описание.
Точно так же как и выше мы с помощью ## даем понять игре что это текст или ссылка на указатель и через Notes: указываем какой комментарий мы хотим.
Когда вы указали название и описание для аддона вы можете задать ссылки на исполняемые файлы вашего аддона т.е на Lua или Toc файлы.
Например: core.lua
Так же вы можете использовать символ # как комментарий.
Код
# Тут комментарий в файле toc
Подробнее об файле Toc, вы можете узнать тут.
Пример Toc файла моего аддона.
Код
## Interface: 40304
## Title: Xeon
## Notes: --------------------
## Author: Nyll
## SavedVariables: Xeon
lib\lib_hook.lua
lib\lib_math.lua
lib\lib_string.lua
lib\lib_table.lua
#################
developer.lua
core.lua
#################
Spam.lua
ItemPulse.lua
#################