 |
06/27/08, 7:47 AM
|
#326 (permalink)
|
|
Glass Joe
Human Priest
Twilight's Hammer (EU)
|
buff filtering
I'm putting together a set of DogTags for my PitBull frame. Since I'm a healer it's imperative that I remove any unnecessary visual items from my screen. I've been with searching this thread for several weeks now and got some pretty neat tips. The basic idea was to make a buff filter system that allows conscious players to class independently (so it's not for healers only) check the most common group buffs and resistance auras (top priority in my opinion). So here is the buff concept I have put together for my PitBull frames:
1. If there is a ... - mage in the group/raid a blue "Int" text appears as long as the party/raid member lacks either Arcane Intellect or Arcane Brilliance. This should filter non-mana users (yeah, ferals too)
- priest in the group/raid a white "F" text appears as long as the party/raid member lacks either Power Word: Fortitude or Prayer of Fortitude.
- druid in the group/raid a purple "MW" text appears as long as the party/raid member lacks either Mark of the Wild or Gift of the Wild.
2. If your character is a ... - hunter, a green "Asp" text appears as long as you are not buffed with any aspect.
- mage a lightblue "Armor" text appears as long as you lack an armor buff (Molten, Frost, Mage, Ice [for the children])
- shaman, a lightblue "ES" text appears as long as you are not buffed with any elemental shield.
- priest a yellow "IF" appears as long as you lack Inner Fire.
3. If a party/raid member is buffed with ... - Amplify Magic, a lightblue "Amp" text appears (I haven't includedDampen Magic, because it seems to be viable only soloing, although I'm up for a debate about it)
- either Shadow Protection or Prayer of Shadow Protection, a purple "Sh" text appears.
- Shadow Resistance Aura, a purple "A" text appears.
- Fire Resistance Aura, a red "A" text appears.
- Frost Resistance Aura, a white "A" text appears.
- Fire Resistance Totem, a red "T" text appears.
- Frost Resistance Totem, a white "T" text appears.
- Nature Resistance Totem, a green "T" text appears.
- Aspect of the Wild, a green "A" text appears.
- Aspect of the Pack, a white "Pack" text appears.
- Crusader Aura, a yellow "Cru" text appears.
- Heroism, a red "H" text appears.
- Thorns, a brown "Th" text appears (this concerns mostly tanks with aggro problems, or AoE mages).
- Prayer of Mending, a yellow "+" text appears (this will help a group [no, not just the priest] utilize the effect of this truly gorgeous ability) [sidenote: this function may be bugged by the fact that PoM actually has got charges, that ougth to be tested (I know it's a problem with ag_UnitFrames)]
- Fear Ward, a purple "FW" text appears.
- Soulstone, an outlined purple "." text appears (I'd stick this line, next to the name text).
Now since I don't know much about DogTags, I'd like an expert's help with actually creating these tags 
I also need help with the following problem. Talented buffs. For example: Divine Spirit, Omen of Clarity. Can the talent specs be scanned so a relation (if party has priest and has talent DS, then show "DS" until buffed, similar to Arcane Intellect, you know, filtering mana users) can be created?
Thanks for the help!
|
|
|
|
|
|
06/27/08, 12:45 PM
|
#327 (permalink)
|
|
Glass Joe
|
Been working on something similar and although it is still a work in progress, I can show you my codes for the following and hope that they help you.
Originally Posted by limesz
2. If your character is a ... - hunter, a green "Asp" text appears as long as you are not buffed with any aspect.
- mage a lightblue "Armor" text appears as long as you lack an armor buff (Molten, Frost, Mage, Ice [for the children])
- shaman, a lightblue "ES" text appears as long as you are not buffed with any elemental shield.
- priest a yellow "IF" appears as long as you lack Inner Fire.
|
I don't have a hunter or priest but I do have a mage and shaman and this is what I have for my player frame:
[Outline][(if (Class = "Mage") then
(if HasAura("Molten Armor") then
"Interface\Icons\Ability_Mage_MoltenArmor":Icon
elseif HasAura("Ice Armor") then
"Interface\Icons\Spell_Frost_FrostArmor02":Icon
elseif HasAura("Mage Armor") then
"Interface\Icons\Spell_MageArmor":Icon
else
"ARMOR ":Red
end)
end) (if (Class = "Shaman") then
(if HasAura("Water Shield") then
"Interface\Icons\Ability_Shaman_WaterShield":Icon NumAura("Water Shield"):Hide(3):Yellow
elseif HasAura("Earth Shield") then
"Interface\Icons\Spell_Nature_SkinofEarth":Icon NumAura("Earth Shield"):Hide(6):Yellow
elseif HasAura("Lightning Shield") then
"Interface\Icons\Spell_Nature_LightningShield":Icon NumAura("Lightning Shield"):Hide(3):Yellow
else "SHIELD ":Red
end)
end)]
Basically it shows in big red letters either "ARMOR" or "SHIELD" if my character is missing one of those buffs. Otherwise it will show the buff icon of the appropriate armor/shield and the number of charges left if not at max charges.
|
|
|
|
|
|
06/28/08, 2:04 AM
|
#328 (permalink)
|
|
Glass Joe
|
This is probably the largest DogTag posted in this thread. I wanted to replace a mod called ControlFreak because it's an eyesore in my rather uniform UI (love the mod and Tekkub, tho!). I started with the DogTag located in the first page of this thread, so, credit to whoever wrote that since I didn't take note of who it was, but honestly, it's a whole new thing now.
Let me explain what I was going for before I post it. I wanted something first, with all the features of the Control Freak frame. And then I wanted to add a new functionality and clean up others. The new function is that my DogTag will not only tell you if the target (of the DogTag not of your character -- I recommend throwing this in a Focus Frame) is damaged, but it'll tell you if it's DoT'd! Before with ControlFreak, I used DaHud to make a buff panel for my focus and set the maximum to 5. Then, if I saw a few debuffs in the frame I'd assume it's dotted up (sometimes I recognize the icons, too, I guess). But now, I don't have to do that.
Anyway, here's the DogTag:

[(if (MinRange >=30) and ((CreatureType = "Beast") or (CreatureType = "Humanoid") or (CreatureType = "Critter")) and CanAttack and IsEnemy then
"*"
end)
(if HasAura("Polymorph") and (AuraDuration("Polymorph") <= 5) and IsEnemy then
("Resheep NOW! " ((AuraDuration("Polymorph"):VeryShort) "s"):Paren):Yellow
end)
(if HasAura("Polymorph") and (AuraDuration("Polymorph") > 5) and (AuraDuration("Polymorph") <= 10) and IsEnemy then
("Breaking Soon! " ((AuraDuration("Polymorph"):VeryShort) "s"):Paren):Cyan
end)
(if HasAura("Polymorph") and (AuraDuration("Polymorph") > 10) and ~Dead and IsEnemy then
("Sheep Safe " ((AuraDuration("Polymorph"):VeryShort) "s"):Paren):Green
end)
(if HasAura("Polymorph") and ~Boolean(AuraDuration("Polymorph")) and ~Dead and IsEnemy then
"Sheeped":Yellow
end)
(if ((CreatureType = "Beast") or (CreatureType = "Humanoid") or (CreatureType = "Critter")) and CanAttack and IsEnemy and ~HasAura("Polymorph") and InCombat(unit="player") and ~Dead and (HasAura("Serpent Sting") or HasAura("Fireball") or HasAura("Pyroblast") or HasAura("Ignite") or HasAura("Moonfire") or HasAura("Insect Swarm") or HasAura("Rip") or HasAura("Rake") or HasAura("Lacerate") or HasAura("Seal of Vengeance") or HasAura("Shadow Word: Pain") or HasAura("Vampiric Touch") or HasAura("Devouring Plague") or HasAura("Starshards") or HasAura("Deadly Poison") or HasAura("Garrote") or HasAura("Rupture") or HasAura("Flame Shock") or HasAura("Rend") or HasAura("Deep Wound") or HasAura("Immolate") or HasAura("Corruption") or HasAura("Curse of Agony") or HasAura("Curse of Doom") or HasAura("Siphon Life") or HasAura("Seed of Corruption") or HasAura("Unstable Affliction")) then
"DOT'd!":Red elseif ((CreatureType = "Beast") or (CreatureType = "Humanoid") or (CreatureType = "Critter")) and CanAttack IsEnemy and ~HasAura("Polymorph") and InCombat(unit="player") and ~Dead and IsMaxHP then
"Broken!":Red elseif ((CreatureType = "Beast") or (CreatureType = "Humanoid") or (CreatureType = "Critter")) and CanAttack IsEnemy and ~HasAura("Polymorph") and InCombat(unit="player") and ~Dead and ~IsMaxHP then
"Damaged!":Red
end)
(if ((CreatureType = "Beast") or (CreatureType = "Humanoid") or (CreatureType = "Critter")) and CanAttack and ~IsUnit("player") and ~HasAura("Polymorph") and ~InCombat(unit="player") and IsEnemy and ~Dead then
"Ready":Green
end)
(if ~Dead and (~((CreatureType = "Beast") or (CreatureType = "Humanoid") or (CreatureType = "Critter")) or ~CanAttack or ~IsEnemy) then
"Invalid":Gray
end)
(if Dead and IsEnemy then
"Dead":Gray
end)
(if (MinRange >=30) and ((CreatureType = "Beast") or (CreatureType = "Humanoid") or (CreatureType = "Critter")) and CanAttack and IsEnemy then
"*"
end)]
I need someone to look this over and help test it out, though. I've tested everything but having another mage sheep my focus (in such a case it's supposed to display "Sheeped" in yellow) and all those DOTs. I've tested atleast Fireball and Ignite. Someone has to help me to see that I didn't forget any damage over time debuffs and that I didn't misspell any of them or add some that don't work for some reason or another.
I've tested this baby in DaHud but I assume it'd work in Pitbull and some other addons that use the lib. Most likely not all since I was surprised that even DaHud accepted such a long DogTag...
By the way, this took a few hours and alot of trial and error. I'm not a programmer and this is my first DogTag. If there are things that should be changed for this reason or that, let me know.
Future PvP tweaked version will check for Ice Block, Divine Shield, Cyclone and the various druid forms that are immune to sheep, mounted on a flying mount or anything else that I can thing of that'd make someone Immune to Polymorph. I might also either make alternate versions for other CCs or make the DogTag universal. If anyone else wants to do any of that, feel free! Less work for me.
EDIT: I recommend using this DogTag in a text field for your focus with this macro:
/cast [target=focus,exists,nodead,harm] Polymorph
/stopmacro [target=focus,exists,nodead,harm]
/cast [combat,harm,exists,nodead] Polymorph
/focus [exists,harm,nodead] target
/clearfocus [target=focus, dead]
Last edited by livefastdiarrhea : 06/28/08 at 2:20 AM.
|
|
|
|
|
|
06/28/08, 5:43 AM
|
#329 (permalink)
|
|
King Hippo
Tauren Druid
Twisting Nether (EU)
|
Originally Posted by bimmian
Trying to make a simple range check for my hunter. If I am in range, it shows a "+", if I am out of range, it shows a "-". So far I have this:
[if Range <= 35 then
'+'
else
'-'
end]
It is acting weird though.
From 0-8 yards it works properly, showing a +.
From 9-28 yards it shows a -.
From 29-35 it shows a +.
From 35+ it shows a -.
What is it about the 9-28 yard range would cause it to show a -?
|
I'm not sure, but I recall there not actually being a lua expression for certain ranges thus they are deduced from whether spells with those ranges can be cast or not.
The workaround was to do something like "if range > 9 yards and range < 29 yards then....."
|
|
|
|
|
|
06/28/08, 11:17 AM
|
#330 (permalink)
|
|
Glass Joe
|
Originally Posted by Daboran
I'm not sure, but I recall there not actually being a lua expression for certain ranges thus they are deduced from whether spells with those ranges can be cast or not.
The workaround was to do something like "if range > 9 yards and range < 29 yards then....."
|
I put a range check in the DogTag I just posted. I used if (MinRange >= XX)
|
|
|
|
|
|
06/28/08, 1:58 PM
|
#331 (permalink)
|
|
Von Kaiser
Fame
Night Elf Druid
No WoW Account
|
Anyone able to help me make a macro to have my PitBull Riad Frames to show a '.' if someone in my group does not have Battle Shout.
|
|
|
|
|
|
06/28/08, 5:57 PM
|
#332 (permalink)
|
|
Glass Joe
|
Originally Posted by FAME
Anyone able to help me make a macro to have my PitBull Riad Frames to show a '.' if someone in my group does not have Battle Shout.
|
[if ~HasAura("Battle Shout") and (RaidGroup = RaidGroup(unit="player")) then ".":Red] would probably do the trick.
|
|
|
|
|
|
07/03/08, 5:23 PM
|
#333 (permalink)
|
|
Von Kaiser
Tauren Shaman
Neptulon (EU)
|
I was thinking about some new features for my ui and a thing that hit my mind, is there a way to color the icons we get with dogtags if some conditions are met? For example range check with an icons which is normally colored when in a given range and colored red if outside of the given range.
|
|
|
|
|
|
07/03/08, 10:13 PM
|
#334 (permalink)
|
|
Glass Joe
|
Originally Posted by Aximous
I was thinking about some new features for my ui and a thing that hit my mind, is there a way to color the icons we get with dogtags if some conditions are met? For example range check with an icons which is normally colored when in a given range and colored red if outside of the given range.
|
No, color only works with text right now, but what you could do is change the alpha... Here's an example of a tag I threw together and tested:
[if (MaxRange < 30) then Icon("Interface\Icons\Spell_Holy_BlessedRecovery", size=40) Alpha(1) else (Icon("Interface\Icons\Spell_Holy_BlessedRecovery", size=40) Alpha(0.5)) end]
|
|
|
|
|
|
07/04/08, 7:08 PM
|
#335 (permalink)
|
|
Piston Honda
Night Elf Rogue
Whisperwind
|
I am trying to setup a string for my target frames that tells me the level of the mob, and if the mob is an elite it puts a + next to the level, and colors the level of the mob according to if I will get experience for it.
This is what I have so far
|
|
|
|
|
|
07/04/08, 11:03 PM
|
#336 (permalink)
|
|
omg phat loots
Draenei Warrior
Earthen Ring
|
Originally Posted by Sichosis
I am trying to setup a string for my target frames that tells me the level of the mob, and if the mob is an elite it puts a + next to the level, and colors the level of the mob according to if I will get experience for it.
This is what I have so far
|
The first part is easy enough, but the second part is difficult. Because the level difference that allows for experience gains changes with level ( Experience point - WoWWiki - Your guide to the World of Warcraft for explanation) you can't just make a static number unless you are already 70. You can use the DifficultyColor modifier, but that will also color mobs which are above your level. Using that, the dogtag would look like this:
[Level(unt="target"):DifficultyColor (if (Classification(unit="target") = "Elite") then
"+"
else
nil
end)]
|
|
|
|
|
07/05/08, 11:15 AM
|
#337 (permalink)
|
|
Glass Joe
|
Originally Posted by Sovereignty
The first part is easy enough, but the second part is difficult. Because the level difference that allows for experience gains changes with level ( Experience point - WoWWiki - Your guide to the World of Warcraft for explanation) you can't just make a static number unless you are already 70. You can use the DifficultyColor modifier, but that will also color mobs which are above your level. Using that, the dogtag would look like this:
[Level(unt="target"):DifficultyColor (if (Classification(unit="target") = "Elite") then
"+"
else
nil
end)]
|
[Level:DifficultyColor ShortClassification]
|
|
|
|
|
|
07/06/08, 4:45 PM
|
#338 (permalink)
|
|
Piston Honda
Night Elf Rogue
Whisperwind
|
Originally Posted by Sovereignty
The first part is easy enough, but the second part is difficult. Because the level difference that allows for experience gains changes with level ( Experience point - WoWWiki - Your guide to the World of Warcraft for explanation) you can't just make a static number unless you are already 70. You can use the DifficultyColor modifier, but that will also color mobs which are above your level. Using that, the dogtag would look like this:
[Level(unt="target"):DifficultyColor (if (Classification(unit="target") = "Elite") then
"+"
else
nil
end)]
|
Thankyou for the help. I will try that and see how it works. I mainly want this for my other characters I am still leveling, but also for when I am on my 70's. I am still learning how to work with DogTags.
|
|
|
|
|
|
07/06/08, 7:37 PM
|
#339 (permalink)
|
|
Piston Honda
Night Elf Rogue
Whisperwind
|
I was messing around with my unit frames, and found out that my mage frames were different than the rest. When I went into the settings for my target frame and looked at the class text options this is what was there.
[(Level (if Classification then
'+'
end)):DifficultyColor] [SmartRace]
When I went to my rogue I found some disabled text in the party targets frames that were disabled.
[Classification] [Level:DifficultyColor] [(if (IsPlayer or (IsEnemy and not IsPet)) then
Class
end):ClassColor] [DruidForm:Paren] [SmartRace]
|
|
|
|
|
|
07/10/08, 8:19 PM
|
#340 (permalink)
|
|
Glass Joe
|
Looking for a DogTag that shows the name of a person that I'm holding my mouse over.
Currently I got this one:
[(if IsPlayer('mouseover') then
Name:ClassColor
else
Status
end)]
|
Problem with it is, that when I'm mouseovering any person in the raid, it shows all persons and also when I mouseover a person (that being player frame, target frame, or just hovering over an npc/player). Can anyone help me? :O
Last edited by sanny : 07/10/08 at 8:54 PM.
|
|
|
|
|
|
07/10/08, 9:25 PM
|
#341 (permalink)
|
|
Glass Joe
|
Originally Posted by sanny
Looking for a DogTag that shows the name of a person that I'm holding my mouse over.
Currently I got this one:
Problem with it is, that when I'm mouseovering any person in the raid, it shows all persons and also when I mouseover a person (that being player frame, target frame, or just hovering over an npc/player). Can anyone help me? :O
|
I don't understand what you're expecting. I also don't understand what your dogtag is producing or why it's not working correctly. Could you explain yourself a little better?
If you want it to only show when you mouseover actual players and not unit frames then I think you're SOL. UFs are graphical representations of player characters and non-player characters and can't be distinguished between the actual characters in the confines of LibDogTag-3.0. Sorry.
|
|
|
|
|
|
07/10/08, 10:32 PM
|
#342 (permalink)
|
|
Glass Joe
|
Perhaps I was a little unclear, I'm remaking my raid frames, and I want the names to be hidden, unless hovering my mouse over a character frame, but I guess the last part of your post explained it. :-(
|
|
|
|
|
|
07/10/08, 10:36 PM
|
#343 (permalink)
|
|
Chronic Apopheniac
Night Elf Druid
Eldre'Thalas
|
Originally Posted by sanny
Perhaps I was a little unclear, I'm remaking my raid frames, and I want the names to be hidden, unless hovering my mouse over a character frame, but I guess the last part of your post explained it. :-(
|
Um, so you want the name to only show up when you're mousing over the frame?
if isMouseOver then Name end
|
|
|
|
|
|
07/16/08, 6:39 AM
|
#344 (permalink)
|
|
Glass Joe
Blood Elf Priest
Doomhammer
|
I was wondering if any of you amazing coders on this forum could give me a hand on a dogtag code issue that's been hurting my head for the last few hours.
I'm attempting to make a Dogtag that will show the percent of health a target has assuming it's not at full health or dead. Currently I'm using a Dogtag I got from Caith's Pitbull Frames
[Outline][(~IsMaxHP & ~Dead ? PercentHP:Hide(0):Percent:HPColor)
Which is just what I'm looking for except for two things, firstly I only want to show the first two numbers of the percent and nothing after the decimal (would that be the veryshort code?) and secondly I want to be able to customise the HPColors.
The closest code I could find to do that on these forums was
[((HP < PercentHP * 0.99) >= PercentHP * 0.70):Color("8ACB6E") ((PercentHP < PercentHP * 0.70) >= PercentHP * 0.35):Color("D9D170") (HP < PercentHP * 0.35):Color("D97C72")]
In which I could substitute the classic coloring for coloring of my choice, however I've had a lot of trouble modiflying it into a code that shows percents rather than just HP. When I replace the HP tag with PercentHP it doesn't work :x
Anyhelp oh wise and powerful Dogtag 3.0 masters?
|
|
|
|
|
|
07/16/08, 9:00 AM
|
#345 (permalink)
|
|
Von Kaiser
Night Elf Druid
Moonglade (EU)
|
I'm not at home, so I can't check, but something like this would be where I'd start from.
[Outline] [if ~IsMaxHP then [if PercentHP >0.7 then PercentHP:VeryShort:Percent:Color(""8ACB6E"") end]
[if PercentHP <= 0.7 and if Percent HP > 0.35 then PercentHP:VeryShort:Percent:Color("D9D170") end]
if PercentHP <=0.35 then PercentHP:Hide(0):VeryShort:Percent:Color("D97C72") end]
|
|
|
|
|
|
07/16/08, 4:20 PM
|
#346 (permalink)
|
|
Glass Joe
Blood Elf Priest
Doomhammer
|
Originally Posted by Eucharion
I'm not at home, so I can't check, but something like this would be where I'd start from.
[Outline] [if ~IsMaxHP then [if PercentHP >0.7 then PercentHP:VeryShort:Percent:Color(""8ACB6E"") end]
[if PercentHP <= 0.7 and if Percent HP > 0.35 then PercentHP:VeryShort:Percent:Color("D9D170") end]
if PercentHP <=0.35 then PercentHP:Hide(0):VeryShort:Percent:Color("D97C72") end]
|
didn't work, just got a syntax error but it looks closer to the right direction then where I was going before. The new code I'm working on is
[Outline] [(if IsMaxHP then nil else if HP > MaxHP * 0.7 then PercentHP:VeryShort:Percent:Color(""8ACB6E"") else if HP <= MaxHP * 0.7 and if HP > MaxHP * 0.35 then PercentHP:VeryShort:Percent:Color("D9D170") else
if HP <= MaxHP * 0.35 then PercentHP:Hide(0):VeryShort:Percent:Color("D97C72") end)]
Still gives me a syntax error though :x
what's wrong?
|
|
|
|
|
|
07/17/08, 6:25 AM
|
# | |