Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Разработка аддонов WoW
- » Красный\зелёный квадрат!(Ищу мастеров аддоно-строения lua)
- Помогите написать элементарный lua addon, в котором, например
- если кд(getspellinfo или getspellcolldown) на способность1 == 0 то создаётся квадратик1 в нужном месте и горит красным, если больше 0, то горит зелёным. Это разрешенные луа функции(если что=0). и рядом ещё квадраты соседи.
- Пример я уже видел где-то:
- http://cs622920.vk.me/v622920245/24503/QyJ4bKJ1od0.jpg
- Что-то такое. Имея код(который опытные мастера оставят в комментариях), я уже сам напишу, перепишу, дополню. Вставлю нужное количество квадратиков. И их условия без проблем поменяю.
- Проблема, что я не силён в графической составляющей.
- За помощью обращался сюда и сюда:
- http://wowjp.net/forum/240-286571-1
- http://www.wowwiki.com/API_CreateFrame
- Фрейм-форма,одноцветная создаётся.(статическая) но не хочет авто-обновляться, если условие того требует.
- Могу предложить вам такой вариант:
- Закрыть спойлер
- Код
- local r = {}
- local g = {}
- local y
- local j = 1
- local spell = {}
- local art_spell = {}
- local SpellID = {53251,48378,48443,48441,50464, 22812}
- for i = 1,#SpellID do
- y = (i*(-20)) +20
- spell[i] = CreateFrame("Frame", nil, UIParent) -- ага создал фрейму
- spell[i]:SetPoint("TOPLEFT",0, y) -- задал место появления относительно WorldFrame
- spell[i]:SetWidth(15)
- spell[i]:SetHeight(15) -- задал ширину и высоту (ивенты думаю можно опустить пока)
- r[i] = 0
- g[i] = 0
- art_spell[i] = spell[i]:CreateTexture("ARTWORK") -- задать текстурку
- art_spell[i]:SetAllPoints()
- art_spell[i]:SetTexture(255, 0, 0) -- задать цвет текстурки (в rgb разумеется)
- art_spell[i]:SetAlpha(1) -- задать уровень прозрачности
- end
- local function BShield(self,elapsed)
- if GetSpellCooldown(SpellID[j]) > 0 then
- r[j] = 255
- g[j] = 0
- else
- r[j] = 0
- g[j] = 255
- end
- if j < #SpellID then
- j=j+1
- else
- j=1
- end
- art_spell[j]:SetTexture(r[j], g[j], 0)
- end
- CreateFrame("Frame", "BShieldFrame")
- BShieldFrame:SetScript("OnUpdate", BShield)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement