• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Change the look. To dismiss this notice, click the X --->
MQ2Melee

Plugin - MQ2Melee (1 Viewer)

as I understand it with truebox you wont have scripting/macro capability, so the stuff needed to write the holyshots/downshits wont be working.

Best bet is to.... play on a non true-box server to begin with =)
 
so conditions in holyshits and downshits do not work in very vanilla MQ2? Kinda defeats the purpose of mq2melee of making meaningful use of menial abilities..... Are we sure? Though this would explain why my snareif is not working....
 
Wrapped all the previous info of this post in a quote as I don't see a Strike-through option.

Since I wrote this post, I have learned I Don't need to depend on a Holy or Down for checking if I'm feigning to get me to stand back up.

Basic MQ2Melee functionality has:
Rich (BB code):
[MQ2Melee]
standup=1
aggro=1
taunt=1
(Example above is a seriously cut down version of what all is possible. Ref. The Mothership).

Plus a lot of aggro options with other basic Aggro switches including using Disc/AA/Item Spell ID#'s for Stun & Provoke. With all this you can easily have MQ2Melee stand you up acquire a valid target and Re-aggro until you get Aggro back.

Stun & Provoke Examples (War 105):
Rich (BB code):
|--=Stun=--|
stunning=98
stun0=10969
stun1=34062

|--=Provoke=--|
provokeend=15
provokemax=11
provokeonce=0
provoke0=43023
provoke1=43035
provoke2=40014
provoke3=2002
provoke4=3646
provoke5=28035
provoke6=688
provoke7=43041
provoke8=3213
provoke9=43026

I've been working on gathering a ton of info burning the midnight oil here.

War - Main Tank - Mob just cast Feign Death on me!
In theory, would this Holyshit work as written?
Rich (BB code):
Holyshit11=/if (${Me.Feigning} && ${Me.MainTank} && ${Me.XTarget}>=1 && ${Target.Type.Equal[NPC]} && ${Target.CurrentHPs}<99) /multiline ; /stand ; /doability "Unflinching Attention Rk. III" ; /alt act 10367 ; /doability "Cyclone Roar Rk. III" ; /doability "Insult Rk. III"

If I'm FD, I'm the MT, I have at least 1 mob on Extended Target, I have a targeted NPC, & that target's health is below 99%. Then Stand, Get My Aggro Back NOW discs & AAs.

Any feedback on this would be greatly appreciated. Not very often do we encounter a FD mob outside of Raiding, but this is something I thought of while reading through this thread and came across a post using the !${Me.Feigning} snippet.

Thank you,
~TheFiddler~

- - - Updated - - -

Well just turning Atk on a dummy in GH resulted in MQ window spamming, "No such 'character' member 'MainTank'"
Per PeteS's TLO builder and MQ2 Wiki, this is true as it does not exist. I just don't know yet how to word that part (tho I have looked).

Snippet that MQ2Melee has an issue with:
Rich (BB code):
${Me.MainTank}
I need something to verify that I'm the main tank was the idea. How would I do that?

Thank you,
~TheFiddler~
 
Last edited:
holyshit7=/if (${Me.Inventory[mainhand].ID}==5776 && (!${Me.Buff[Avatar].ID} || ${Me.Buff[Avatar].Duration}<20) && ${Spell[Avatar].Stacks}) /exchange 27320 mainhand

Wanted to get this to exchange mainhand if avatar is under 2 minutes, but hasn't been working, only once avatar expires it will swap.
 
holyshit7=/if (${Me.Inventory[mainhand].ID}==5776 && (!${Me.Buff[Avatar].ID} || ${Me.Buff[Avatar].Duration}<20) && ${Spell[Avatar].Stacks}) /exchange 27320 mainhand

Wanted to get this to exchange mainhand if avatar is under 2 minutes, but hasn't been working, only once avatar expires it will swap.

Try this From the Mothership:
Rich (BB code):
; Swapping an Avatar-proccing weapon when needed.
; - The first line swaps your Ancient Prismatic Spear [id=29435] into your offhand if you don't already have it equipped and you don't have the Avatar buff
; - The second line swaps your Orcish Bone Axe [id=82634] back into your offhand if it's not equipped and you have the Avatar buff already
holyshit0=/if (${Me.Inventory[offhand].ID}==82634 &&!${Me.Buff[avatar].ID} && ${Spell[avatar].Stacks} && (${Melee.AggroMode} && ${Melee.GotAggro})) /exchange 29435 offhand
holyshit1=/if (${Me.Inventory[offhand].ID}==29435 && (${Me.Buff[avatar].ID} ||!${Spell[avatar].Stacks} || (${Melee.AggroMode} &&!${Melee.GotAggro}))) /exchange 82634 offhand

MQ2Melee

~TheFiddler~
 
