• Страница 1 из 1
  • 1
Форум » Обсуждение аддонов » Разработка аддонов WoW » Обновление аддона
Обновление аддона
Nyll
Всем привет, сегодня я вам расскажу, как сделать модуль "Обновление аддона". Сказать честно, придумал его не я ( biggrin ) Я его нашел в аддоне 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)


Вот и все у нас получился фрейм, который будет говорить нам о том что нужно обновить аддон. В следующей статье мы поговорим на тему скрытых каналов и как с ними работать.
Маме беркута привет!
Сообщение # 1 отредактировано Juline - Суббота, 07.07.2012, 13:15
0niwone
WoW-Carnge <Dev>
Quote (Nyll)
В следующей статье мы поговорим на тему скрытых каналов и как с ними работать.

Жду smile
Пользуюсь гарант услугами pwlvl.ru
Сообщение # 2 написано 08.07.2012 в 01:28
Форум » Обсуждение аддонов » Разработка аддонов WoW » Обновление аддона
  • Страница 1 из 1
  • 1
Поиск: