• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Problem - MQ2reacts Help

Myysterio

Myysterio
Creator
Joined
Jun 13, 2020
RedCents
1,761¢
Can anyone tell me what's wrong with this or post a fully functional/verified MQ2reacts file so I can see how it works? I have been trying for about a month to get MQ2reacts to do things like duck during KD HAs or use cure potions and have never even got it to twitch when it's supposed to

[CODE lang="ini" title="Lady of Death MQ2reacts"]globals:
GlobalExample: "${Me.CombatState.NotEqual[COMBAT]} && ${Me.PctHPs} <= 25"
reacts:
ExampleReact:
action: >-
/multiline ; /echo Default Example react Disables itself when you're
at 100%HP and out of Combat ; /delay 5 ; /react disable ExampleReact
condition: "${Me.PctHPs} == 100 && ${Me.CombatState.NotEqual[COMBAT]}"

Server:

Wizard:
WizCurePotion1: Enabled
WizCurePotion2: Enabled
WizCurePotion3: Enabled
Shaman:
ShamCureAA1: Enabled
ShamCureAA2: Enabled
ShamCurePotion1: Enabled
ShamCurePotion2: Enabled
ShamCurePotion3: Enabled
Warrior:
WarrCurePotion1: Enabled
WarrCurePotion2: Enabled
WarrCurePotion3: Enabled
Cleric:
ClericCureAA1: Enabled
ClericCureAA2: Enabled
ClericCurePotion1: Enabled
ClericCurePotion2: Enabled
ClericCurePotion3: Enabled
Mage:
MageCurePotion1: Enabled
MageCurePotion2: Enabled
MageCurePotion3: Enabled
Bard:
BardCurePotion1: Enabled
BardCurePotion2: Enabled
BardCurePotion3: Enabled

Wizard:
WizCurePotion1:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Physicality XIII].ID} || ${Me.Buff[Withering
Physicality XIII].ID}
WizCurePotion2:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Limbs XIII].ID} || ${Me.Buff[Withering Limbs
XIII].ID}
WizCurePotion3:
action: /useitem thepotionname3
condition: >-
${Me.Song[Enfeeblement].ID} && !${Me.Moving} || ${Me.Buff[Enfeeblement].ID}
&& !${Me.Moving}

Shaman:
ShamCureAA1:
action: /alt act 626
condition: >-
${Me.Song[Withering Physicality XIII].ID} && !${Me.Moving} || ${Me.Buff[Withering
Physicality XIII].ID} && !${Me.Moving}
ShamCureAA2:
action: /alt act 626
condition: >-
${Me.Song[Enfeeblement].ID} && !${Me.Moving} || ${Me.Buff[Enfeeblement].ID}
&& !${Me.Moving}
ShamCurePotion1:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Physicality XIII].ID} || ${Me.Buff[Withering
Physicality XIII].ID}
ShamCurePotion2:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Faith XIII].ID} || ${Me.Buff[Withering Faith
XIII].ID}
ShamCurePotion3:
action: /useitem thepotionname3
condition: >-
${Me.Song[Enfeeblement].ID} && !${Me.Moving} || ${Me.Buff[Enfeeblement].ID}
&& !${Me.Moving}

Warrior:
WarrCurePotion1:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Physicality XIII].ID} || ${Me.Buff[Withering
Physicality XIII].ID}
WarrCurePotion2:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Limbs XIII].ID} || ${Me.Buff[Withering Limbs
XIII].ID}
WarrCurePotion3:
action: /useitem thepotionname3
condition: >-
${Me.Song[Enfeeblement].ID} && !${Me.Moving} || ${Me.Buff[Enfeeblement].ID}
&& !${Me.Moving}

Cleric:
ClericCureAA1:
action: /alt act 626
condition: >-
${Me.Song[Withering Physicality XIII].ID} && !${Me.Moving} || ${Me.Buff[Withering
Physicality XIII].ID} && !${Me.Moving}
ClericCureAA2:
action: /alt act 626
condition: >-
${Me.Song[Enfeeblement].ID} && !${Me.Moving} || ${Me.Buff[Enfeeblement].ID}
&& !${Me.Moving}
ClericCurePotion1:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Physicality XIII].ID} || ${Me.Buff[Withering
Physicality XIII].ID}
ClericCurePotion2:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Faith XIII].ID} || ${Me.Buff[Withering Faith
XIII].ID}
ClericCurePotion3:
action: /useitem thepotionname3
condition: >-
${Me.Song[Enfeeblement].ID} && !${Me.Moving} || ${Me.Buff[Enfeeblement].ID}
&& !${Me.Moving}

