|
Форум Обсуждение аддонов Разработка аддонов WoW Обновление аддона |
Обновление аддона |
Всем привет, сегодня я вам расскажу, как сделать модуль "Обновление аддона". Сказать честно, придумал его не я ( ) Я его нашел в аддоне DBM и расскажу вам как делать такой модуль.
Система обновления работает так: Игрок, вступая в группу/рейд аддон, посылает сообщение в скрытый канал чата, при этом, наш аддон сканирует этот чат, и если замечает сообщение с нашим префиксом, то он автоматически открывает фрейм с надписью обновления. Инструкция по созданию toc файла - тык Ссылка на предыдущие статью - тык Скачать notepad++ - тык API функции - тык Сегодня я покажу, как создать такую фрейм, а в следующей статье я покажу, как сделать остальное. Создаем сам фрейм: Code myframes = CreateFrame("FRAME","my_Frame",UIParent); Указываем размер фрейма. Code myframes:SetWidth(460); myframes:SetHeight(150); Задаем текстуру. Code myframes:SetBackdrop({bgFile = "Interface\\DialogFrame\\UI-DialogBox-Gold- Background", edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Gold-Border",}); Указываем место расположение фрейма. Code myframes:SetPoint("CENTER"); Теперь создаем EditBox с ссылкой на сайт для скачки нового аддона. Code EditsBox = CreateFrame("EditBox",nil,myframes) Указываем размер. Code EditsBox:SetWidth(300) EditsBox:SetHeight(24) Задаем шрифт тексту. Code EditsBox:SetFontObject(GameFontNormal) Указываем текстуры. Code EditsBox:SetBackdrop(GameTooltip:GetBackdrop()) EditsBox:SetBackdropColor(0, 0, 0, 0.8) EditsBox:SetBackdropBorderColor(0.6, 0.6, 0.6, 1) Задаем позицию. Code EditsBox:SetPoint("CENTER",myframes,0,5) Добавляем текст. Code EditsBox:SetText("http://wowjp.net") EditsBox:HighlightText() Дальше создаем событие "Если текст изменили то ...". Code EditsBox:SetScript("OnTextChanged", function(self) Дальше указываем 2 строчки что и выше. Это будет работать так "При изменении текста текст будет возобновляться". Code EditsBox:SetText("http://wowjp.net") EditsBox:HighlightText() Закрываем функцию. Code end) Полный код: Code myframes = CreateFrame("FRAME","my_Frame",UIParent); myframes:SetWidth(460); myframes:SetHeight(150); myframes:SetBackdrop({bgFile = "Interface\\DialogFrame\\UI-DialogBox-Gold- Background", edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Gold-Border",}); myframes:SetPoint("CENTER"); EditsBox = CreateFrame("EditBox",nil,myframes) EditsBox:SetWidth(300) EditsBox:SetHeight(24) EditsBox:SetFontObject(GameFontNormal) EditsBox:SetBackdrop(GameTooltip:GetBackdrop()) EditsBox:SetBackdropColor(0, 0, 0, 0.8) EditsBox:SetBackdropBorderColor(0.6, 0.6, 0.6, 1) EditsBox:SetPoint("CENTER",myframes,0,5) EditsBox:SetText("http://wowjp.net") EditsBox:HighlightText() EditsBox:SetScript("OnTextChanged", function(self) EditsBox:SetText("http://wowjp.net") EditsBox:HighlightText() end) Вот и все у нас получился фрейм, который будет говорить нам о том что нужно обновить аддон. В следующей статье мы поговорим на тему скрытых каналов и как с ними работать.
Маме беркута привет!
|
| |||
| |||