yes sir thats where I got it, but I want it to refresh avatar when the buff is under 2 minutes so it doesnt fall off. I think I figured it out.
 
Please post what you have with your changes if you get it working. I'm interested for using with other things as well.

Thanks
~TheFiddler~
 
Last edited:
Doesnt work still, hmmph.

holyshit7=/if (${Me.Inventory[mainhand].ID}==5776 && (!${Me.Buff[Avatar].ID} || ${Me.Buff[Avatar].Duration.TotalSeconds}<60) && ${Spell[Avatar].Stacks}) /exchange 27320 mainhand
holyshit8=/if (${Me.Inventory[mainhand].ID}==27320 && ${Me.Buff[Avatar].Duration.TotalSeconds}>=60 && (${Me.Buff[avatar].ID} || !${Spell[avatar].Stacks})) /exchange 5776 mainhand
 
Question: Per the Mothership, it looks like we can now use 20 Downs and Holys each.
downflag0-19=[on|off]
downflag0=[on|off]
Whether or not to use defined DownShit0 from ini. After enabling this option, you must edit the INI file with your relevant DownShit command and then issue /melee load to enable it.

holyflag0-19=[on|off]
holyflag0=[on|off]
Whether or not to use defined HolyShit0 from ini. After enabling this option, you must edit the INI file with your relevant HolyShit command and then issue /melee load to enable it.

On our boards I was able to find we are not to exceed 15 each:
Maskoi Post 2 of this Thread said:
Q. How many downshits/holyshits does MQ2Melee support?
A. MQ2Melee currently supports up to 15 of each downshits/holyshits.

Is it allowed with our compile of MQ2 here at RG to use 20 as the MQ2 Wiki says?

TIA,
~TheFiddler~


FYI - The following I have had working for the last year. I honestly don't remember but I believe Down2 I simply copied/pasted from these boards somewhere and the others I created based on my personal need.
Rich (BB code):
Downshit0=/if (${Cast.Ready[Lucky Mitosing Coin]} && !${Me.Moving} && !${Me.Invis}) /casting "Lucky Mitosing Coin"|Item
Downshit1=/if (${Cast.Ready[Pizmip's Prize Purveyor]} && !${Me.Moving} && !${Me.Invis}) /casting "Pizmip's Prize Purveyor"|Item
Downshit2=/if (${Spell[Champion's Aura].Stacks[1]} && !${Me.Aura[Champion's Aura].Length} && ${Me.PctEndurance}>1 && !${Me.Moving} && !${Me.Invis}) /doability "Champion's Aura"

The following 2 are new ones I have successfully working with help in the last few days:
Rich (BB code):
Downshit3=/if (${Me.CombatAbilityReady[Breather Rk. III]} && ${Window[CombatAbilityWnd].Child[CAW_CombatEffectLabel].Text.Equal[Stout Defense Rk. III]} && ${Me.PctEndurance}<20 && ${SpawnCount[npc radius 50 zradius 10]}==0) /multiline ; /stopdisc ; /doability "Breather Rk. III"
Downshit4=/if (!${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]} && !${Me.Invis} && ${Macro.Name.NotEqual["NULL"]} && ${Me.PctEndurance}<80 && !${Me.Buff[Scorpion's Agony Poison VIII].ID} && ${FindItem[Scorpion's Agony XV].ID}) /useitem "Scorpion's Agony XV"

After I get all the rest setup I want to post my War's Kiss and melee ini.
 
NOTE: it has been uped to 60 downs and 60 holys, just FYI.....
Source of info on this?

Wow, that's significant. Don't believe I'm going to use that many on one toon. Not yet anyway :twisted:
Thank you to the Devs for expanding Holys and Downs to a count of 60, which gives us plenty of room to expand as needed.

~TheFiddler~
 
There was also a global if that was added so you didn't have to repeat the same tests in every holy. If the global is true then none of the holyshits will trigger.
 
Yea, toward the end of my tired search I found one in fact, I plan on implementing it in my list. Thank You!

I'm sure this is what you mean right?

As an example. Of course more arguments could be added to this as well if needed:
Rich (BB code):
downshitif=${If[${Zone.ID}!=344 && ${Zone.ID}!=345 && ${Zone.ID}!=219 && ${Zone.ID}!=463 && ${Zone.ID}!=202 && ${Zone.ID}!=151 && !${Me.Moving} && ${Zone.ID}!=203 && !${Me.Invis},1,0]}
That is the line directly as I found it. I have not cleaned it up yet.

~TheFiddler~

- - - Updated - - -

There was another string of Zone.ID checks provided to me yesterday that was a lot cleaner I plan to use.

Rich (BB code):
!${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]}

- - - Updated - - -

And then add these to the downshitif statement:
Rich (BB code):
!${Me.Moving} && !${Me.Invis}

- - - Updated - - -

Cleaned Up Version:
Rich (BB code):
downshitif=${if !${Me.Moving} && !${Me.Invis} && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]}}