Mage:
MageCurePotion1:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Physicality XIII].ID} || ${Me.Buff[Withering
Physicality XIII].ID}
MageCurePotion2:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Limbs XIII].ID} || ${Me.Buff[Withering Limbs
XIII].ID}
MageCurePotion3:
action: /useitem thepotionname3
condition: >-
${Me.Song[Enfeeblement].ID} && !${Me.Moving} || ${Me.Buff[Enfeeblement].ID}
&& !${Me.Moving}

Bard:
BardCurePotion1:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Physicality XIII].ID} || ${Me.Buff[Withering
Physicality XIII].ID}
BardCurePotion2:
action: /useitem Distillate of Immunization XIII
condition: >-
${Me.Song[Withering Limbs XIII].ID} || ${Me.Buff[Withering Limbs
XIII].ID}
BardCurePotion3:
action: /useitem thepotionname3
condition: >-
${Me.Song[Enfeeblement].ID} && !${Me.Moving} || ${Me.Buff[Enfeeblement].ID}
&& !${Me.Moving}
[/CODE]
 
If i am not wrong, Mq2react is to react when you are not currently at the wanted state ( ie shrink react when you are not at the wanted size , etc). For the duck thing, you should use mq2events instead, it s based on emote.
And for these reacts, i don 't know if you can cure that buff. Even is old but if i remember well you can't cure it (or not this way at least).
 
If i am not wrong, Mq2react is to react when you are not currently at the wanted state ( ie shrink react when you are not at the wanted size , etc). For the duck thing, you should use mq2events instead, it s based on emote.
And for these reacts, i don 't know if you can cure that buff. Even is old but if i remember well you can't cure it (or not this way at least).
Nobody ever seems to post full file examples of either one of them... awkward.
 
For the duck event, you can have a look at SiC post about the kael HA, he posted them in the thread.
 
For the duck event, you can have a look at SiC post about the kael HA, he posted them in the thread.

If reacts is only for random effects, the boards are rather misleading cause there's instructions on how to set up KD HA in MQ2reacts on this board.
 
Well, perhaps you can, but i think most are using mq2events instead. I may be wrong, but that's how 'i think' these plugins work.
 
does that syntax even parse ? YAML is hyper sensitive to white space, indents and format.

This is an example (pruned) of mine ... it works. ducking is handled by MQ2Events, like the guys above have mentioned. the Yaml is setup with main sections
1. 'globals' -- conditions for reuse in many places
2. 'superset of all reacts' --- some are used by all classes (buying glyphs) , some are used only by specific classes (eg bandolier or selos), but they are all there
3. 'active by character' --- actually by server by character. You could list all reacts and enable or disable the relevant ones, i prefer to just list those 'enabled' by character. Note the name in this sections HAS to match the name in Section 2.

If MQ2React parses correctly, it will reorder the globals, reacts and characters alphabetically.

Code:
globals:
  BRaid: "${Raid.Members}>25"
  Combat: "${Me.CombatState.Equal[COMBAT]} && ${Me.GroupAssistTarget.ID}"
  OOC: >-
    ${Me.CombatState.NotEqual[COMBAT]} && !(${Me.Invis} && ${Me.Invis[UNDEAD]}
    && ${Me.Feigning} && ${Me.Moving} && ${Me.Sitting} && ${Me.Ducking})
reacts:
  Bando1H:
    action: /bandolier activate 1HS
    condition: >-
      !${Me.Bandolier[1HS].Active} && ((${Target.Level}>118 && ${Me.TargetOfTarget.CleanName.Equal[${Me.CleanName}]})
      || ${Me.XTHaterCount}>3 || ${Me.PctHPs}<50 || (${Group.MarkNpc.ID}==${Me.ID}))
  Bando2H:
    action: /bandolier activate 2HS
    condition: >-
      ${Me.Bandolier[1HS].Active} && !((${Target.Level}>118 && ${Me.TargetOfTarget.CleanName.Equal[${Me.CleanName}]})
      || ${Me.XTHaterCount}>3 || ${Me.PctHPs}<50 || (${Group.MarkNpc.ID}==${Me.ID}))
  BuyDestGlpyh:
    action: /alt buy 5304
    condition: >-
      !${AltAbility[Glyph of Dragon Scales (115+)].CanTrain} && ${AltAbility[Glyph
      of Destruction (115+)].CanTrain}
  BuyDragGlpyh:
    action: /alt buy 5104
    condition: "${AltAbility[Glyph of Dragon Scales (115+)].CanTrain}"
  PotAgony:
    action: /useitem Scorpion
    condition: >-
      ${React.Global[OOC]} && ${React.Global[BRaid]} && !${Me.Buff[Resurrection
      Sickness].ID} && ${Me.PctEndurance} > 85 && !${Me.Buff[Scorpion's
      Agony].ID} && ${FindItemCount[=Scorpion's Agony XX]}>0
  PotBite:
    action: "/useitem Spider's Bite XVI"
    condition: >-
      ${React.Global[OOC]} && ${React.Global[BRaid]} && !${Me.Buff[Resurrection
      Sickness].ID} && ${Me.PctEndurance} > 85 && !${Me.Buff[Spider's Bite].ID}
      && ${FindItemCount[=Spider's Bite XVI]}>0
  Selos:
    action: /alt act 3704
    condition: "!(${Me.Invis} || ${Me.Invis[UNDEAD]}) && !${Me.Buff[Selo's Accelerato].ID}"
   
Server:
  AMage01:
    ExampleReact: enabled
  BWarrior01:
    Bando1H: enabled
    Bando2H: enabled
    BuyDestGlpyh: enabled
    BuyDragGlpyh: enabled
    PotAgony: enabled
  CBard01:
    BuyDestGlpyh: enabled
    BuyDragGlpyh: enabled
    PotBite: enabled
    Selos: enabled
 
No clue... not a programmer. I just set it up like I was told and it doesn't work.
the configuration you shared, looks nothing like
(a) the stuff posted in the instructions or the react list in the resource
(b) what i shared above

in short, you've worked out what isn't working. lets try some that do

type
1. /plugin mq2react load
2. /react reload
3. /react list
does it show your list of configured reacts ?
 


Running the following code in my mq2reacts_charname.ini file and it totally didnt do anything other than make it so my toons wouldnt stand up. My shaman was first to get her name called and immediately died.

Also, my bard wont stay standing up and keeps getting killed.

Before you ask, unloaded events before loading it just to be sure.
Turned autostand and autoduck off
All toons running INI excep cleric all on manual mode
cleric running Mq2Cleric

[CODE lang="ini" title="Bard"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /twist off; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]


[CODE lang="ini" title="Shaman (running INI)"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]

[CODE lang="ini" title="Mage"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]

[CODE lang="ini" title="Cleric"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /clr mode 0; /clr autostandonduck off; /clr pause on; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /clr pause off; /keypress DUCK
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /clr mode 2; /clr autostandonduck on[/CODE]

[CODE lang="ini" title="Warrior"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]


[CODE lang="ini" title="Wizard"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]
 
Last edited:
If you run these in mq2react, it s normal that they don't work, it s mq2events syntax.
You should run these in Mq2events' ini files
 
Running the following code in my mq2reacts_charname.ini file and it totally didnt do anything other than make it so my toons wouldnt stand up. My shaman was first to get her name called and immediately died.

Also, my bard wont stay standing up and keeps getting killed.

Before you ask, unloaded events before loading it just to be sure.
Turned autostand and autoduck off
All toons running INI excep cleric all on manual mode
cleric running Mq2Cleric

[CODE lang="ini" title="Bard"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /twist off; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]


[CODE lang="ini" title="Shaman (running INI)"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]

[CODE lang="ini" title="Mage"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]

[CODE lang="ini" title="Cleric"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /clr mode 0; /clr autostandonduck off; /clr pause on; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /clr pause off; /keypress DUCK
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /clr mode 2; /clr autostandonduck on[/CODE]

[CODE lang="ini" title="Warrior"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]


[CODE lang="ini" title="Wizard"][kneel]
trigger=#1#The ice encrusted Avatar of War shouts that |${Me}| must bend the knee!#2#
command=/if (!${Me.Ducking}) /multiline ; /mqp on; /attack off; /target clear; /keypress DUCK
[stand]
trigger=#1#The Avatar of War nods, accepting the subservience of those that gave it#2#
command=/if (${Me.Ducking}) /multiline ; /keypress DUCK; /mqp off
[avatarp2]
trigger=#1#The Avatar of War changes the rules and chooses a new field of battle!#2#
command=/multiline ; /mqp off; /chaseon[/CODE]
just try them somewhere you are alone? dont need to be inthe actual mission to try them. That should show you what its doing or not?
 
For the bard, it seems we all have that problem sometimes.
What do you use on each toon? cwtn plugin? kiss? rg?
 
For the bard, it seems we all have that problem sometimes.
What do you use on each toon? cwtn plugin? kiss? rg?
All toons are kiss except cleric. cleric is mq2cleric

I have good news, i got them the avatar to 60, but failed cause my toons got summoned to the avatar and murdered when he switched. For some reason they work now, but they wont stop dpsing the avatar between fights.
 
I had the same problem when i did it using kiss. I had to make a pause button for them.
The other way is to make a condition on ka, to dps only the add not the avatar.
 
All toons are kiss except cleric. cleric is mq2cleric

I have good news, i got them the avatar to 60, but failed cause my toons got summoned to the avatar and murdered when he switched. For some reason they work now, but they wont stop dpsing the avatar between fights.
Good to hear!
yeah this is what I had problems with too. To much dps on Rallos and not switching to adds fast enough made me have adds faster than I could handle
 
Good to hear!
yeah this is what I had problems with too. To much dps on Rallos and not switching to adds fast enough made me have adds faster than I could handle
Is there an easier way to manage running to the respawn point?

My cleric was the last one named right before the mob teleported and she was in pause mode kneeling when i had to run off
 
I had the same problem when i did it using kiss. I had to make a pause button for them.
The other way is to make a condition on ka, to dps only the add not the avatar.


How do i get toons out of chase mode using the keyboard? They immedately go into chase mode when the mob spawns, but I need them to stop it when we move.
 
Well with kiss, i would say it s not really chase mode, but more assist mode, so they run to the mob your ma have aggro on ie the icebound avatar.
For this ha, you can perhaps set assistat 50 on all, So they won t assist you before mob is at 50%, that should resolve your "chase" issue.
Make a hotkey with eqbc , to force them to assist you on adds. /bcga //attack on
 
Well with kiss, i would say it s not really chase mode, but more assist mode, so they run to the mob your ma have aggro on ie the icebound avatar.
For this ha, you can perhaps set assistat 50 on all, So they won t assist you before mob is at 50%, that should resolve your "chase" issue.
Make a hotkey with eqbc , to force them to assist you on adds. /bcga //attack on

the events thing we were working on does /chaseon command.... that's what i was going off of.
 
Oh you're right. Then you can just remove the P2 part of the event from your ini, and move your toons manually up there. Make a follow hotkey and use it on your driver then you start to move up
 
or try with that:

command=/multiline ; /chaseon; /nav spawn Icebound Avatar of War; /chaseon for your kiss toons.
and
command=/multiline ; /clr mode 0; /nav spawn Icebound Avatar of War; /clr autostandonduck on on your cleric
 
Oh you're right. Then you can just remove the P2 part of the event from your ini, and move your toons manually up there. Make a follow hotkey and use it on your driver then you start to move up
I only have the p2 on my warr, rest is on chase. need the warr to get there first
 
or try with that:

command=/multiline ; /chaseon; /nav spawn Icebound Avatar of War; /chaseon for your kiss toons.
and
command=/multiline ; /clr mode 0; /nav spawn Icebound Avatar of War; /clr autostandonduck on on your cleric


I saw someone who made a nav command for the tank to run up to the respawn point but I am far too tired to look it up. Wasn't sure how that all worked. I will look in the morning.
 
I saw someone who made a nav command for the tank to run up to the respawn point but I am far too tired to look it up. Wasn't sure how that all worked. I will look in the morning.

or try with that:

command=/multiline ; /chaseon; /nav spawn Icebound Avatar of War; /chaseon for your kiss toons.
and
command=/multiline ; /clr mode 0; /nav spawn Icebound Avatar of War; /clr autostandonduck on on your cleric


I see it now :P Was sleepy :D
 
Problem - MQ2reacts Help

Users who are viewing this thread

Back
Top
Cart