 |
| Welcome to Elitist Jerks |
We're testing some new features on the site regarding OpenID registration and coordination with gamerDNA. If you experience any issues with registering an account, please take the time to fill out a report and send it to this e-mail address. We would appreciate any assistance you could provide in making sure everything is functioning as intended. Thanks!
If this is your first visit, please be sure to check out the FAQ and the forum rules. Users must register to post and new registrations are subject to a one day "mute" period to get acquainted with the community.
|
05/21/08, 3:26 AM
|
#176
|
|
Von Kaiser
Draenei Priest
Feathermoon
|
Originally Posted by zork
|
My one question is how do you set this up for multiple toons do you have to make a separate version and enable it for only one toon, or will it work properly if you just add a long list of buffs, debuffs, and cooldowns? Although if you do add a long list it kind of defeats the purpose of using it over one with a large LUA file, correct?
Comments, corrections?
|
|
|
|
|
|
05/21/08, 4:22 AM
|
#177
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
Check the latest version.
http://rothui.googlecode.com/svn/tru...2/rFilter2.lua

-----------------------------------------------------
-- EDIT YOUR BUFFS/DEBUFFS IN HERE
-- IMPORTANT, TAGS HAVE TO BE UNIQUE!!!
-----------------------------------------------------
-- to enable the icons OOC, put this to 1 while moving the icons and to 0 when ready
-- 0 = off // 1 = on
local testmode = 1
--DEFAULT_CHAT_FRAME:AddMessage("found "..rf2_player_name.." : "..rf2_player_class)
if rf2_player_name == "Grombur" and rf2_player_class == "HUNTER" then
rf2_spell_list = {
buffs = {
[1] = { tag = "battle", spellid = 2048, size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "commanding", spellid = 469, size = 32, fontsize = 24, posx = 40, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
},
debuffs = {
[1] = { tag = "demo", spellid = 25203, size = 32, fontsize = 24, posx = 0, posy = 40, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "sunder", spellid = 25225, size = 32, fontsize = 24, posx = 40, posy = 40, framestrata = "BACKGROUND", anchor = "UIParent"},
[3] = { tag = "clap", spellid = 25264, size = 32, fontsize = 24, posx = 80, posy = 40, framestrata = "BACKGROUND", anchor = "UIParent"},
[4] = { tag = "scorpid", spellid = 3043, size = 32, fontsize = 24, posx = 120, posy = 40, framestrata = "BACKGROUND", anchor = "UIParent"},
},
cooldowns = {
[1] = { tag = "wrath", spellid = 19574, size = 32, fontsize = 24, posx = 0, posy = 80, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "rapid", spellid = 3045, size = 32, fontsize = 24, posx = 40, posy = 80, framestrata = "BACKGROUND", anchor = "UIParent"},
[3] = { tag = "arcane", spellid = 27019, size = 32, fontsize = 24, posx = 80, posy = 80, framestrata = "BACKGROUND", anchor = "UIParent"},
},
}
elseif rf2_player_name == "Rothar" and rf2_player_class == "WARRIOR" then
rf2_spell_list = {
buffs = {
[1] = { tag = "battle", spellid = 2048, size = 18, fontsize = 16, posx = -25, posy = -230, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "commanding", spellid = 469, size = 18, fontsize = 16, posx = 0, posy = -230, framestrata = "BACKGROUND", anchor = "UIParent"},
[3] = { tag = "rampage", spellid = 30033, size = 18, fontsize = 16, posx = 25, posy = -230, framestrata = "BACKGROUND", anchor = "UIParent"},
--[3] = { tag = "berserker", spellid = 18499, size = 32, fontsize = 24, posx = 160, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
--[5] = { tag = "block", spellid = 2565, size = 32, fontsize = 24, posx = 80, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
},
debuffs = {
[1] = { tag = "sunder", spellid = 25225, size = 18, fontsize = 16, posx = -75, posy = -200, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "demo", spellid = 25203, size = 18, fontsize = 16, posx = -50, posy = -200, framestrata = "BACKGROUND", anchor = "UIParent"},
[3] = { tag = "clap", spellid = 25264, size = 18, fontsize = 16, posx = -25, posy = -200, framestrata = "BACKGROUND", anchor = "UIParent"},
[4] = { tag = "scorpid", spellid = 3043, size = 18, fontsize = 16, posx = 0, posy = -200, framestrata = "BACKGROUND", anchor = "UIParent"},
[5] = { tag = "fearie", spellid = 26993, size = 18, fontsize = 16, posx = 25, posy = -200, framestrata = "BACKGROUND", anchor = "UIParent"},
[6] = { tag = "fearieferal", spellid = 27011, size = 18, fontsize = 16, posx = 25, posy = -200, framestrata = "BACKGROUND", anchor = "UIParent"},
[7] = { tag = "curseofreck", spellid = 27226, size = 18, fontsize = 16, posx = 50, posy = -200, framestrata = "BACKGROUND", anchor = "UIParent"},
[8] = { tag = "curseoftong", spellid = 11719, size = 18, fontsize = 16, posx = 75, posy = -200, framestrata = "BACKGROUND", anchor = "UIParent"},
},
cooldowns = {
[1] = { tag = "bloodrage", spellid = 2687, size = 32, fontsize = 24, posx = -140, posy = -215, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "berserkercool", spellid = 18499, size = 32, fontsize = 24, posx = -180, posy = -215, framestrata = "BACKGROUND", anchor = "UIParent"},
--[1] = { tag = "revenge", spellid = 30357, size = 32, fontsize = 24, posx = 0, posy = 80, framestrata = "BACKGROUND", anchor = "UIParent"},
--[2] = { tag = "shieldslam", spellid = 30356, size = 32, fontsize = 24, posx = 40, posy = 80, framestrata = "BACKGROUND", anchor = "UIParent"},
},
}
else
rf2_spell_list = {
buffs = {
[1] = { tag = "battle", spellid = 2048, size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
--[2] = { tag = "commanding", spellid = 469, size = 32, fontsize = 24, posx = 40, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
},
debuffs = {
[1] = { tag = "demo", spellid = 25203, size = 32, fontsize = 24, posx = 0, posy = 40, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "sunder", spellid = 25225, size = 32, fontsize = 24, posx = 40, posy = 40, framestrata = "BACKGROUND", anchor = "UIParent"},
--[3] = { tag = "clap", spellid = 25264, size = 32, fontsize = 24, posx = 80, posy = 40, framestrata = "BACKGROUND", anchor = "UIParent"},
--[4] = { tag = "scorpid", spellid = 3043, size = 32, fontsize = 24, posx = 120, posy = 40, framestrata = "BACKGROUND", anchor = "UIParent"},
},
cooldowns = {
[1] = { tag = "revenge", spellid = 30357, size = 32, fontsize = 24, posx = 0, posy = 80, framestrata = "BACKGROUND", anchor = "UIParent"},
--[2] = { tag = "shieldslam", spellid = 30356, size = 32, fontsize = 24, posx = 40, posy = 80, framestrata = "BACKGROUND", anchor = "UIParent"},
--[3] = { tag = "bloodrage", spellid = 2687, size = 32, fontsize = 24, posx = 80, posy = 80, framestrata = "BACKGROUND", anchor = "UIParent"},
},
}
end
Important lines:
if rf2_player_name == "Grombur" and rf2_player_class == "HUNTER" then
or
elseif rf2_player_name == "Rothar" and rf2_player_class == "WARRIOR" then
You can set up as many configurations as you want.
|
|
|
|
|
05/22/08, 2:01 AM
|
#178
|
|
Glass Joe
|
Not sure if you take any feature requests, but I'm wondering how hard it would be to Grey out the debuff icon when it's not applied instead of having it gone all together.
|
|
|
|
|
|
05/22/08, 4:53 AM
|
#179
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
Currently I run a version where I change the Alpha to 0.2 on my Icons if they are not active.
To make something grey you need to use the "SetVertexcolor()"-function. ( API LayeredRegion SetVertexColor - WoWWiki - Your guide to the World of Warcraft).
This function can only be used on special layers, textures are one of those and our icon-texture will work.
We need to give our icon-texture a unique name so we can call it, currently the icon-texture is unnamed (nil).
Find:
--create icon texture
local t = f:CreateTexture(nil,"BACKGROUND")
t:SetTexture(SpellIcon)
t:SetTexCoord(0.1,0.9,0.1,0.9)
t:SetAllPoints(f)
f.texture = t
Change it to:
--create icon texture
local t = f:CreateTexture(frameName.."_icon","BACKGROUND")
t:SetTexture(SpellIcon)
t:SetTexCoord(0.1,0.9,0.1,0.9)
t:SetAllPoints(f)
f.texture = t
Now you could change the color whereever you want like this:
local f4 = _G["rf2_"..frameTag.."_icon"] -- frametag is the unique tag of that spell
f4:SetVertexColor(0.3,0.3,0.3)
|
|
|
|
|
05/30/08, 8:04 AM
|
#180
|
|
Glass Joe
Tauren Shaman
Stonemaul (EU)
|
rBars
Who to make on mouseOver buttons opacity 0.8 and mouseOut opacity 1?
Last edited by MooMoo : 05/30/08 at 8:43 AM.
|
|
|
|
|
|
06/07/08, 12:37 PM
|
#181
|
|
Glass Joe
Orc Warrior
Talnivarr (EU)
|
Hi.
Been trying to figure out how to change the rBuffbars, as in I want to 'undock' the debuff anchors from the buff one etc and be able to move every 'icon' by it self.
I figured I do it the same way as I did with the actionbars but I just can't seem to get it to work on the buffs, are they locked somehow or similar?
if(event=="PLAYER_LOGIN") then
TemporaryEnchantFrame:ClearAllPoints()
TemporaryEnchantFrame:SetPoint("TOPRIGHT", Minimap, "TOPLEFT", -30, 5)
TemporaryEnchantFrame.SetPoint = function() end
BuffButton1:ClearAllPoints()
BuffButton1:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
BuffButton2:ClearAllPoints()
BuffButton2:SetPoint("CENTER", UIParent, "CENTER", 5, 0)
DeBuffButton1:ClearAllPoints()
DeBuffButton1:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
DeBuffButton2:ClearAllPoints()
DeBuffButton2:SetPoint("CENTER", UIParent, "CENTER", 5, 0)
and so on (the above code isn't actually what I intend to end up with, just trying to get the buffs/debuffs to move individually)
it returns a nil value even though I'am sure that's the right names etc, anyone know what I do wrong?
also 2 question regarding rFilter2. (been using it for awhile and seems to work fine in general)
though is it possible to speed up the update rate slightly? I feel that it's a tad to slow for pvp really :|
and would it be to much fuzz to had add track for hostile buffs aswell (mainly pvp again) like divine shield, cheating death etc.
I guess it's done by making a new index (hostliebuffs) and changing the "UnitBuff("player", i)" to "UnitBuff("target", i)"
but since it's hostile buffs one needs to somehow add the duration of all the abilitys tracked manually?
/iNF
Last edited by infin1te : 06/08/08 at 8:34 AM.
|
|
|
|
|
|
06/13/08, 8:46 AM
|
#183
|
|
Glass Joe
Human Paladin
Farstriders
|
rfilters2
Originally Posted by zork
I just want to show you what I was working on lately:
http://zorktdmog.zo.funpic.de/roth_u...108_202808.jpg
I finished rFilter2 for me. It has now two states of alpha, one for out of combat and one for in combat. The grey vertex is working properly now. I found the function that is capable of making items monochrome.
Furthermore I experimented a bit with the border of actionbuttons. You can do nifty things with it when you colorize different states (out of range, not enough mana etc.)
All screens can be found here:
Index of /roth_ui
|
It is very nice. I look forward to your next UI iteration and I really should look deeper into rFilters, wich is one of the rare mods from you that I don't use. I just don't really seem to understand what it does, I guess.
Anyway, just dropping by to say I really appreciate all your work. Keep it up!
...elaith19
|
|
|
|
|
|
06/22/08, 9:58 AM
|
#184
|
|
Glass Joe
Blood Elf Hunter
Khadgar (EU)
|
rFilter2
i've been trying to get the filter to work for a couple of days now, and can't seem to get it to work (the icons don't show up at all)
i've set all the positions to 0 so the icons would be in the middle of my screen iirc
got the texture folder in my addons as well
i'll post the code i have atm to show my buffs/debuffs, if somebody would be able to help me with a mistake or something
thanks in advance

-- to enable the icons OOC, put this to 1 while moving the icons and to 0 when ready
-- 0 = off // 1 = on
local testmode = 1
--alpha when buff/debuff/cd not active
--values between 0 and one are allowed
local alpha_when_not_active = 1
local alpha_when_in_combat = 1
--make icon grey when buff noch active
--0 = off // 1 = on
local use_grey_vertex = 1
--DEFAULT_CHAT_FRAME:AddMessage("found "..rf2_player_name.." : "..rf2_player_class)
if rf2_player_name == "Takashi" and rf2_player_class == "WARRIOR" then
rf2_spell_list = {
buffs = {
[1] = { tag = "battle", spellid = 2048, unit = "player", size = 20, fontsize = 16, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "rampage", spellid = 30030, size = 18, fontsize = 14, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
},
debuffs = {
[1] = { tag = "sunder", spellid = 25225, unit = "target", size = 20, fontsize = 16, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "demo", spellid = 25203, unit = "target", size = 20, fontsize = 16, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
[3] = { tag = "clap", spellid = 25264, unit = "target", size = 20, fontsize = 16, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
},
cooldowns = {
--[1] = { tag = "revenge", spellid = 30357, size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
--[2] = { tag = "shieldslam", spellid = 30356, size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
--[3] = { tag = "bloodrage", spellid = 2687, size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
},
}
else
rf2_spell_list = {
buffs = {
[1] = { tag = "battle", spellid = 2048, unit = "player", size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "rampage", spellid = 30030, size = 18, fontsize = 14, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
},
debuffs = {
[1] = { tag = "demo", spellid = 25203, unit = "target", size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
[2] = { tag = "sunder", spellid = 25225, unit = "target", size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
[3] = { tag = "clap", spellid = 25264, unit = "target", size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
},
cooldowns = {
--[1] = { tag = "revenge", spellid = 30357, size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
--[2] = { tag = "shieldslam", spellid = 30356, size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
--[3] = { tag = "bloodrage", spellid = 2687, size = 32, fontsize = 24, posx = 0, posy = 0, framestrata = "BACKGROUND", anchor = "UIParent"},
},
}
end
edit: downloaded an interface that had a working rfilter2 and used that, it's working now
don't know what was wrong with it
Last edited by matsjuw : 06/23/08 at 5:13 AM.
|
|
|
|
|
|
07/01/08, 9:09 PM
|
#185
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
I am a huge fan of Diablo and so I am in diablo-fever again right now.
Now what first came into my mind when I saw the Diablo 3 gameplay trailer? I said to myself: I want this UI! Now!
So why not just do it myself? So I grabbed some graphics from diablo3.com and made some TGA-files from it.
Here is the first sneak peak:
The Orbs show Health and Mana and they change on Unit_Health or Unit_Mana-Status.
An earlier Screen shows a near half-full orb:
http://zorktdmog.zo.funpic.de/roth_u...208_014709.jpg
I don't know where this is getting me, but its looks kinda cool for now.
*update*
I found some really nice, big screenshots showing the interface. So I could started drawing my actionbar-texture. It will have place for 10 icons (more will destroy the look and feel, so mouseover or macros will be needed).
Current design layout:
http://rothui.googlecode.com/svn/tru...d3barframe.png
I made a much smaller minimap-texture too. I am curious about how everything will turn out. We will see.
Last edited by zork : 07/02/08 at 10:20 AM.
|
|
|
|
|
07/05/08, 1:12 PM
|
#186
|
|
Von Kaiser
Undead Priest
Vek'nilash (EU)
|
Ey was wondering how hard would it be to add focus units target? I'm not that great with lua coding myself, editining existing code is not a problem but I don't feel too secure of adding stuff on my own 
Last edited by Kuosi : 07/06/08 at 6:53 AM.
|
|
|
|
|
|
07/08/08, 9:59 AM
|
#187
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
rUnits are kinda old and shaby, try oUF + oUF_Lily and no, there is no easy way other than using Pitbull/ag_UF.
I made great progress on the Diablo 3 interface, currently working on the target frame.
Check WoWInterface Downloads : Graphical : Roth UI for further information.
|
|
|
|
|
07/14/08, 5:42 PM
|
#188
|
|
Von Kaiser
Draenei Priest
Feathermoon
|
I have to say the new UI looks awesome roth, I agree the default Diablo UI looks really cool and your recreation looks equally nice. I was however surprised to see that you used bongos over rBars or something similar. I was just wondering why didn't you simply edit rbars to fit? Also just a suggestion, rather than making hidden macros or key-bindings you may want to consider some mouse over bars unless your just trying to avoid on update. Anyways keep up the good work!
|
|
|
|
|
|
07/15/08, 4:27 AM
|
#189
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
I left rBars on the road for quite some time. It was to time intensive and I need bars with more flexibility. Bongos2 had all this. So easy decision.
|
|
|
|
|
07/17/08, 5:55 PM
|
#190
|
|
Von Kaiser
Draenei Priest
Feathermoon
|
I must admit I haven't tried bongos in along time, I was really turned off to it because it didn't handle shapeshifting properly and you couldn't toggle through the bars with the shift+bar# key-bindings. I suppose its been a long enough time for me to give it another whirl but i have to say, bartenders, and rbars are still my favorites.
|
|
|
|
|
|
07/18/08, 7:31 AM
|
#191
|
|
Glass Joe
Gnome Mage
Argent Dawn (EU)
|
rbuff:
i wonder if anyone has done this before but i've got this UI and i'm advised that i need to amend the lua file and i'm not really sure what it all means really :P
all i want for it to do is give me a coloured boarder for my weapon poisons and oils that you can apply and such and maybe red for debuffs i guess following the blizz colour trend? i currently like the black boarder and gloss look of my buffs its just the others i want to change. i know elk buff bars used to display them as purple i think.
currently the code is this and any assistance is greatly appreciated

BUFF_FLASH_TIME_ON = 0.8;
BUFF_FLASH_TIME_OFF = 0.8;
BUFF_MIN_ALPHA = 0.70;
local addon = CreateFrame"Frame"
local _G = getfenv(0)
addon:SetScript("OnEvent", function()
if(event=="PLAYER_LOGIN") then
TemporaryEnchantFrame:ClearAllPoints()
TemporaryEnchantFrame:SetPoint("TOPRIGHT", Minimap, "TOPLEFT", -15, 0)
TemporaryEnchantFrame.SetPoint = function() end
BuffFrame:SetScale(1)
TicketStatusFrame:Hide()
TicketStatusFrame.Show = function() end
elseif(event=="PLAYER_AURAS_CHANGED") then
local i
i = 1
while _G["BuffButton"..i] do addon:Update("BuffButton"..i, 1) i = i + 1 end
i = 1
while _G["DebuffButton"..i] do addon:Update("DebuffButton"..i, 2) i = i + 1 end
i = 1
while _G["TempEnchant"..i] do addon:Update("TempEnchant"..i, 3) i = i + 1 end
end
end)
function addon:Update(name, isDebuff)
local b = _G[name.."Border"]
local i = _G[name.."Icon"]
local f = _G[name]
local c = _G[name.."Gloss"]
local ff = _G[name.."Duration"]
ff:SetFont(NAMEPLATE_FONT, 11, "")
ff:ClearAllPoints()
ff:SetPoint("TOP",f,"BOTTOM",0,0)
if not c then
local fg = CreateFrame("Frame", name.."Gloss", f)
fg:SetAllPoints(f)
local t = f:CreateTexture(nil,"ARTWORK")
t:SetTexture("Interface\\AddOns\\rTextures\\gloss.tga")
t:SetPoint("TOPLEFT", fg, "TOPLEFT", -0, 0)
t:SetPoint("BOTTOMRIGHT", fg, "BOTTOMRIGHT", 0, -0)
fg.texture = t
--
if isDebuff == 2 then
local t = f:CreateTexture(nil,'ARTWORK')
t:SetTexture('Interface\\AddOns\\rTextures\\gloss_red')
t:SetPoint('TOPLEFT', fg, 'TOPLEFT', -0, 0)
t:SetPoint('BOTTOMRIGHT', fg, 'BOTTOMRIGHT', 0, -0)
fg.texture = t
elseif isDebuff == 3 then
local t = f:CreateTexture(nil,'ARTWORK')
t:SetTexture('Interface\\AddOns\\rTextures\\gloss_purple')
t:SetPoint('TOPLEFT', fg, 'TOPLEFT', -0, 0)
t:SetPoint('BOTTOMRIGHT', fg, 'BOTTOMRIGHT', 0, -0)
fg.texture = t
else
local t = f:CreateTexture(nil,'ARTWORK')
t:SetTexture('Interface\\AddOns\\rTextures\\gloss_green')
t:SetPoint('TOPLEFT', fg, 'TOPLEFT', -0, 0)
t:SetPoint('BOTTOMRIGHT', fg, 'BOTTOMRIGHT', 0, -0)
fg.texture = t
end --
i:SetTexCoord(0.1,0.9,0.1,0.9)
i:SetPoint("TOPLEFT", fg, "TOPLEFT", 2, -2)
i:SetPoint("BOTTOMRIGHT", fg, "BOTTOMRIGHT", -2, 2)
end
if b then b:Hide() end
end
SecondsToTimeAbbrev = function(time)
local hr, m, s, text
if time <= 0 then text = ""
elseif(time < 3600 and time > 40) then
m = floor(time / 60)
s = mod(time, 60)
text = (m == 0 and format("|cffffffff%d|r", s)) or format("|cffffffff%d:%02d|r", m, s)
elseif time < 40 then
m = floor(time / 60)
s = mod(time, 60)
text = (m == 0 and format("|cffffffff%d|r", s))
else
hr = floor(time / 3600)
m = floor(mod(time, 3600) / 60)
text = format("%d:%2d", hr, m)
end
return text
end
addon:RegisterEvent"PLAYER_AURAS_CHANGED"
addon:RegisterEvent"PLAYER_LOGIN"
|
|
|
|
|
|
|
07/21/08, 5:15 AM
|
#192
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
What you need can be found here:
World of Warcraft API - WoWWiki - Your guide to the World of Warcraft
The original Blizzard function can be found here:
http://wowcompares.com/2438606/FrameXML/BuffFrame.lua
Its interesting how they get to the weapon type...seems not very common.
Original function:

function BuffFrame_Enchant_OnUpdate(elapsed)
local hasMainHandEnchant, mainHandExpiration, mainHandCharges, hasOffHandEnchant, offHandExpiration, offHandCharges = GetWeaponEnchantInfo();
-- No enchants, kick out early
if ( not hasMainHandEnchant and not hasOffHandEnchant ) then
TempEnchant1:Hide();
TempEnchant1Duration:Hide();
TempEnchant2:Hide();
TempEnchant2Duration:Hide();
BuffFrame:SetPoint("TOPRIGHT", "TemporaryEnchantFrame", "TOPRIGHT", 0, 0);
return;
end
-- Has enchants
local enchantButton;
local textureName;
local buffAlphaValue;
local enchantIndex = 0;
if ( hasOffHandEnchant ) then
enchantIndex = enchantIndex + 1;
textureName = GetInventoryItemTexture("player", 17);
TempEnchant1:SetID(17);
TempEnchant1Icon:SetTexture(textureName);
TempEnchant1:Show();
-- Show buff durations if necessary
if ( offHandExpiration ) then
offHandExpiration = offHandExpiration/1000;
end
BuffFrame_UpdateDuration(TempEnchant1, offHandExpiration);
-- Handle flashing
if ( offHandExpiration and offHandExpiration < BUFF_WARNING_TIME ) then
TempEnchant1:SetAlpha(BuffFrame.BuffAlphaValue);
else
TempEnchant1:SetAlpha(1.0);
end
end
if ( hasMainHandEnchant ) then
enchantIndex = enchantIndex + 1;
enchantButton = getglobal("TempEnchant"..enchantIndex);
textureName = GetInventoryItemTexture("player", 16);
enchantButton:SetID(16);
getglobal(enchantButton:GetName().."Icon"):SetTexture(textureName);
enchantButton:Show();
-- Show buff durations if necessary
if ( mainHandExpiration ) then
mainHandExpiration = mainHandExpiration/1000;
end
BuffFrame_UpdateDuration(enchantButton, mainHandExpiration);
-- Handle flashing
if ( mainHandExpiration and mainHandExpiration < BUFF_WARNING_TIME ) then
enchantButton:SetAlpha(BuffFrame.BuffAlphaValue);
else
enchantButton:SetAlpha(1.0);
end
end
--Hide unused enchants
for i=enchantIndex+1, 2 do
getglobal("TempEnchant"..i):Hide();
getglobal("TempEnchant"..i.."Duration"):Hide();
end
-- Position buff frame
TemporaryEnchantFrame:SetWidth(enchantIndex * 32);
BuffFrame:SetPoint("TOPRIGHT", "TemporaryEnchantFrame", "TOPLEFT", -5, 0);
end
The standard overlay border for temporary enchants lives here:
Interface\Buttons\UI-TempEnchant-Border
|
|
|
|
|
08/30/08, 9:28 PM
|
#193
|
|
Von Kaiser
|
I've recently started playing with the roth addons and while I've had a bit of programming experience, Lua was new to me so it's been a lot of fun. One thing I've been unable to find a solution for however is making rBars change my druids bar when I'm prowling in cat form. I think I understand that it changes the BonusBar depending on stance so this makes sense as for druids, Prowl isn't a stance as far as I can tell. Bartender can swap the bars for Prowl though so I'm assuming I can make rBars do the same. I've tried looking through the Bartender code but quickly got lost
Here is a hack I added to the end of rBars.lua that works somewhat but isn't ideal, as more often than not I enter combat before the Prowl aura falls off so the bar doesn't change back leaving me to manually scroll up.
catbar = CreateFrame("Frame", "catbar")
catbar:SetScript("OnEvent", function()
if event == "UNIT_AURA" then
local buffs, i = {}, 1
local buff = UnitBuff("player", i)
while buff do
buffs[#buffs + 1] = buff
i = i + 1
buff = UnitBuff("player", i)
end
if #buffs > 1 then
buffs = table.concat(buffs, ";")
if string.find(buffs, "Cat Form") then
if string.find(buffs, "Prowl") then
ChangeActionBarPage(3)
else
ChangeActionBarPage(1)
end
end
end
end
end)
catbar:RegisterEvent("UNIT_AURA")
From my limited knowledge, I'm guessing that actionbar pages can't be programatically changed while in combat while bonusbar pages can (changing stances in combat tells me this), so therefore I need to figure out how to change the bonusbar in the same way I'm changing the actionbar but I can't seem to find any documentation on how to do that.
I understand you're no longer developing rBars so if you no longer wish to offer advice on the subject then I understand however if someone could just point me at a resource that could lead me in the right direction I would very much appreciate it.
|
|
|
|
|
|
09/13/08, 1:51 PM
|
#194
|
|
Glass Joe
Blood Elf Hunter
Skullcrusher (EU)
|
Hey, got a question...
Has anyone changed the artwork for the Roth UI (aka. Diablo 3 ui) so that the orb colour changes with rage/energy.
Would be nice to see that :]
|
|
|
|
|
|
09/13/08, 10:06 PM
|
#195
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
Originally Posted by Yoshomfg
Hey, got a question...
Has anyone changed the artwork for the Roth UI (aka. Diablo 3 ui) so that the orb colour changes with rage/energy.
Would be nice to see that :]
|
Depends on version of the orbs. When using m2-files you could only change the animation file. There are animation-fogs for orange, yelllow, blue, white, black, green and red orbs.
So you just have to replace the BlueFog with a OrangeFog and so on.
|
|
|
|
|
09/14/08, 1:10 PM
|
#196
|
|
Glass Joe
Blood Elf Hunter
Skullcrusher (EU)
|
Depends on version of the orbs. When using m2-files you could only change the animation file. There are animation-fogs for orange, yelllow, blue, white, black, green and red orbs.
So you just have to replace the BlueFog with a OrangeFog and so on.
|
okay, and now step by step please...
I got no idea what m2-files are, and where to adjust these settings...
(updated to latest roth ui version as of today)
|
|
|
|
|
|
09/24/08, 5:23 AM
|
#197
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
I am into animation stuff right now (again).
I wrote down all my experience about animation stuff. Currently only in German sorry.
Animationstechniken
My plan was and is to write a mod that is capable of:
- creating cool looking orbs with animation inside that could be placed anywhere
- creating as many orbs as you want
To sum this up, I did some further testing yesterday. On the following screen you will see 3 Frames, every frame uses a red fog as the model.
There are 4 types of frames that are capable of drawing animation files. Model, DressUpModel, TabbardModel and PlayerModel.
docs/widgets hierarchy - World of Warcraft Programming: A Guide and Reference for Creating WoW Addons
From left to right: DressUpModel, Model, PlayerModel
They all behave differently. As you see the DressUpModel cannot display the file, whereas the Model only shows some blurry red stuff. The only Model that renders the fog correctly is the PlayerModel.
I set up a test animation addon to check some values. Upon entering...
m2:SetModelScale(0.05)
m2:SetPosition(-4, 0.8, 1)
...in the PlayerModel I finally saw the sun (haha).
You can download the addon here: Test Animation Addon : WoWInterface Downloads : Plug-Ins & Patches
Ok, why is this a good finding? Well the problem of the Frames is that they cannot be masked, so if you want to create a orb-alike thing which is obviously round in a square frame you need to create something that is round aswell and does not touch the edges of the frame or it will not look right.
Next step was to include the new findings into a new GlowingOrb mod.
This mod uses my Diablo3Orb-filling, -gloss and -background textures. So now that I can create orbs with round animations inside I can start creating as many of them as I want.
I created a test mod for this aswell.
Download: Glowing Orbs : WoWInterface Downloads : Plug-Ins & Patches
If you know rFilter2 you will know how to set this up. Just cast as many orbs as you like at the top of the lua-file.
Now that it looks cool it needs to get some functionality. Maybe its possible to make them work as fully functional unitframes but I don't know yet. Time will tell.
My plan is to make it look something like this:
*Update:*
I finished the first part of my new orb system. Check the screenshots:
http://zorktdmog.zo.funpic.de/wowani...508_213748.jpg
http://zorktdmog.zo.funpic.de/wowani...508_213751.jpg
http://zorktdmog.zo.funpic.de/wowani...508_213803.jpg
http://zorktdmog.zo.funpic.de/wowani...508_213810.jpg
in combat
http://zorktdmog.zo.funpic.de/wowani...508_214715.jpg
The thing is you can now spawn the orbs.
This is how I call my orbs:
--UNIQUE_FRAME_NAME, ANCHOR_FRAME, FRAME_STRATA_FILLING, FRAME_STRATA_GLOSS, SIZE, POSITIONANCHOR, POSX, POSY, FONTSIZE1, FONTSIZE2, FONTPADDING, UNITID
addon:create_redorb("redorb1","UIParent","BACKGROUND","LOW",120,"CENTER",-200,0,18,12,10,"player")
addon:create_blueorb("blueorb1","redorb1","LOW","MEDIUM",70,"CENTER",60,-30,14,12,7,"player")
addon:create_redorb("redorb2","UIParent","BACKGROUND","LOW",120,"CENTER",200,0,18,12,10,"target")
addon:create_blueorb("blueorb2","redorb2","LOW","MEDIUM",70,"CENTER",-60,-30,14,12,7,"target")
A first beta version is out on GoogleCode SVN.
Last edited by zork : 09/25/08 at 5:00 PM.
|
|
|
|
|
09/29/08, 12:20 PM
|
#198
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
Sorry but I have to update this again. I am currently trying bring my orbs and oUF together. My first idea was to do sth. like this:
Which led to the following experimental designs:
I like the last one enough that I am going to give it a go.
I forgot that I am able to use textures when creating frames with the statusbar-template. Additionally statusbar-templates can be vertical too. So I don't have to mess with SetTexCoord() myself. haste included castbars in oUF in one of the latest versions so I am going to try it. Textures and statusbars are a perfect match since you can use TGA-files which can contain a alpha layer.
"tmshawer" wrote a oUF_Circle layout ( oUF Circle : WoWInterface Downloads : Plug-Ins & Patches) which looks great. I looked into his code and the rotating aggro ring is really cool.
The general technique is very much like the one I use for my Orbs and I think I can adopt some of his code.
To bad I am currently not able to start the PTR-client since my GFX is one of those that makes the game crash on startup (Geforce 4 Ti4200).
oUF_Layout is out! Check:
oUF Orbs : WoWInterface Downloads : Plug-Ins & Patches
Last edited by zork : 09/29/08 at 7:27 PM.
|
|
|
|
|
10/03/08, 9:47 AM
|
#199
|
|
GONE!
Gnome Warrior
Kor'gall (EU)
|
rBuff
First of all, thanks to Zork for all of his beautiful work and time put into his variety of mods.
I started using rBuff today and I really like it so far. I have a question regarding the formatting of the time text. Right now the code looks like this (untouched):
SecondsToTimeAbbrev = function(time)
local hr, m, s, text
if time <= 0 then text = ""
elseif(time < 3600 and time > 40) then
m = floor(time / 60)
s = mod(time, 60)
text = (m == 0 and format("|cffffffff%d|r", s)) or format("|cffffffff%d:%02d|r", m, s)
elseif time < 40 then
m = floor(time / 60)
s = mod(time, 60)
text = (m == 0 and format("|cffffffff%d|r", s))
else
hr = floor(time / 3600)
m = floor(mod(time, 3600) / 60)
text = format("%d:%2d", hr, m)
end
return text
end
And this is what it lookes like in-game:
What I want to change is the way duration is formatted. Right now anything with a duration under one hour looks like this: MM:SS
I want to change this, so that buffs with a duration of one minute or longer displays like HH:MM instead of MM:SS. I would also like to edit the color of the buff text if it's duration is greater than one minute.
My LUA editing skills are very moderate, so any hints in the right direction of achieving what I want are greatly appreciated.
---- Edit:
I gave it some more time and eventually I found something that worked out for me. The code isn't pretty, but it works.
SecondsToTimeAbbrev = function(time)
local hr, m, s, text
if time <= 0 then text = ""
elseif(time < 3600 and time > 60) then
hr = floor(time / 3600)
m = floor(mod(time, 3600) / 60)
text = format("%dm", m)
elseif time < 60 then
m = floor(time / 60)
s = mod(time, 60)
text = (m == 0 and format("%ds", s))
else
hr = floor(time / 3600)
text = format("%dh", hr)
end
return text
end
And this is what it looks like now:

Last edited by Chasy : 10/03/08 at 5:26 PM.
|
|
|
|
|
|
10/04/08, 5:32 PM
|
#200
|
|
Don Flamenco
Dwarf Warrior
Eredar (EU)
|
Nice, I think I will copy it. 
|
|
|
|
|
|