Does this look correct?
 
Found it! Awesome Sauce...
http://www.redguides.com/community/...-holyshitif-availability?highlight=holyshitif


DownshitIF
Rich (BB code):
downshitif=${if !${Me.Moving} && !${Me.Invis} && (${Me.Standing} || ${Me.Mount.ID}) && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]}}

HolyshitIF
Rich (BB code):
Holyshitif=${if !${Me.Invis} && ${Melee.Combat} && (${Me.Standing} || ${Me.Mount.ID}) && !${Select[${Zone.ID},151,202,203,219,344,345,463,33480,33113]}}

Since my server is down for up to the next 20hrs, I can't test either one of these. The previous DownIF was working for me before I added the Snippet below. I shamelessly stole this from the linked post.
Rich (BB code):
(${Me.Standing} || ${Me.Mount.ID})

Thank you CTaylor22 and Maskoi and anyone else involved on getting this implemented! This is Awesome Power as we are limited to 255 Characters for the condition arguments

Per the Mothership:
Your defined condition must not exceed 255 characters, or it will cause the plugin to crash.

~TheFiddler~
 
Still cant get this duration to work, basically if doesnt have avatar or avatar is less than 60 seconds, equip avatar weapon (holyflag7), otherwise if has buff and greater than avatar equip other weapon
Rich (BB code):
holyshit7=/if (${Me.Inventory[mainhand].ID}==5776 && (!${Me.Buff[Avatar].ID} || ${Me.Buff[Avatar].Duration.TotalSeconds}<60) && ${Spell[Avatar].Stacks}) /exchange 27320 mainhand
holyshit8=/if (${Me.Inventory[mainhand].ID}==27320 && ${Me.Buff[Avatar].Duration.TotalSeconds}>=60 && (${Me.Buff[avatar].ID} || !${Spell[avatar].Stacks})) /exchange 5776 mainhand

everything worked then I added in the duration and doesnt swap under 60 seconds.

I also tried to get offhand (instead of mainhand like above) swap to work for another char and some reason it doesnt work at all, didnt even put the duration code in there yet (i want to) literally changed mainhand to offhand, and changed ID's from my working one above (without the duration it works) and it wont work now.
Rich (BB code):
holyshit8=/if (${Me.Inventory[Offhand].ID}==31308 && !${Me.Buff[Avatar].ID} && ${Spell[Avatar].Stacks}) /exchange 29438 offhand
holyshit9=/if (${Me.Inventory[Offhand].ID}==29438 && ${Me.Buff[Avatar].Duration.TotalSeconds} >= 60 && (${Me.Buff[avatar].ID} || !${Spell[avatar].Stacks})) /exchange 31308 offhand
 
I'm new to this myself, but I will be testing with this later as I'm curious. I play on a Live server but still have multiple Avatar weapons in one of my houses to test this with. I personally want to get this working for Ensnare on target using Spear of Constriction. Not really planning on using it, but I want to see how it's done.

Regards,
~TheFiddler~

- - - Updated - - -

Headed out taking kid to school and errands around town for a while...
 
is it possible it should be "seconds" and not "totalseconds"?

i.e. is "totalseconds" the max duration of the buff and "seconds" the remaining time as it counts down?

or how about using .....Duration.Ticks <= 10
?
 
ya I dont see any working buff check on there =/ I've tried duration.ticks, .seconds, .minutes etc never works for some reason. I use the syntax in other flags and it works so not sure here, maybe it doesnt think it will stack?
 
Rich (BB code):
holyshit1=/if (((!${Me.Buff[Avatar].ID} && ${Spell[Avatar].Stacks}) || ${Me.Buff[Avatar].Duration.Ticks}<16) && !${InvSlot[mainhand].Item.Name.Equal[Ancient Prismatic Brawl Stick]}) /multiline ; /exchange "Ancient Prismatic Brawl Stick" mainhand ; /keypress - ; /echo HS1
holyshit2=/if (${InvSlot[mainhand].Item.Name.Equal[Ancient Prismatic Brawl Stick]} && (${Me.Buff[Avatar].ID} && ${Me.Buff[Avatar].Duration.Ticks}>15)) /multiline ; /unequip offhand ; /exchange "Petrified Heartwood Flamberge" mainhand ; /keypress - ; /echo HS2
downshit1=/if (((!${Me.Buff[Avatar].ID} && ${Spell[Avatar].Stacks}) || ${Me.Buff[Avatar].Duration.Ticks}<16) && !${InvSlot[mainhand].Item.Name.Equal[Ancient Prismatic Brawl Stick]}) /multiline ; /exchange "Ancient Prismatic Brawl Stick" mainhand ; /keypress - ; /echo DS1

It's half working, I feel like I'm close to getting it to work.... btw keypress - is my hotkey that does /pause 7 and then /autoinventory (/autoinv wasn't working in my HS or DS)

- - - Updated - - -

Ok it is working
 
So, trying to make a high ADPS ini for my mage, I want it to hit DPS AA's as the previous fades, i tried-

downshit0=/if (${Me.AltAbilityReady[Heart of Flames]} && ${Me.Buff[Elemental Union]} && ${Target.PctHPs}<99) /casting "Heart of Flames"

In this case I want to check if I'm buffed with Elemental Union, and if not cast Heart of Flames.

Whats the correct code for that ??
 
So, trying to make a high ADPS ini for my mage, I want it to hit DPS AA's as the previous fades, i tried-



In this case I want to check if I'm buffed with Elemental Union, and if not cast Heart of Flames.

Whats the correct code for that ??

!${Me.Buff[Elemental Union]}
 
At a guess I would say, you need it to either be a number, or inside a bool. IE

!${Me.Buff[Elemental Union].ID}

or !${Bool[${Me.Buff[Elemental Union]}]}

The /if statement will translate numbers as true/false (any number is true, 0 is false), or the ${Bool[]} will return true/false. But having a name will bork the parse. IE ${Me.Buff[Elemental Union]} returns Elemental Union
 
I tried it exactly how I put it and it worked just fine for me. /shrug

A return of !NULL is the same as FALSE.

- - - Updated - - -

Type this in game and see what happens.

Rich (BB code):
/if (!${Me.Buff[Elemental Union]}) /echo No
 
Just a quick question. For those times Im grouping but want mq2melee in action for auto ability use.....

How do I turn off the stick settings? Id prefer to move myself manually just in case I aggro.

Thanks in advance!
 
would this work for a bard
Rich (BB code):
HolyShit6=/if (!${Me.Moving} && !${Me.Invis} && ${Target.PctHPs} >50 && ${Target.PctHPs} <95 && ${Cast.Ready[Small Manisi Branch]}) /multiline ; /delay 2 ; /casting "Small Manisi Branch"|Item
 
I use these to med some while my puller is waiting for mob or doing long pull.

Rich (BB code):
downshit5=/if (!${Me.CombatState.Equal[COMBAT]} && ${Me.PctMana}<90 && !${Me.Moving} && !${Me.Sitting}) /Sit
downshit6=/if (!${Me.CombatState.Equal[COMBAT]} && ${Me.Endurance}<90 && !${Me.Moving} && !${Me.Sitting}) /Sit
 
So, I've always played casters, except for this one bard that I'm not very good with. It seems to me that I could use these with a shroud to autoactivate their combat abilities. Does anyone have suggestions/examples for use with a warrior-type shroud?

Shroud abilities on my current L5 Earth Elemental are Armor Cleave and Stunning Blow with a self-buff of Wild Speed (SoW).

If I have examples, I'm sure I can figure out the rest, but I went through this whole thread and didn't see any mention of shrouds. Thanks.
 
1. Trying to add a Holyshit that if my monk takes aggro from my tank then he clicks a Fading Memories clicky on EZ server. Any help would be greatly appreciated. Thanks.

Item Name: Spirit of the Ninja

2. Also, trying to swap out a shield for it's clicky effect, whenever the effect wears off, and then re-equip the previous shield. Trying to do the same with Monk hands.
 
Last edited:
Bard Aggro since MQ2Melee sees fit to limit it to non-bard classes...

  • aggro=[on|off]
    Plugin tries to keep aggro on target using all enabled aggro abilities/disciplines until aggro is regained, or either you or the target dies (WAR/PAL/SHD only).
  • So lets work around it...

Rich (BB code):
holyflag9=2
holyshit9=/if (${MacroName.Equal[KissAssist]} && ${IAmABard} && ${Select[${Role},Tank,PullerTank,Hunter]}>0 && ${AggroOn} > 0 && ${Me.Combat} && ${Cast.Ready[Dissonant Chord]}) /casting "Dissonant Chord"

It reads the AggroOn settings from your ini..
 
Last edited:
This FAQ is missing a rather vital segment: an introduction. There is no "What is a Holyshit?" or "What is a Downshit?" After looking over the general section, I still don't know what they are.
 
Ordell, there is a link to the "syntax"

That link leads to the source board's wiki, which does a decent job of explaining the plugin and what you are looking for.

I updated RG's plugin description to better reflect the link to the source boards. I am afraid I do not know the key differences between the main source and RG's, so I left it as checking out this thread, for level 2 users (as it was set up).

- - - Updated - - -

How ever you are correct in, there ought to be something in the FAQ, I was just trying to help you in finding the information =)
 
Plugin - MQ2Melee

Users who are viewing this thread

Back
Top