Elitist Jerks
Register
Blogs
Chat
Forums
New Posts


Go Back   Elitist Jerks > Public Discussion > User Interface and AddOns

Welcome to Elitist Jerks
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. To start viewing messages, select the forum that you want to visit from the selection below.

Reply
 
LinkBack (110) Thread Tools
Old 08/24/08, 12:21 PM   #376 (permalink)
Von Kaiser
 
Undead Mage
 
Thunderlord
Originally Posted by livefastdiarrhea View Post
Something like [(CastName CastEndDuration:FormatDuration) or Name]
So I modified it a bit.
[(castname " " castendduration:formatduration) or [(if IsPlayer then
    ClassColor
else
    HostileColor
end) NameRealm]]
And it works great...until I cast. I get the cast name and duration but when the cast is complete it doesn't return back to showing the target's name.

Last edited by clairecakes : 08/24/08 at 2:06 PM.
 
User is offline.
Reply With Quote
Old 08/25/08, 2:58 AM   #377 (permalink)
Glass Joe
 
Human Mage
 
Kalecgos
Sounds like an Underhood problem.
 
User is offline.
Reply With Quote
Old 08/25/08, 6:53 PM   #378 (permalink)
krx
Glass Joe
 
krx_o
Draenei Hunter
 
Non-US/EU Server
i have no mana bar
so my mana shows as text

how can i color it..

like at 100% lightblue
50% blue
20% darkblue

10colors.
10% steps
help?

Last edited by krx : 08/25/08 at 7:28 PM.
 
User is offline.
Reply With Quote
Old 09/01/08, 5:17 PM   #379 (permalink)
Glass Joe
 
Draenei Shaman
 
Greymane
Is there a way to use dogtags to designate runners? I used to use MobInfo2 for that but once I switched to cowtip I dropped MI2
 
User is offline.
Reply With Quote
Old 09/04/08, 1:49 AM   #380 (permalink)
Glass Joe
 
Orc Warlock
 
Turalyon
Warrior shouts

Just made this one for my warrior on his player frame, so I thought I'd share it. It's my first attempt, so it employs brute force I'm sure. Let me know if it can be optimized in any way. Thank you =)

This puts the word "Shout" in the player frame unless the warrior doesn't have either Battle Shout or Commanding Shout active and is at zero rage. Shout will be colored Green if either buff has more than 30 seconds left on the duration, Yellow if the duration is between 5 and 30 seconds, and Red if the duration is less than 5 seconds or missing altogether and the warrior has at least 1 rage.

[if ((HasAura("Battle Shout") and (AuraDuration("Battle Shout", unit='player') > 30)) or (HasAura("Commanding Shout") and (AuraDuration("Commanding Shout", unit='player') > 30))) then
    "Shout":Green
elseif ((HasAura("Battle Shout") and (AuraDuration("Battle Shout", unit='player') < 5)) or (HasAura("Commanding Shout") and (AuraDuration("Commanding Shout", unit='player') < 5))) then
    "Shout":White
elseif HasAura("Battle Shout") or HasAura("Commanding Shout") then
    "Shout":Yellow
elseif MP(unit='player') = 0 then
    MP:Hide(0)
else
    "Shout":White
end]
 
User is offline.
Reply With Quote
Old 09/13/08, 8:37 PM   #381 (permalink)
Von Kaiser
 
Undead Priest
 
Ner'zhul
Trying to work on my new Pitbull layout, but I have a couple dogtags that are confusing me. Basically what I want them to do is this


Amount of health remaining . percentage of life remaining


Example:

3632 . 83%

But I want this to disappear if I'm full life. I'd also like the amount of health remaining to change colors as it goes down, blue, orange, red, but thats not as important as just getting the tag to work.

Edit: I have tthis for the tag now, but it won't hide the dot.

[Outline][(Status:Lower or HP:Hide(MaxHP):Red " . " PercentHP:Hide(100):Percent)]


Also, I indented all my name tags two spaces because they are on the top left edge of the frame. However, I made a remaining mana tag and no matter how many space I put at the beginning it doesn't indent at all and the first number overlaps the left edge of the frame. Is there anyway to tell it to have two spaces at the beginning?

Thankyou in advance for any help.

Last edited by Atallicus : 09/13/08 at 8:59 PM.
 
User is offline.
Reply With Quote
Old 09/20/08, 9:01 AM   #382 (permalink)
Glass Joe
 
Blood Elf Hunter
 
Drak'thul
Hi, folks. You may remember my Crowd Control checker tag or popular minimalist UI from awhile back.

Tonight, I came up with a way to shorten names to an extremely functional form using DogTag-3.0. Perhaps there are others, but it's late and I couldn't find any.

Notice the smaller focus frame on the left, compared to the full name on the right.



Obviously, this has huge benefits for the minimalists, "no muss" users, and even the power users that require a lot of on screen display.

Why use this over truncation?

Answer:

Screen estate is valuable. Most focus and non-personal target frames are not large, so it is of the utmost importance that the information displayed is the most relevant.

Most people are forced to use truncate, so:

If you were to be on Sheep duty, you would put it as your focus, and would now be sheeping "Dawn Blade..." or "Super Ultr..." or "Shattered Su...".

Just as likely, your MA or MT could be targeting "Dawn Blade..." or "Super Ultr..." or "Shattered Su...", and outside of targeting it manually or inherently knowing the kill/tanking order, you are clueless as to what who has targeted.

There's a better way...

[(if  ((Abbreviate(Name) ~= Name) and (Length(Name) > 10)) then
    Abbreviate(Name):Substring(1, (Length(Abbreviate(Name)) - 1)):Append(". "):Upper:ClassColor
    Name:Replace(" ", "                            "):Substring(-15, -1):Replace(" ", ""):Truncate(10, nil):Upper:ClassColor
else
    Name:Truncate(10, nil):Upper:ClassColor
end)]
Note: The length values of 10 are completely up to you. Use whatever the max number of characters you want displayed on that particular frame.

To remove the upper-case names and/or class colors, simply remove :Upper and/or :ClassColor towards the end of each line.

How this works:

[(if  ((Abbreviate(Name) ~= Name) and (Length(Name) > 10)) then

-- Checks if the name can be abbreviated (at least one space present),
-- and that the total name length is greater than [10]. 10 can be replaced with
-- any number, that would properly fit your unit frame with no issue.
-- I included this because if there's an ultra short multi-word name, such
-- as "The Dog", it will just display the entire thing.

Abbreviate(Name):Substring(1, (Length(Abbreviate(Name)) - 1)):Append(". "):Upper:ClassColor

-- This creates the abbreviation. Abbreviates the name down,
-- uses substring to start at the first character and pulls out every letter
-- except the last one. Achieved by checking length of the abbreviated name,
-- and subtracting 1 (1 because that's the first letter of the last word that will
-- actually be displayed.) Appends a period for clarity.

Name:Replace(" ", "                            "):Substring(-15, -1):Replace(" ", ""):Truncate(10, nil):Upper:ClassColor

-- This pulls the last word out, using some mega-trickery.
-- Takes the full name, bloats single spaces into twenty.
-- Uses substring to start at the last letter, then pulls out
-- the previous 15 characters, which results in "       Name".
-- Then replaces spaces, nulling them out. If the last word is
-- somehow still too long, it truncates it from the last letters.

else
    Name:Truncate(10, nil):Upper:ClassColor

-- If the name can't be abbreviated (one word), but it's still over the display limit,
-- truncates it to 10 characters.

-- Ta-da! Again, there may be better ways to do this, but this
-- achieves what I was wanting to do!

Last edited by Sethik : 09/22/08 at 9:38 PM.
 
User is offline.
Reply With Quote
Old 09/20/08, 7:42 PM   #383 (permalink)
Von Kaiser
 
Undead Mage
 
Thunderlord
I really adored the above tags, but I tend to be a nazi about class/hostile coloring and I'm not a fan of all Uppercase letters. So I edited it to meet my own need.

[(if IsPlayer then
    ClassColor
else
    HostileColor
end) (if (Abbreviate(Name) and Length(Name) > 11) then
    Abbreviate(Name):Substring(1, (Length(Abbreviate(Name)) - 1)):Append(". ") Name:Replace(" ", "                            "):Substring(-15, -1):Replace(" ", ""):Truncate(11, nil)
else
    Name:Truncate(11, nil)
end)]
 
User is offline.
Reply With Quote
Old 09/22/08, 7:33 PM   #384 (permalink)
Von Kaiser
 
Silly_Syra's Avatar
 
Troll Shaman
 
Mug'thol
Sethik:

I'm getting weird truncation mishaps when your tag types a name over 10 letters that is one word.
I was considering upping the trunc length to be something longer than any player name could be but it seems like if I ran into an npc with a very long name of only one word the problem would still pop up. Any ideas?

Here's a picture:
ImageShack - Hosting :: trunctagay2.jpg
(Sorry that imageshack put ay on the end of the file name...)

Last edited by Silly_Syra : 09/22/08 at 7:37 PM. Reason: Guess I cant post images
 
User is offline.
Reply With Quote
Old 09/22/08, 9:36 PM   #385 (permalink)
Glass Joe
 
Blood Elf Hunter
 
Drak'thul
Good find, thanks for the heads up. Confirmed and fixed. Fixed in original post.

New version:

[(if  ((Abbreviate(Name) ~= Name) and (Length(Name) > 10)) then
    Abbreviate(Name):Substring(1, (Length(Abbreviate(Name)) - 1)):Append(". "):Upper:ClassColor
    Name:Replace(" ", "                            "):Substring(-15, -1):Replace(" ", ""):Truncate(10, nil):Upper:ClassColor
else
    Name:Truncate(10, nil):Upper:ClassColor
end)]
Abbreviate() wasn't returning null/false as I expected, but instead returning the entire name. I've put in a check against the full name to make sure that the abbreviated version is actually different than the full name.

Should be working now. Let me know if you find anything else.
 
User is offline.
Reply With Quote
Old 09/24/08, 5:32 PM   #386 (permalink)
King Hippo
 
Duilliath's Avatar
 
Night Elf Druid
 
The Maelstrom (EU)
Question, I've been fiddling with DogTags now and found I'm missing quite a few important 'buffs'. Currently I've gone with pretty much a copy/paste from the first post. I want to add the following in a similar manner, but am not sure if they can all be added as 'HasAura' - can someone either double check or point me to a list where I can find the info ?

--Buffs--

(HoT) Regrowth / Lifebloom / Rejuvenation / Renew
(Friendly Buff) Innervate / Pain Suppression / Power Word: Shield / Fear Ward / Earth Shield
(Self Buff) Nature's Grasp / Soul Link / Water Shield

--Debuffs--

Mortal Strike / Wound Poison / Aimed Shot
Crippling Poison / Hamstring / Wingclip
Curse of Tongues / Mindnumbing

//edit:
Shadowform for instance, has a spell description of "Apply Aura: Shapeshift (28)". Soul Link doesn't have something similar listed.
Regrowth and Rejuvenation for example both "Apply Aura: Periodic Heal".

An thenn tehy wuz al ded. Srsly. (Exodus 1)
 
User is offline.
Reply With Quote
Old 09/24/08, 6:14 PM   #387 (permalink)
Chronic Apopheniac
 
Adoriele's Avatar
 
Night Elf Druid
 
Eldre'Thalas
Originally Posted by Duilliath View Post
Question, I've been fiddling with DogTags now and found I'm missing quite a few important 'buffs'. Currently I've gone with pretty much a copy/paste from the first post. I want to add the following in a similar manner, but am not sure if they can all be added as 'HasAura' - can someone either double check or point me to a list where I can find the info ?

--Buffs--

(HoT) Regrowth / Lifebloom / Rejuvenation / Renew
(Friendly Buff) Innervate / Pain Suppression / Power Word: Shield / Fear Ward / Earth Shield
(Self Buff) Nature's Grasp / Soul Link / Water Shield

--Debuffs--

Mortal Strike / Wound Poison / Aimed Shot
Crippling Poison / Hamstring / Wingclip
Curse of Tongues / Mindnumbing

//edit:
Shadowform for instance, has a spell description of "Apply Aura: Shapeshift (28)". Soul Link doesn't have something similar listed.
Regrowth and Rejuvenation for example both "Apply Aura: Periodic Heal".
Everything but weapon buffs can be checked for using HasAura. It's not using Blizzard's internal naming, it just routinely calls a function which lists all of the auras(de/buffs) you have applied to you. The dogtag then checks against that list. Weapon buffs don't get listed because they're actually temporary enchants.
 
User is offline.
Reply With Quote
Old 09/24/08, 7:33 PM   #388 (permalink)
King Hippo
 
Duilliath's Avatar
 
Night Elf Druid
 
The Maelstrom (EU)
Originally Posted by Adoriele View Post
Everything but weapon buffs can be checked for using HasAura. It's not using Blizzard's internal naming, it just routinely calls a function which lists all of the auras(de/buffs) you have applied to you. The dogtag then checks against that list. Weapon buffs don't get listed because they're actually temporary enchants.
Cheers - I found the list in the initial post a bit short of needed buffs/debuffs in a PvP setting. Since I can't purge temporary weapon buffs anyway, I think I'll manage to survive the lack of those.

For those interested, here's what I made of it (NO clue why it adds the white lines at the end of the code field):

--Buffs--

[outline (if HasAura("Regrowth") then
    "R":Color("004400")
end) (if HasAura("Rejuvenation") then 
    "R":Color("009900")
end) (if HasAura("Renew") then 
    "R":White
end) (if HasAura("Lifebloom") then 
    "L":Color("009900")
end) (if HasAura("Innervate") then 
    "I":White
end) (if HasAura("Pain Suppression") then 
    "PS":White
end) (if HasAura("Power Word: Shield") then 
    "S":White
end) (if HasAura("Fear Ward") then 
    "F":White
end) (if HasAura("Earth Shield") then 
    "E":Color("442200")
end) (if HasAura("Nature's Grasp") then 
    "N":Color("009900")
end) (if HasAura("Water Shield") then 
    "W":Color("003366")
end)]
--Debuffs--

[outline (if HasAura("Mortal Strike") or HasAura("Wound Poison") or HasAura("Aimed Shot") then
    ".":Color("990000")
end) (if HasAura("Crippling Poison") or HasAura("Hamstring") or HasAura("Wing Clip") then
    ".":Color("006600")
end) (if HasAura("Curse of Tongues") or HasAura("Mind-numbing Poison") then
    ".":Color("550055")
end)]

An thenn tehy wuz al ded. Srsly. (Exodus 1)
 
User is offline.
Reply With Quote
Old 09/27/08, 8:09 PM   #389 (permalink)
Von Kaiser
 
Draenei Shaman
 
Dark Iron
Ok, I have 2 problem tags for you.

First For my Target of Target I'm using a modified version of a tag all ready in here
[if IsUnit("player") then
    "<<You>>":Red
else
    (if IsPlayer then
        ClassColor
    else
        HostileColor
    end) (if (Abbreviate(Name) and Length(Name) > 11) then
        Abbreviate(Name):Substring(1, (Length(Abbreviate(Name)) - 1)):Append(". ") Name:Replace(" ", "                            "):Substring(-15, -1):Replace(" ", ""):Truncate(11, nil)
    else
        Name:Truncate(11, nil)
    end)
end]
I want to add a clause to the first part, specifically If My target isn't hostile (ie a friendly player or my self) than it appears as either normal (my name) or just not red.



#2
My second question is in multiple parts.

part One, I'm trying to change my health numbers a bit, I'm currently using these 2 codes for health

I'm using the "veryShort" tag, but I wanted to modify it to always have a decimal place. For instance: If my HP is 9332, I want it to read as 9.3k, If it's 13412 I want it to read as 13.4k. The "Short" tag does this for the numbers over 10k but not below, Is there a better tag for this, or perhaps a rounding tag (obviously the rounding tag wouldn't work).

Part two, I want to combine these 2 tags.

I'd like the mouseover and coloring from the first and the dead conventions from the second.

1st
[if IsMouseOver then
    HP:White
else
    (if HP >= 4000 then
        HP:VeryShort:White
    else
        HP:VeryShort:HPColor
    end)
end]
2nd

[if HP > 0 then
    HP:VeryShort
else
    Dead
end]
Thank you for the help.

Also, side note. If there are any Better ways to do what you see above please let me know. The leap from Python to DogTags wasn't too bad But I'm still making some mistakes.

I may have quit, but i still like to use my noggen.
 
User is offline.
Reply With Quote
Old 09/28/08, 7:22 PM   #390 (permalink)
Von Kaiser
 
Tauren Shaman
 
Neptulon (EU)
I have problem setting up a dogtag for buffs, my plan was to make a tag that would display a dot for a buff that I either don't have or I have but it's duration is less than 20minutes.
I got this so far it works good when I'm missing the buff but not if the duration is less than 20 minutes:
(if (~HasAura("Mark of the Wild") and ~HasAura("Gift of the Wild")) or AuraDuration("Mark of the Wild") < 1200 or AuraDuration("Gift of the Wild") < 1200 then
    ".":Color("ff00ce")
end)
Any ideas what could be the problem?
 
User is offline.
Reply With Quote
Old 10/03/08, 10:03 AM   #391 (permalink)
Glass Joe
 
Orc Warrior
 
Bloodhoof (EU)
I've been wondering if there is a way to get all the elements in a list returned by a function such as TargetingList to be colored by class. Is this possible?
 
User is offline.
Reply With Quote
Old 10/06/08, 3:49 AM   #392 (permalink)
Glass Joe
 
Troll Rogue
 
Gilneas (EU)
Originally Posted by Aximous View Post
I have problem setting up a dogtag for buffs, my plan was to make a tag that would display a dot for a buff that I either don't have or I have but it's duration is less than 20minutes.
I got this so far it works good when I'm missing the buff but not if the duration is less than 20 minutes:

Any ideas what could be the problem?
Look like the checks for the MotW are combined by AND. So this would display the Dot, when you have "Mark of the Wild" AND "Gift of the wild", which is not possible. Though the dot should display, when the buffs are under 20 min.

Just replace the "and" with an "or" and you should be fine
 
User is offline.
Reply With Quote
Old 10/06/08, 8:23 AM   #393 (permalink)
Von Kaiser
 
Tauren Shaman
 
Neptulon (EU)
They are connected by and because it checks that I don't have any of the buffs, the '~' = 'not'
 
User is offline.
Reply With Quote
Old 10/06/08, 8:33 AM   #394 (permalink)
Glass Joe
 
Troll Rogue
 
Gilneas (EU)
My bad - then I see no reason why this should not work. I will test it, when I have a computer with wow running
 
User is offline.
Reply With Quote
Old 10/06/08, 12:13 PM   #395 (permalink)
Chronic Apopheniac
 
Adoriele's Avatar
 
Night Elf Druid
 
Eldre'Thalas
Originally Posted by Aximous View Post
I have problem setting up a dogtag for buffs, my plan was to make a tag that would display a dot for a buff that I either don't have or I have but it's duration is less than 20minutes.
I got this so far it works good when I'm missing the buff but not if the duration is less than 20 minutes:
(if (~HasAura("Mark of the Wild") and ~HasAura("Gift of the Wild")) or AuraDuration("Mark of the Wild") < 1200 or AuraDuration("Gift of the Wild") < 1200 then
    ".":Color("ff00ce")
end)
Any ideas what could be the problem?
Hmm. It's possible that this isn't the issue, but you might want to look at it. You've got it checking the duration of two mutually-exclusive buffs. The problem is that when you check the duration of a buff you don't have, it returns 'nil'. Comparing 'nil' to a number, i.e. nil<1200, is an illegal statement in Lua. It's likely that it's short-circuiting the logic checks the way the Java does (only proceeds until it knows the answer, then ignores the rest), so when you have no Mark/Gift, it never checks the durations (~false AND ~false evaluates as true, which is enough to know that any ORs are all true, so it just returns), and never runs into the problem. However, if you have either buff, it has to check both durations, and one of those checks will be an illegal statement. Try this:

(if (~HasAura("Mark of the Wild") and ~HasAura("Gift of the Wild")) or (Has Aura("Mark of the Wild") and AuraDuration("Mark of the Wild") < 1200) or (HasAura("Gift of the Wild") and AuraDuration("Gift of the Wild") < 1200) then
    ".":Color("ff00ce")
end)
The added checks make sure that you're only checking the duration of a buff you have.
 
User is offline.
Reply With Quote
Old 10/06/08, 2:21 PM   #396 (permalink)
Von Kaiser
 
Tauren Shaman
 
Neptulon (EU)
I noticed something very interesting. The tag auraduration isn't giving back anything for mark of the wild:

It gives back the duration of water shield perfectly but doesn't do anything with motw.
 
User is offline.
Reply With Quote
Old 10/08/08, 11:26 PM   #397 (permalink)
Glass Joe
 
Draenei Shaman
 
Greymane
Is there a way to show what "Lucky Charm" (Raid icon, whatever you want to call it) a person is targeting in a raid?
The more I keep thinking, the more I think this should be able to do, I'm just having a little trouble. I would think theres something in [casttarget(unit="Raid1+1x")] (where 1+1x would somehow give me the next raid member, I know it is not the right syntax, but I don't know the right syntax) so that i could show what each raid member is targeting and then trying to get the raid target icon from that. Am I just making things up or would this actually be possible?

Last edited by Nabor : 10/08/08 at 11:31 PM. Reason: Spelling and clarity
 
User is offline.
Reply With Quote
Old 10/11/08, 11:16 AM   #398 (permalink)
Glass Joe
 
Gnome Mage
 
Zirkel des Cenarius (EU)
Hi there.
Is there a way to customize the "Outline"-color?
I've tried
Red Outline "."
Outline:Red ".":Red
Nothing worked.

I'm trying this to make bigger dots by using ' o ' with Outline, where the outline and the text should have the same colour.

Scaling the text itself would be possible to achive bigger dots, but in this very case, the text either reads a dot or a number, depending on a condition.

thanks in advance

Zyr

p.s.: sorry for my bad english