• Страница 1 из 1
  • 1
Добавление элементов на стандартный фрейм
gmltA
Сержант
Добрый день.
Возможно, подобная тема была, но я её не нашёл.

Интересует следующий вопрос: был ли где-то урок (если нет, то нельзя ли краткий пример) по вопросу добавления элементов на стандартные фреймы: скажем, я захочу вывести кол-во золота в гильд-банке на фрейм гильдии сверху, либо снизу. Получение информации о числе (количестве золота) и поддержка со стороны сервера вопросов не вызывает, а вот пример добавления самой строки во фрейм гильдии очень даже интересует.
Буду очень благодарен, если кто-то поделится примером хука и обработки фрейма на предмета добавления элементов.
CellCore development team
Сообщение # 1 написано 20.02.2013 в 00:05
Nyll
Чтобы вывести на стандартную близовскую фрейму элемент нужно знать ее название.

Цитата (gmltA)
я захочу вывести кол-во золота в гильд-банке на фрейм гильдии сверху, либо снизу.

Ну это легко для этого как я и писал выше нужно найти назване фреймы так как я ее не знаю я назову в примере ее просто "GuildBankFrame"

Код
ParceGold = CreateFrame("Frame")
ParceGold:RegisterEvent("GUILDBANKFRAME_OPENED")
ParceGold:SetScript("OnEvent", function(...)  
  local golds = GetGuildBankMoney() / 10000  
  GuildBankFrame_Text:SetText("В банке "..gold.." голд.")
end)

GuildBankFrame:CreateFontString("GuildBankFrame_Text", "ARTWORK", "GameFontNormal")
GuildBankFrame_Text:SetPoint("CENTER",0,0)


Я думаю тут все понятно.
При открытии банка аддон получает количество голды в банке и делит на 10к потом выводит это на текст фрейму.
Маме беркута привет!
Сообщение # 2 написано 20.02.2013 в 07:01
gmltA
Сержант
Вы в точку угадали название фрейма, однако при его открытии мы получаем следующие ошибки.
С ошибками разобрался, встал другой вопрос. Текст создаётся под контентом фрейма, а можно ли добавлять элемент на тот же слой, что и контент фрейма, чтобы сам контент сдвигался относительно вставленного (то, что идёт после вставленного элемента - вниз\вбок) И как быть в таком случае с превышением размера фрейма: можно ли менять высоту\ширину окна?
CellCore development team
Сообщение # 3 отредактировано gmltA - Среда, 20.02.2013, 17:00
Nyll
Цитата (gmltA)
можно ли менять высоту\ширину окна?

Можно.

Вот примеры работы с координатами, в данном случаи координаты выставляются от елемента к какому нужно присоединить текст.

Код
GuildBankFrame_Text:SetPoint("TOP" element, "BOTTOM",0,0)

или
Код
GuildBankFrame_Text:SetPoint("LEFT" element, "RIGHT",0,0)

ну и т.д
Маме беркута привет!
Сообщение # 4 написано 20.02.2013 в 17:56
gmltA
Сержант
А насчёт прогрессбара подскажете что-нибудь?
CellCore development team
Сообщение # 5 написано 20.02.2013 в 20:58
Nyll
Цитата (gmltA)
А насчёт прогрессбара подскажете что-нибудь?

Статус бара? Ну там расчет (алгоритм) нужен чтоб он пахал ну смотря что тебе туда сунуть нид biggrin
Маме беркута привет!
Сообщение # 6 написано 21.02.2013 в 00:14
gmltA
Сержант
Нет, именно ProgressBar, как для опыта, при прокачке персонажа: полоска, которая заполняется по мере увеличения значения.
CellCore development team
Сообщение # 7 написано 21.02.2013 в 08:12
Nyll
Цитата (gmltA)
Нет, именно ProgressBar, как для опыта, при прокачке персонажа: полоска, которая заполняется по мере увеличения значения.

В вове этот элемент называется статус бар (хз поч :D)
Я с ним не работал не разу но примерно знаю как он работает... Скажи для чего он тебе нужен я постараюсь накатать пример smile
Маме беркута привет!
Сообщение # 8 написано 21.02.2013 в 13:18
gmltA
Сержант
Цитата (Nyll)
Я с ним не работал не разу но примерно знаю как он работает... Скажи для чего он тебе нужен я постараюсь накатать пример

Опять же, аддон получает информацию от сервера (через чат) в ней два значения: текущее значение для статусбара и максимальное. Как только открывается фрейм (на котором находится этот статусбар), происходит обновление данных. Значение заполненности, соответственно, должно равняться отношению между максимальным значением (100% заполненности) и текущим (x%).
CellCore development team
Сообщение # 9 написано 21.02.2013 в 15:34
Nyll
Цитата (gmltA)
через чат

Через SendAddonMessage?

Цитата (gmltA)
Как только открывается фрейм (на котором находится этот статусбар), происходит обновление данных

Это можно сделать через сетскрипт и аргумент "OnShow"

Ладно как будет время запилю пример.
Маме беркута привет!
Сообщение # 10 написано 22.02.2013 в 01:38
gmltA
Сержант
Цитата (Nyll)
Через SendAddonMessage?

Аналогично тому, как это сделано в аддоне ArenaSpectator - через специальный аддон-канал чата, который всегда есть по-умолчанию.
CellCore development team
Сообщение # 11 отредактировано gmltA - Пятница, 22.02.2013, 08:15
Nyll
Цитата (gmltA)
Аналогично тому, как это сделано в аддоне ArenaSpectator - через специальный аддон-канал чата, который всегда есть по-умолчанию.

лучше бы сделал через аддон мессейдж
Маме беркута привет!
Сообщение # 12 написано 23.02.2013 в 00:42
gmltA
Сержант
Цитата (Nyll)
лучше бы сделал через аддон мессейдж

Не уверен, но по-моему это одно и то же)
CellCore development team
Сообщение # 13 написано 24.02.2013 в 16:59
  • Страница 1 из 1
  • 1
Поиск: