
haha, thats sounds like me, nice additionwas updating wizard and testing with magician
downshit0=/if (!${Me.Buff[Steadfast Stance Rk. II].ID} && !${Me.CombatState.Equal[COMBAT]} && ${Me.PctMana}>80 && ${Cast.Ready[Steadfast Stance Rk. II]} && ${Spell[Steadfast Stance Rk. II].Stacks} && !${Me.Moving}) /casting "Steadfast Stance Rk. II" gem11 -invis
downshit1=/if (!${Me.Buff[Grelleth's Skin Rk. II].ID} && !${Me.CombatState.Equal[COMBAT]} && ${Me.PctMana}>80 && ${Cast.Ready[Grelleth's Skin Rk. II]} && ${Spell[Grelleth's Skin Rk. II].Stacks} && !${Me.Moving}) /casting "Grelleth's Skin Rk. II" gem10 -invis
holyshit0=/if (${Target.Named} && ${Me.AltAbilityReady[Fundament: Third Spire of the Reavers]}) /alt act 1452
holyshit1=/if (${Me.CombatAbilityReady[Grelleth's Carapace Rk. II]} && ${Target.Named} && ${Me.CurrentEndurance}>8000 && ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]}) /disc Grelleth's Carapace Rk. II
holyshit2=/if (${Me.CombatAbilityReady[Bonebrood Mantle]} && ${Target.Named} && !${Me.CombatAbilityReady[Grelleth's Carapace Rk. II]} && ${Me.CurrentEndurance}>8000 && ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]}) /disc Bonebrood Mantle
holyshit3=/if (${Me.CombatAbilityReady[Unholy Guardian Discipline Rk. II]} && !${Me.CombatAbilityReady[Bonebrood Mantle]} && ${Target.Named} && !${Me.CombatAbilityReady[Grelleth's Carapace Rk. II]} && ${Me.CurrentEndurance}>8000 && ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[No Effect]}) /disc unholy Guardian Discipline Rk. II
holyshit4=/if (${Target.Named} && !${Me.Song[Lich Sting Recourse].ID}) /casting "Innoruuk's Dark Blessing"|Item
holyshit5=/if (${Target.Named} && ${Me.AltAbilityReady[Visage of Death]}) /alt act 9403
holyshit6=/if (${Target.Named} && ${Me.AltAbilityReady[Harm Touch]}) /multiline ; /alt act 6000 ; /alt act 1277 ; /alt act 651 ; /alt act 3822
holyshit7=/if (${Target.Named} && ${Me.AltAbilityReady[Leech Touch]}) /alt act 87
holyshit8=/if (${Target.Named} && ${Me.AltAbilityReady[Gift of the Quick Spear]}) /multiline ; /alt act 2034 ; /alt act 1278
holyshit9=/if (${Me.CombatAbilityReady[Scarlet Blade]} && ${Me.Buff[Visage of Death].ID}) /disc "Scarlet Blade Rk. II"
holyshit10=/if (${Target.Named} && ${Me.AltAbilityReady[Glyph of the Cataclysm]}) /alt act 7019
holyshit11=/if (${Target.Named} && !${Me.AltAbilityReady[Glyph of the Cataclysm]} && ${Me.AltAbilityReady[Glyph of Destruction]}) /alt act 589
holyshit12=/if (${Target.Named} && !${Me.AltAbilityReady[Glyph of the Cataclysm]} && !${Me.AltAbilityReady[Glyph of Destruction]} && ${Me.AltAbilityReady[Glyph of Courage]}) /alt act 5000
holyshit13=/if (!${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Balanced]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance balanced
holyshit14=/if (${Target.Named} && ${Mercenary.State.Equal[ACTIVE]} && ${Mercenary.Stance.NotEqual[Reactive]} && ${Mercenary.Class.Name.Equal[Cleric]}) /stance reactive
Two questions. First, which is correct as I have seen both:
${Me.CombatState.Equal[COMBAT]} or ${Me.Combat}
Second, I would like to make a downshit for my enchanter to cast the spell "Shadowed Rune" if a named mob appears in the xtarget window. Can anyone help me out with this?
- - - Updated - - -
Is there a place I can find all the syntax for the various things you can include in mq2melee like Me.CombatAbilityReady, Me.Endurance, Target.Distance, etc? I'd like to learn more.
Also I have seen both:
Rich (BB code):(${Target.Type.Equal[NPC]} && ${Target.Named} ...
and simply:
Rich (BB code):${Target.Named}
included in these codes. Do you need to have both or would ${Target.Named} suffice to trigger a holy on a named mob only? Thanks.
Named : BoolType Enhanced Target.Named that is much more accurate in post PoP era content.
QuestMob : BoolType Is target a quest giver/vendor/etc?
Slowed : TickType Is target slowed?
Rooted : TickType Is target rooted?
Mezzed : TickType Is target mezzed?
Crippled : TickType Is target crippled?
Malod : TickType Is target malod?
Tashed : TickType Is target tashed?
Snared : TickType Is target snared?
Hasted : TickType Is target hasted?
Freeze : TickType Does target have mindfreeze effect line on it?
DeepSleep : TickType Does target have Deep Sleep debuff on?
SpellGem : IntType Current casting SpellGem (1-12). Returns 13 if item is casting.
SpellETA : IntType Current time in tenths of a second until current cast is complete.
CastReady : BoolType Are you ready to cast a spell? Returns FALSE if in global cooldown.
Facing : SpawnType Am I facing mob within 5 degrees? Bot.Facing[#] will change 5 to whatever you put there.
FacingMe : SpawnType Is mob facing within 5 degrees of me? Bot.FacingMe[#] will change 5 to whatever you put there.
[MQ2Melee]
begging=1
enrage=1
facing=1
downflag0=1
downflag1=1
downflag2=1
downflag3=1
downflag4=1
infuriate=1
plugin=1
pothealfast=0
pothealover=0
resume=20
standup=1
stickrange=75
downshit0=/if (${Me.CombatState.Equal[Combat]} && ${Target.Type.Equal[NPC]} && !${Me.Moving} && ${Me.PctMana}>=1 && ${Target.PctHPs}<97 && ${Me.AltAbilityReady[Force of Will]}) /casting "Force of Will"
downshit1=/if (${Me.CombatState.Equal[Combat]} && ${Target.Type.Equal[NPC]} && !${Me.Moving} && ${Me.PctMana}>=1 && ${Target.PctHPs}<97 && ${Me.AltAbilityReady[Banestrike]}) /casting "Banestrike"
downshit2=/if (${Me.CombatState.Equal[Combat]} && ${Target.Type.Equal[NPC]} && !${Me.Moving} && ${Me.PctMana}>=1 && ${Target.PctHPs}<97 && ${Me.AltAbilityReady[Force of Ice]}) /casting "Force of Ice"
downshit3=/if (${Me.CombatState.Equal[Combat]} && ${Target.Type.Equal[NPC]} && !${Me.Moving} && ${Me.PctMana}>=1 && ${Target.PctHPs}<97 && ${Me.AltAbilityReady[Force of Flame]}) /casting "Force of Flame"
downshit4=/if (${Me.CombatState.Equal[Combat]} && ${Target.Type.Equal[NPC]} && !${Me.Moving} && ${Target.PctHPs}<97 && ${Cast.Ready[Chain of the Kindred Scale]}) /casting "Chain of the Kindred Scale"|item
version=6.060
This is the code I've been using for my Wiz for the last couple of years. From time to time it stops working (right after a patch) but I've always been able to get it working again, thanks in part to the help I get here. However, after this last patch, it just doesn't want to work. The spells wont fire. I tried turning them into Holyshits, with attack on and still nothing. Any ideas?
downshit0=/if (${FindItemCount[=Summoned:Shuriken of Quellious ]}<6 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat}) /multiline ; /casting "Silver Moon Wrist Wraps" item ; /timed 15 /autoinventory
Rich (BB code):downshit0=/if (${FindItemCount[=Summoned:Shuriken of Quellious ]}<6 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat}) /multiline ; /casting "Silver Moon Wrist Wraps" item ; /timed 15 /autoinventory
I'm really trying to learn how to do these so I don't have to bother folks, hehe.
downshit0=/if (${FindItemCount[=Shuriken of Quellious]}<1 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat}) /useitem "Silver Moon Wrist Wraps"
downshit0=/if (${FindItemCount[=Shuriken of Quellious]}<1 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat}) /casting "Silver Moon Wrist Wraps"
I'm trying to make a downshit to summon shurikens on my monk. I made this downshit as my first attempt, I've never tried to make them before. It chain casts on the bracer until I stop it. If someone could tell me what is wrong, that would be great.
Rich (BB code):downshit0=/if (${FindItemCount[=Summoned:Shuriken of Quellious ]}<6 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat}) /multiline ; /casting "Silver Moon Wrist Wraps" item ; /timed 15 /autoinventory
I'm really trying to learn how to do these so I don't have to bother folks, hehe.
downshit0=/if (${FindItemCount[Summoned:Shuriken of Quellious]}<6 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat}) /multiline ; /casting "Silver Moon Wrist Wraps" item ; /timed 15 /autoinventory
downshit0=/if (${FindItemCount[Summoned:Shuriken of Quellious]}<6 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat} && !${Cursor.ID}) /casting "Silver Moon Wrist Wraps" item
downshit1=/if (${Cursor.ID}==${FindItem[Summoned:Shuriken of Quellious].ID}) /autoinventory
downflag0=1
downshit0=/if (${FindItemCount[Summoned: Shuriken of Quellious]}<6 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat} && !${Cursor.ID}) /casting "Silver Moon Wrist Wraps" item
downflag1=1
downshit1=/if (${Cursor.ID}==${FindItem[Pouch of Quellious].ID}) /autoinventory
downflag2=1
downshit2=/if (${Cursor.ID}==${FindItem[Summoned: Shuriken of Quellious].ID}) /autoinventory
Sub Main
/target ${Me}
/delay 10
/echo Combatstate ${Me.CombatState.Equal[Combat]}
/echo TargetType ${Target.Type.Equal[NPC]}
/echo Moveingstate ${Me.Moving}
/echo TargetPctHPs ${Target.PctHPs}<97
/echo Item ready? ${Cast.Ready[Chain of the Kindred Scale]}
/echo Testing if /casting works
/casting "Chain of the Kindred Scale"|item
/delay 30
/echo Has an item been cast?
/end
To Parkview,
most things breaking is from changes in TLO or broken TLO's. Meaning some conditional checks done by /if are not getting back the correct values as designed before a patch.
To troubleshoot such things I make little macros where I test code. My best advice is, you do the same.
Simple make a test.mac
Rich (BB code):Sub Main /target ${Me} /delay 10 /echo Combatstate ${Me.CombatState.Equal[Combat]} /echo TargetType ${Target.Type.Equal[NPC]} /echo Moveingstate ${Me.Moving} /echo TargetPctHPs ${Target.PctHPs}<97 /echo Item ready? ${Cast.Ready[Chain of the Kindred Scale]} /echo Testing if /casting works /casting "Chain of the Kindred Scale"|item /delay 30 /echo Has an item been cast? /end
In game simple use /mac test and look what results you get for the conditions and compare if the results MQ2 gets are correct.
e.g. this test mac will target yourself, so the check ${Target.PctHPs} should give you a value in return. If it returns NULL this TLO is broken
Each single condition can break the whole downshit.
Note this applies for plugins as well, just you cant check them as easy as you can for macrocode.
Crystane.
holyshit0=/if (!${TankName.Buff[Horrifying Visage].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Horrifying Visage]} && ${Spell[Horrifying Visage].Stacks}) /multiline ; /target ${TankName.CleanName} ; /casting "Horrifying Visage" gem4
You can also do this in game by just typing the code in for instance : /echo ${Me.PctHPs} will display in your MQ2 window the result. I do that often when troubleshooting, just /echo or /g and see what it returns. Helps tremendously in debugging code.
I'm trying to set up a holyshit on my chanter to keep Horrifying Visage on my groups main tank when in combat. It is a short (1 minute agro multiplier) Would something like this work?
Rich (BB code):holyshit0=/if (!${TankName.Buff[Horrifying Visage].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Horrifying Visage]} && ${Spell[Horrifying Visage].Stacks}) /multiline ; /target ${TankName.CleanName} ; /casting "Horrifying Visage" gem4
The tank is in group and running netbots plugin.

I just tried to check this and got some errors.
I did /echo (${Group.Maintank.Name.Equal[${Target.CleanName}]} && !${Target.Buff[Horrifying Visage].ID} && ${Me.PctMana}>30 && ${Cast.Ready[Horrifying Visage]} && ${Spell[Horrifying Visage].Stacks})
Got No such 'group' member 'MainTank'
(NULL && !NULL && 100>30 && FALSE && TRUE)
Do you know how I would need to operate these? Do I need to be running Kissassist, or just have the mq2melee loaded, and.. if I make changes, do I need to /plugin mq2melee ??
- - - Updated - - -
Actually the syntax that I have works, the sytax you suggested gives me error messages. Just can't get it to work in EQ..
downshit0=/if (${FindItemCount[Summoned: Shuriken of Quellious]}<6 && !${Me.Invis} && !${Me.Sitting} && !${Me.Moving} && !${Me.Combat} && !${Cursor.ID}) /casting "Silver Moon Wrist Wraps" item
downshit1=/if (${Cursor.ID}==${FindItem[Pouch of Quellious].ID}) /destroy
downshit2=/if (${Cursor.ID}==${FindItem[Summoned: Shuriken of Quellious].ID}) /autoinventory