• 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 (3 Viewers)

Warrior holy to get by until Melee is updated for the new discs. may need to edit out the rk II if you don't have it yet

Rich (BB code):
holyshit1=/if (!${Me.Song[Field Champion].ID}) /disc Field Champion
holyshit18=/if (${Me.Combat} && ${Me.CombatAbilityReady[Slander rk. ii]} && ${Melee.AggroMode}) /disc Slander rk. ii
holyshit19=/if (${Me.Combat} && ${Me.AltAbilityReady[Blast of Anger]} && ${Melee.AggroMode}) /alt act 3646
holyshit22=/if (${Me.Combat} && ${Me.AltAbilityReady[rage of the forsaken]} && ${Melee.AggroMode}) /alt act 688
holyshit20=/if (${Me.Combat} && ${Me.CombatAbilityReady[Burning Shout rk. ii]} && ${Melee.AggroMode}) /disc Burning Shout rk. ii
holyshit21=/if (${Me.Combat} && ${Me.CombatAbilityReady[Kluzen's roar]} && ${Melee.AggroMode}) /disc Kluzen's roar
 
Recently Power leveled from level 94 to level 105. Working on my holyshits. Any suggestions would be helpful.

Rich (BB code):
downshit0=/if (${Me.CombatAbilityReady[Bloodlust Aura]} && !${Me.Aura.Name.Find[Bloodlust Aura]} && ${Me.PctEndurance}) /disc Bloodlust Aura
downshit1=/if (${Me.CombatAbilityReady[${Spell[Breather].RankName}]} && ${Me.PctEndurance}<21) /disc ${Spell[Breather].RankName}
downshit2=/if (${Me.Inventory[mainhand].Type.Find[Blunt]} && !${Me.Buff[Familiar: Blunt Force].ID} && ${FindItemCount[=Blunt Force]}) /casting "Blunt Force|Item"
downshit3=/if (${Me.Inventory[mainhand].Type.Find[Slashing]} && !${Me.Buff[Familiar: Razors Edge].ID} && ${FindItemCount[=Razors Edge]}) /casting "Razors Edge|Item"
downshit4=/if (${FindItemCount[=Jymall's Gloves of Frenzy]} && ${Spell[${FindItem[Jymall's Gloves of Frenzy].Spell}].Stacks} && !${Me.Buff[Miraculous Visions].ID}) /casting "Jymall's Gloves of Frenzy|Item"
downshit5=/if (${Me.Height} > 1.91 && ${FindItemCount[=Humanoid Reductionizer]}) /multiline ; /target id ${Me.ID} ; /timed 10 /casting "Humanoid Reductionizer|Item"
downshit6=/if (${FindItemCount[Distillate of Alacrity]} && ${Spell[${FindItem[Distillate of Alacrity].Spell}].Stacks}) /casting "${FindItem[Distillate of Alacrity].Name}|Item"
downshit7=/if (${FindItemCount[=Jymall's Tunic of Frenzy]} && ${Spell[${FindItem[Jymall's Tunic of Frenzy].Spell}].Stacks} && !${Me.Buff[${FindItem[Jymall's Tunic of Frenzy].Spell}].ID}) /casting "Jymall's Tunic of Frenzy|Item"
downshit8=/if (${Spell[Illusion Benefit Azia Mk. II].Stacks} && !${Me.Buff[Illusion Benefit Azia Mk. II].ID} && ${FindItemCount[=Polymorph Wand: Lightning Warrior]}) /multiline ; /casting "Polymorph Wand: Lightning Warrior"|Item ; /timed 50 /invoke ${Me.Buff[${FindItem[=Polymorph Wand: Lightning Warrior].Spell}].Remove}
downshit9=/if (${FindItemCount[Axe of the Demolisher]}<50 && ${Me.CombatAbilityReady[Axe of the Demolisher]}) /disc Axe of the Demolisher


downshit10=/if (${Cursor.Name.Equal[Axe of the Demolisher]}) /autoinv


holyshit0=/if (${Me.AltAbilityReady[Self Preservation]} && ${Me.PctHPs}<=50 && ${Group.MainTank.ID} != ${Me.ID}) /multiline ; /keypress Esc ; /timed 1 /casting "Self Preservation|Alt"
holyshit1=/if (${Me.CombatAbilityReady[${Spell[Prior Retaliation].RankName}]} && ${Me.PctEndurance}>1 && ${Me.PctHPs} < 90) ${If[${Me.PctHPs}>=90,/multiline ; /alt act ${Me.AltAbility[Bloodfury]} ; /timed 5 /disc ${Spell[Prior Retaliation].RankName},/disc ${Spell[Prior Retaliation].RankName}]}
holyshit2=/if (${Me.AbilityReady[Frenzy]} && ${Me.PctEndurance}>1) /doability Frenzy
holyshit3=/if (${Me.CombatAbilityReady[${Spell[Demolishing Volley].RankName}]} && ${Me.PctEndurance}>1) /doability "${Spell[Demolishing Volley].RankName}"
holyshit4=/if (${Me.CombatAbilityReady[${Spell[Numicia].RankName}]} && ${Me.PctEndurance}>1) /disc ${Spell[Numicia].RankName}
holyshit5=/if (${Me.CombatAbilityReady[${Spell[Demolishing Axe Throw].RankName}]} && ${Me.PctEndurance}>1) /disc ${Spell[Demolishing Axe Throw].RankName}
holyshit6=/if (${Me.CombatAbilityReady[Dichotomic Rage]} && ${Me.PctEndurance} && ${FindItemCount[Axe of the Demolisher]}) /doability "${Spell[Dichotomic Rage].RankName}"
holyshit7=/if (${Target.Fleeing} && ${Me.CombatAbilityReady[${Spell[Tendon Tear].RankName}]} && ${Me.PctEndurance}>1) /disc ${Spell[Tendon Tear].RankName}
holyshit8=/if (${Me.CombatAbilityReady[Cry Carnage]} && !${Me.Song[Cry Carnage].ID} && ${Me.PctEndurance}>1) /disc Cry Carnage
holyshit9=/if (${Me.CombatAbilityReady[Ancient: Cry of Chaos]} && !${Me.Song[Ancient: Cry of Chaos].ID} && ${Me.PctEndurance}>1) /disc Ancient: Cry of Chaos


holyshit11=/if (${Me.CombatAbilityReady[${Spell[Amplified Frenzy].RankName}]} && ${Me.AltAbilityReady[Bloodfury]} && ${Me.CurrentEndurance}>622) ${If[${Me.PctHPs}>=90,/multiline ; /alt act ${Me.AltAbility[Bloodfury]} ; /timed 5 /disc ${Spell[Amplified Frenzy].RankName},/disc ${Spell[Amplified Frenzy].RankName}]}
holyshit12=/if (${Me.CombatAbilityReady[${Spell[Shared Cruelty].RankName}]} && !${Me.Song[Reflected Cruelty].ID} && ${Me.PctEndurance}>1) /disc ${Spell[Shared Cruelty].RankName}
holyshit13=/if (${Me.CombatAbilityReady[${Spell[Demolishing Frenzy].RankName}]} && ${Me.PctEndurance}>1) /disc ${Spell[Demolishing Frenzy].RankName}
holyshit14=/if (${Me.CombatAbilityReady[${Spell[Brutal Discipline].RankName}]} && ${Me.PctEndurance}>1 && !${Me.ActiveDisc.ID} && ${Target.Named}) /disc ${Spell[Brutal Discipline].RankName}
holyshit15=
holyshit16=/if (${Me.AltAbilityReady[Battle Leap]}) /casting "Battle Leap"
holyshit17=/if (${Me.AltAbilityReady[Vehement Rage]} && ${Target.AggroHolder.ID} != ${Me.ID}) /casting "Vehement Rage|Alt"
holyshit18=/if (${Me.AltAbilityReady[Silent Strikes]} && ${Target.AggroHolder.ID} == ${Me.ID} && !${Group.MainTank.ID} != ${Me.ID}) /casting "Silent Strikes|Alt"
holyshit19=/if (${Me.AltAbilityReady[Blinding Fury]}) /casting "Blinding Fury"


holyshit20=/if (${Me.AltAbilityReady[Desperation]} && ${Target.Named}) /casting "Desperation"
holyshit21=/if (${Me.AltAbilityReady[Juggernaut Surge]} && ${Target.Named}) /casting "Juggernaut Surge"
holyshit22=/if (${Me.AltAbilityReady[Reckless Abandon]} && ${Target.Named} && ${Target.AggroHolder.ID} != ${Me.ID} && ${Me.CurrentHPs} > 15000) /casting "Reckless Abandon"
holyshit23=/if (${Me.AltAbilityReady[Savage Spirit]} && ${Target.Named} && ${Target.AggroHolder.ID} != ${Me.ID} && ${Me.PctHPs} > 65) /casting "Savage Spirit"
holyshit24=/if (${Me.AltAbilityReady[Uncanny Resilience]} && ${Target.AggroHolder.ID} == ${Me.ID} && ${Me.PctHPs} < 50 || ${Me.AltAbilityReady[Uncanny Resilience]} && ${Target.Named}) /casting "Uncanny Resilience"
holyshit25=/if (${Me.AltAbilityReady[Untamed Rage]} && ${Target.AggroHolder.ID} != ${Me.ID} && ${Me.CurrentHPs} > 50000) /casting "Untamed Rage"
holyshit26=/if (${Me.AltAbilityReady[Rampage]} && ${SpawnCount[NPC Radius 50]}>1 && ${Me.PctEndurance}>1) /casting "Rampage|Alt"
holyshit27=/if (${Me.CombatAbilityReady[${Spell[Breather].RankName}]} && !${Me.CombatState.Equal[COMBAT]} && ${Me.PctEndurance}<21) /disc ${Spell[Breather].RankName}
holyshit28=/if (${Me.CombatAbilityReady[${Spell[Bubbling Rage].RankName}]} && !${Me.Song[Bubbling Rage].ID} && ${Me.PctEndurance}>1) /disc ${Spell[Bubbling Rage].RankName}
 
mq2melee controls axe throw already volley's and cry carnage aswell as battle leap also frenzy. Was gonna add axe summons to the plugin when i had time and a spur created to test so features I wanted to implement.

but looking at what you got there holyshit19 and holyshit9 will not stack as they both tie into the same stacking slot but one is a song and the other is a procced song buff. they both can be clicked and will "stack" but cry of chaos is a better overhaste of the 2 and fill with blinding fury when cry of chaos is down and no bard in group
 
Anybody having any issues with mq2melee? after the recent update none of my melee setting are changable/viewable within EQ across all my clients almost all classes. Was getting the same error as Chat was with the random macro lines throwing errors while I had no issues prior to that fix.
in game issue /melee this is the spew.
Rich (BB code):
[2018/04/02 17:08:45] MQ2Melee::-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[2018/04/02 17:08:45] MQ2Melee::Version [8.600] Loaded!
[2018/04/02 17:08:45] MQ2Melee::-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
[2018/04/02 17:08:45] MQ2Melee::-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
and this is my melee file:
Rich (BB code):
[MQ2Melee]
aggro=1
banestrike=1
bash=1
callchallenge=1
commanding=20
defense=20
disarm=1
enrage=1
facing=1
fieldarm=20
gutpunch=1
infuriate=1
kick=1
kneestrike=1
melee=1
opportunisticstrike=20
plugin=1
provoke1=43035
provokeend=20
provokemax=1
provokeonce=0
rallos=0
resume=75
slam=1
stickmode=1
stickrange=0
taunt=1
stickcmd=${If[${Math.Calc[${Target.MaxRangeTo}*0.8]} > 19,15,${Math.Calc[${Target.MaxRangeTo}*0.8]}]} hold moveback front loose
version=8.500
and doing a /melee load and /melee save
odd now its proving me wrong =/
everything is working now wasnt the entire weekend =/
 
Last edited:
also just an FYI for those with setting not showing up, looks like if you load up mq2melee and if plugin=0 it will not show any of the settings it will only show the plugin version and for my SK it show Gblade toggle and thats it. I could not
Rich (BB code):
/melee plugin=1
either i had to change the melee file to having plugin=1 save and then load in game to get settings changed.
 
Sorry guys. I really tried but if I found the answer I haven't realized it yet. This is for my bard. I have been dealing with bardswap since I started. Actually there was a time that it worked most of the time and very well for my needs I know it is an old plugin and that it probably is not being supported but I have tried about every format I found in RG. I have tried exchange and bandolier. I tried id names and id numbers. I can get it to finally work for the duration I play that day with no issues and then log in later with it broken once again. I have all but given up on it. But I am finding how to use conditions for it referencing this thread https://www.redguides.com/community/threads/63744-MQ2Bardswap? referrerid=234265. In this thread I have found a real and dependable solution for me in using conditions. This is what I got so far:

Rich (BB code):
downflag1=1
downshit1=/if (${Me.Gem[${Twist.Current}].Skill.Equal[Stringed Instruments]} && ${Me.Inventory[14].ID}!=147411) /squelch /exchange 147411 offhand
downflag2=1
downshit2=/if (${Me.Gem[${Twist.Current}].Skill.Equal[Wind Instruments]} && ${Me.Inventory[14].ID}!=147413) /squelch /exchange 147413 offhand
downflag3=1
downshit3=/if (${Me.Gem[${Twist.Current}].Skill.Equal[Percussion Instruments]} && ${Me.Inventory[14].ID}!=127295) /squelch /exchange 127295 offhand

This Works! but the problem I am having, which probably has an easy enough solution is I can't switch back to my offhand weapon when an instrument is not required. I try to make sense of these codes that are shared by example and I might as be reading ancient hieroglyphics. Is there someone that can help me with this. It will be much appreciated. Thanks all!

Oh and here are the items I am cycling through in my offhand for reference:

Illdaera's Steel Drum
Kelin's Seven Stringed Lute
Lyssa's Darkwood Piccolo
Bi'Faak's Silence

- - - Updated - - -

Update: I found this does not work for me but I tried lol:

Rich (BB code):
downshit4=/if (${Me.Gem[${Twist.Current}].Skill.Equal[Singing]} && ${Me.Inventory[14].ID}!=148149 /squelch /exchange 148149 offhand

- - - Updated - - -

I think I am getting closer

Rich (BB code):
holyshit0=/if (${Me.Inventory[offhand].ID}!=148149 && ${Me.Combat}

- - - Updated - - -

Ok this is almost it:

Rich (BB code):
downflag1=1
downshit1=/if (${Me.Gem[${Twist.Current}].Skill.Equal[Stringed Instruments]} && ${Me.Inventory[14].ID}!=147411) /squelch /exchange 147411 offhand
downflag2=1
downshit2=/if (${Me.Gem[${Twist.Current}].Skill.Equal[Wind Instruments]} && ${Me.Inventory[14].ID}!=147413) /squelch /exchange 147413 offhand
downflag3=1
downshit3=/if (${Me.Gem[${Twist.Current}].Skill.Equal[Percussion Instruments]} && ${Me.Inventory[14].ID}!=127295) /squelch /exchange 127295 offhand
downflag4=1
downshit4=/if (${Me.Inventory[14].ID}!=148149) /exchange 148149 offhand

Only thing that doesn't seem right is when I am twisting my songs and it gets to an instrument with the conditions it flashes back and forth and forth and back between default weapon and the instrument until the next song is played. If this is effective still than thats ok. It just does not look natural. I welcome any advice anyone has about this setup. thanks guys.
 
How about putting a check in that X skill it not needed?

Rich (BB code):
downshit4=/if (!${Me.Gem[${Twist.Current}].Skill.Equal[Stringed Instruments]} && !${Me.Gem[${Twist.Current}].Skill.Equal[Wind Instruments]} && !${Me.Gem[${Twist.Current}].Skill.Equal[Percussion Instruments]} && ${Me.Inventory[offhand].ID}!=148149 && ${Me.Combat}) /squelch /exchange 148149 offhand

I haven't tested this but it ought to be close
 
How about putting a check in that X skill it not needed?

Rich (BB code):
downshit4=/if (!${Me.Gem[${Twist.Current}].Skill.Equal[Stringed Instruments]} && !${Me.Gem[${Twist.Current}].Skill.Equal[Wind Instruments]} && !${Me.Gem[${Twist.Current}].Skill.Equal[Percussion Instruments]} && ${Me.Inventory[offhand].ID}!=148149 && ${Me.Combat}) /squelch /exchange 148149 offhand

I haven't tested this but it ought to be close

I seen what you done there. I presume the "!" is supposed to block those instruments and the final section without the "!" is supposed to switch back to the melee weapon when no instrument is needed. Starting to make a little sense. I copied and pasted it right away and tested it out. Unfortunately it doesn't exchange the instrument out. In my case the lute. Thanks for helping.

Sorry you had it right all along. I missed the {Me.Combat} which makes sense! I was just testing it in pok with no encounters. You know your downShits. Thanks again for helping me accomplish this task.
 
Last edited:
the "!" reverses the result. Basically if X TLO returns FALSE, "!FALSE" would read "TRUE" to the MQ2 engine. If you copy and paste ingame the code for instance "!${Me.Gem[${Twist.Current}].Skill.Equal[Stringed Instruments]}" you will see a "!TRUE" or "!FALSE".

You can also go with NotEqual I would presume, for the same result.

Either way, glad you got it going =)
 

Attachments

  • 1wFdq.jpg
    1wFdq.jpg
    41.8 KB · Views: 44
  • EQ000005.jpg
    EQ000005.jpg
    456.8 KB · Views: 45
Last edited:
Quick question:

Anyone know if its possible to have two different client.ini's? I want one for grouping and one that's more bare bones for raiding, but I don't want to go through and turn off holyshits and adjust settings every time I join a raid.
 
Possible to have unlimited setups. Would have to keep the alternate profiles in a different file, then swap it in (and other out) for different circumstances. Changes take effect by reloading MQ2melee afterwords.
 
Possible to have unlimited setups. Would have to keep the alternate profiles in a different file, then swap it in (and other out) for different circumstances. Changes take effect by reloading MQ2melee afterwords.

Yea, was hoping to be able to load an alternate ini from command rather than playing the game of having to back up Ini’s and manually swapping files back and forth.
 
I haven't run into a way to load other ini files. You could write a batch file that swaps your ini files, or some multi-line hotkeys that change the /melee settings but don't save for next time.
we came up with a few good solutions on discord. You could write a quick macro that reads the custom ini, sets melee variables and saves it. Or you could just have a bunch of holyshits with highly situational conditions (which solved @Sum1's specific problem.)
 
we came up with a few good solutions on discord. You could write a quick macro that reads the custom ini, sets melee variables and saves it. Or you could just have a bunch of holyshits with highly situational conditions (which solved @Sum1's specific problem.)

The highly situational holy’s would definitely work for that portion of the problem. It suddenly is clear to me why people put one of the conditions that they’re running kissassist, for example. I’d still have to contend with the other variables within mq2melee, but maybe a custom macro would be a start.
 
I have a simple question that was probably covered I just can't find it. How do I change the melee distance? Right now my guy is crawling up the mobs ass when they run and can't even attack.
 
I'm trying to get my chanter's downshits squared away. I want to keep auras, runes, haste, and C up between mobs. I don;t want to use KA really as I pull with it and do mostly manual play with it. I guess I don't quite understand how to make them very well.
 
a basic way of writing holy/down's is to write out what you want, I.E.
INI:
/if (!${Me.Buff[crackofchoice].ID} && ${Me.Spell[crackofchoice].Mana} > ${Me.CurrentMana} && ${Me.SpellReady[crackofchoice]} && !${Me.Moving}) /casting crackofchoice
so this is if I dont have "crackofchoice" and I have more than enough mana to cast the spell and its ready to cast and you are not moving, to go ahead and cast the buff on your self.
and everything in the if statement must be true for the spell to cast, start simple and add more to it once you get a base going.
 
INI:
downshit1=/if (${Cast.Ready[Cauldron of Countless Goods]} && !${Me.Invis} && !${Me.Casting.ID} && !${Me.Moving} && ${MacroQuest.GameState.Equal[INGAME]} && !${Me.CombatState.Equal[COMBAT]})   /casting "Cauldron of Countless Goods" item

Just to add to Saar's explanation there, this is something my mage uses to click on his cauldron when it is ready, it has a few points you may want to add to what you are building...

!${Me.Invis} - make sure you are not trying to cast a spell while invis
!${Me.Casting.ID} - make sure you ar enot trying to cast a spell while already casting a spell
!${Me.CombatState.Equal[COMBAT]} - make sure you are not fighting
${MacroQuest.GameState.Equal[INGAME]} - optional ... it makes sure you are actually ingame, and not trying to cast in a different state

(short explanation on what a Top Level Object is and what is going on in a holy/down shit statement) - What is going on is you are using a TLO and it's subs to reach a TRUE state.

In other words ${Me.Invis} is using the "ME" TLO. This in turn inherits the Spawn TLO... and that has the ability to tell if your invisible.

The ! character in front is inverting the end result (make it the opposite)

Thus ${Me.Invis} would equal TRUE if you were invisible, while !{Me.Invis} would equal TRUE if you were not invisible.

In order for the holy/down shit to work, everything in your conditions line must equal TRUE.

So to put it simply, "!${Me.Invis} && !${Me.Casting.ID} && !${Me.Moving}" are checking their things, and the checks have to be TRUE TRUE TRUE before it will do the command (in this case, using MQ2Cast plugin to click the item)

------------------------------------
Just in case you are needing it, at the stop of the page there is a "Plugins" button you can click to get to a general explanation of the plugins. You can find one for MQ2Melee and a short description on how to set up the holy/down shits. On that page are some links, including to the discussion board with a LOT of examples of different ini's folks have written over the years.

You can also check out the source website and it's wiki which will have a more detailed explanation on the plugin features, and some examples of holy/down. (bar in mind some features may differ, as RG uses a custom build)

You can also check out the ReadMe that the developers have done over the years and put into MQ2. If you right click on the MQ2 icon in your system tray, you will see a "Readme" option that opens a windows based help file.
_________________________________________
Either way though, give it your best shot, and if it doesn't work out quite how you want it, post what you have here and I am sure someone can help debug it. Or feel free to message me and I would be happy to explain things farther

(sorry for the long post... I write training manuals for a living)
 
Last edited:
Im currently trying to move/convert my setup from mmobugs compiles to redguids vanilla mq2, you guys here did an amazing jobs with live/emu distro...

I got a small request... something not to hard, that should takes just a few mins... i don't have any compiler setup, or any sources in my hands to do it myselt but i would like downshit and holyshit increase from 60 to 90... yes im already at 62 on some of my toons! i love clickies maitaining buffs etc...

Im currently playing on rof2 client, ez server, so im looking for those changes at least for the rof2 client
Im ready to test/try any compiled plugins!

thanks
 
@s0rcier I would give you what I have, but I am sure it is too old. I am the one who added the Generic Holy/down and increased holy/downs to 60 I think it was... Maskoi should have a recent copy and/or redbot for sure will have a current copy.
 
@s0rcier I would give you what I have, but I am sure it is too old. I am the one who added the Generic Holy/down and increased holy/downs to 60 I think it was... Maskoi should have a recent copy and/or redbot for sure will have a current copy.

thanks but for compiling it for rof2 client, i would also need sources for the vanilla rof2 packages... it should takes max 10min to added that ... might be quicker to do it and commit it to the reprository then hook me up with sources :)
 
I can't get this working...
downshit2=1
downshit2=/if ((${Me.PctMana}>30) && ${Spell[Mana Repetition Aura Rk. III].Stacks[0]} && !${Me.Moving} && ${Me.CombatState.Equal[ACTIVE]} && !${Me.Invis}) /casting "Mana Repetition Aura Rk. III" gem8


Haven't worked on AAs yet. Still getting the spellgem buffs down. So far C and Haste are good! Gonna work spell runes then AA runes next.. downshit 0 and 1 work but 3 doesn't.. Stillt rying to figure this out.)




downflag0=1
downshit0=/if ((${Me.PctMana}>30) && ${Spell[Hastening of Milyex Rk. III].Stacks[20]} && !${Me.Moving} && ${Me.CombatState.Equal[ACTIVE]} && !${Me.Invis}) /casting "Hastening of Milyex Rk. III" gem13
downflag1=1
downshit1=/if ((${Me.PctMana}>30) && ${Spell[Voice of Perspicacity Rk. III].Stacks[20]} && !${Me.Moving} && ${Me.CombatState.Equal[ACTIVE]} && !${Me.Invis}) /casting "Voice of Perspicacity Rk. III" gem12
downshit3=1
downshit3=/if ((${Me.PctMana}>30) && ${Spell[Shield of Order Rk. III].Stacks[20]} && !${Me.Moving} && ${Me.CombatState.Equal[ACTIVE]} && !${Me.Invis}) /casting "Shield of Order Rk. III" gem6
 
Last edited:
Mana Repetition Aura Rk. III
Hastening of Milyex Rk. III
Voice of Perspicacity Rk. III
Shield of Order Rk. III

INI:
downshitif=${If[!${Me.Invis} && ${Me.Standing} && ${Melee.Immobilize} && !${Me.Moving} && !${Cast.Timing} && ${Cast.Ready[]} && ${Me.PctMana}>30,1,0]}
downshit0=/if (${Me.Buff[Hastening of Milyex Rk. III].Duration} < 100 && ${Cast.Ready[Hastening of Milyex Rk. III|gem]} && ${Spell[Hastening of Milyex Rk. III].Stacks}) /casting "Hastening of Milyex Rk. III|gem"
downshit1=/if (${Me.Buff[Voice of Perspicacity Rk. III].Duration} < 100 && ${Cast.Ready[Voice of Perspicacity Rk. III|gem]} && ${Spell[Voice of Perspicacity Rk. III].Stacks}) /casting "Voice of Perspicacity Rk. III|gem"
downshit2=/if (${Me.Buff[Shield of Order Rk. III].Duration} < 100 && ${Cast.Ready[Shield of Order Rk. III|gem]} && ${Spell[Shield of Order Rk. III].Stacks}) /casting "Shield of Order Rk. III|gem"
downshit3=/if (!${Me.Song[Mana Repetition III].ID} && ${Cast.Ready[Mana Repetition Aura Rk. III|gem]} && ${Spell[Mana Repetition Aura Rk. III].Stacks}) /casting "Mana Repetition Aura Rk. III|gem"
downflag0=1
downflag1=1
downflag2=1
downflag3=1

1st i would make a global downshitif= to only attempt to cast anything while not invis, when you are standing, immobilized for long enough, not currently moving, and that their is no casting going and that you can cast right now and that you have your 30% mana .... i would not be using ${Me.CombatState.Equal[ACTIVE]} if you are mouted, you can still cast and status will change to RESTING i beleive.

your 3 buffs, should recast when their are not on self or when duraction left is less then 10min (on emu server, u will need to change the 100 for the appropriate value on the live servers.... Im not 100% sure for the stacking parameters Stacks[0] Stacks[20] i really never used that lol but give them a try :)

for Mana Repetition Aura Rk. III ... im not sure, totally a shot in the dark... i assume it will put a songs buff on self named Mana Repetition III ... that last 18secs... and im not ure you need to do a stacking test for that... give them a shoot and let me know! im not playing on live! so can't test any of those!

updated for missing } my bad try again darkpaladin!
 
Last edited:
MQ2Melee 8.800 - Minor Updates

-Updated DownShit and HolyShit to support up to 90 slots.
-Updated DownFlag and HolyFlag to support value of 0 to 3 (=3 to not execute when a macro is running).
-Updated StickMode to support value of 0 to 2 (=2 to disable stick behaviour, equivalent of stickmode=1 and stickcmd=off without spamming stick command every seconds to not stick!)
 
s0rcier trying to make mq2melee great again! yay.

Out of curiousity how often does mq2melee try to apply the stickcmd when stickmode is set to 1? I've always wondered about this as background toons sometimes seem to stick into place, but then just kind of fight and move away from what should be their placement.
 
s0rcier trying to make mq2melee great again! yay.

Out of curiousity how often does mq2melee try to apply the stickcmd when stickmode is set to 1? I've always wondered about this as background toons sometimes seem to stick into place, but then just kind of fight and move away from what should be their placement.

very offten if your stick command is off :) since it detect you are not sticking it send the command again!
 
very offten if your stick command is off :) since it detect you are not sticking it send the command again!

So the phenomena that I'm thinking of is how toons are sticking, but then start to wander a bit. Perhaps it's a function of being the background or general lag or whatever and there's no remedy.
 
INI:
downshitif=${If[!${Me.Invis} && ${Me.Standing} && ${Melee.Immobilize} && !${Me.Moving} && !${Cast.Timing} && ${Cast.Ready[]} && ${Me.PctMana}>30,1,0]}
downshit0=/if (${Me.Buff[Hastening of Milyex Rk. III].Duration} < 100 && ${Cast.Ready[Hastening of Milyex Rk. III|gem] && ${Spell[Hastening of Milyex Rk. III].Stacks}) /casting "Hastening of Milyex Rk. III|gem"
downshit1=/if (${Me.Buff[Voice of Perspicacity Rk. III].Duration} < 100 && ${Cast.Ready[Voice of Perspicacity Rk. III|gem] && ${Spell[Voice of Perspicacity Rk. III].Stacks}) /casting "Voice of Perspicacity Rk. III|gem"
downshit2=/if (${Me.Buff[Shield of Order Rk. III].Duration} < 100 && ${Cast.Ready[Shield of Order Rk. III|gem] && ${Spell[Shield of Order Rk. III].Stacks}) /casting "Shield of Order Rk. III|gem"
downshit3=/if (!${Me.Song[Mana Repetition III].ID} && ${Cast.Ready[Mana Repetition Aura Rk. III|gem] && ${Spell[Mana Repetition Aura Rk. III].Stacks}) /casting "Mana Repetition Aura Rk. III|gem"
downflag0=1
downflag1=1
downflag2=1
downflag3=1

1st i would make a global downshitif= to only attempt to cast anything while not invis, when you are standing, immobilized for long enough, not currently moving, and that their is no casting going and that you can cast right now and that you have your 30% mana .... i would not be using ${Me.CombatState.Equal[ACTIVE]} if you are mouted, you can still cast and status will change to RESTING i beleive.

your 3 buffs, should recast when their are not on self or when duraction left is less then 10min (on emu server, u will need to change the 100 for the appropriate value on the live servers.... Im not 100% sure for the stacking parameters Stacks[0] Stacks[20] i really never used that lol but give them a try :)

for Mana Repetition Aura Rk. III ... im not sure, totally a shot in the dark... i assume it will put a songs buff on self named Mana Repetition III ... that last 18secs... and im not ure you need to do a stacking test for that... give them a shoot and let me know! im not playing on live! so can't test any of those!



I'll give this a try. Thanks!!
 
Getting all sorts of unparseable errors and such(


Uparsable in Calculation '$'
Failed to parse /if condition '(NULL <100 && {Cast.Ready[Hastening of Milyex Rk. III|gem13} && TRUE)', non-numeric encountered.

Getting that for all of them essentially. I changed a few things but still I'm lost.)
 
Plugin - MQ2Melee

Users who are viewing this thread

Back
Top