• 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

Tip - MQ2 React Collection

  • Thread starter Thread starter drwhomphd
  • Anyone can edit the first post of this thread WikiPost WikiPost
  • Start date Start date
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
Maybe revive merc if its possible? Anyone?

and this one

keeps going forever since it does not put it in inventory. Maybe an easy fix though?

This one I would like to fire if Im fighting a Named.


Thanks in advance!

So locally I've fixed mine up a bit, just haven't updated it here. Now given I use mq2autoloot I get a pretty regular /autoinv anyway so I didn't notice it too badly. This trick with /timed could work with any summon item thing as I have it on huntsman's quiver too.

action: /multiline ; /useitem Fresh Cookie Dispenser; /timed 4 /autoinv
 
Try this one. (This will also check to see if the named is above 40% so you don’t blow it if it refreshes mid-fight. Remove that if you don’t want it, or alter to any % that you want.

Glyph of Dragon Scales: action: /alt act 5104 condition: >- ${Me.AAPoints} > 200 && ${Target.Named} && ${Target.PctHPs}>40 && ${Me.AltAbilityReady[Glyph of Dragon Scales (115+)]}
 
Try this one. (This will also check to see if the named is above 40% so you don’t blow it if it refreshes mid-fight. Remove that if you don’t want it, or alter to any % that you want.

Glyph of Dragon Scales: action: /alt act 5104 condition: >- ${Me.AAPoints} > 200 && ${Target.Named} && ${Target.PctHPs}>40 && ${Me.AltAbilityReady[Glyph of Dragon Scales (115+)]}
btw, do these fire when not fighting?
 
So locally I've fixed mine up a bit, just haven't updated it here. Now given I use mq2autoloot I get a pretty regular /autoinv anyway so I didn't notice it too badly. This trick with /timed could work with any summon item thing as I have it on huntsman's quiver too.

action: /multiline ; /useitem Fresh Cookie Dispenser; /timed 4 /autoinv
Thanks, trying that one now
 
Try this one. (This will also check to see if the named is above 40% so you don’t blow it if it refreshes mid-fight. Remove that if you don’t want it, or alter to any % that you want.

Glyph of Dragon Scales: action: /alt act 5104 condition: >- ${Me.AAPoints} > 200 && ${Target.Named} && ${Target.PctHPs}>40 && ${Me.AltAbilityReady[Glyph of Dragon Scales (115+)]}
thanks!
 
Here is one for reviving dead mercs, trying it atm

ReviveMerc:
action: /notify MMGW_ManageWnd MMGW_SuspendButton LeftMouseUp
condition: "${Window[MMGW_ManageWnd].Child[MMGW_SuspendButton].Enabled} && ${Mercenary.State.Equal[DEAD]}"
 
SitToMed:
action: /sit
condition: >-
${Me.PctMana}<95 && !${Stick.Active} && !${Navigation.Active}
&& !${Me.Sitting} && !${Me.Moving} && ${Me.PctHPs} > 75
 
Healcheck:
action: /stopcast
condition: >-
${Spell[${Me.Casting}].Category.Equal[Heals]} && ${Target.PctHPs}
> 80 && ${Me.CastTimeLeft.Raw} < 1500
&& !${Spell[${Me.Casting}].Name.Equal[Counteract Disease]}

Note, alot of clickies count as heals (Kithar's disease treatment is above) so will need to add exceptions as they come up.

This will "smartheal". the "1500" needs to be changed based on your latency, you may need to move higher or lower. If you are casting a heal, and the targets hp is over 80, with less than 1.5 seconds left it will cancel via /stopcast.
This overcomes EQ's in-game inability to have a social with ' /stopcast ' be used via keypresses and allows you to have your bots automatically smart heal.
 
I see that && (AND) can be used in conditions but can || (OR) be used? If not is there any way to approximate an OR statement? If no to that is there a way to isolate non-combat zones only so that things will only happen or not happen when in a non-combat zone?
 
you can use || as OR, i have this one for auto using a celestial heal pot based on target name:

[CODE lang="yaml" title="Dragonheal"]
DragonHeal:
action: /useitem Distillate of Celestial Healing VI
condition: >-
${Target.CleanName.Equal[Lord Nagafen]} || ${Target.CleanName.Equal[Lady
Vox]} || ${Target.CleanName.Equal[Overseer of Air]} || ${Target.CleanName.Equal[The
Hand of Veeshan]} && ${Me.PctHPs} <= 60 && ${FindItemCount[=Distillate
of Celestial Healing VI]} > 0 [/CODE]
 
you can use || as OR, i have this one for auto using a celestial heal pot based on target name:

[CODE lang="yaml" title="Dragonheal"]
DragonHeal:
action: /useitem Distillate of Celestial Healing VI
condition: >-
${Target.CleanName.Equal[Lord Nagafen]} || ${Target.CleanName.Equal[Lady
Vox]} || ${Target.CleanName.Equal[Overseer of Air]} || ${Target.CleanName.Equal[The
Hand of Veeshan]} && ${Me.PctHPs} <= 60 && ${FindItemCount[=Distillate
of Celestial Healing VI]} > 0 [/CODE]
Ok, just wanted to make sure it worked before I added it and went crazy bug checking :)
 
I'd suggest reading @ChatWithThisName's guide to conditions: https://www.redguides.com/community/resources/conditions-and-you-coding-tutorial-information.219/

Reacts can be thought of like the following:
- MQ2 React conditions are the thing you would put between the parenthesis in an if statement
- MQ2 React actions are the thing you would put after the parenthesis in an if statement

For example, the following would work in a hotkey or macro though would be rather pointless:
/if (${React.Condition[MySillyReact]}) ${React.Action[MySillyReact]}

[The following example is to help provide an intuition on reacts for those familiar with mq2melee -- in no way is any of this valid syntax for any config file]
If you were to view a react in the same syntax as a downshit or holyshit in mq2melee it'd be similar too:
MySillyReact=/if (<condition>) <action>
 
did this to summon cookies

action: /multiline ; /timed 40 /autoinv ; /useitem Fresh Cookie Dispenser
condition: >-
${FindItemCount[=Fresh Cookie]} < 2 && ${FindItem[=Fresh Cookie Dispenser].Timer}==0
&& !${Me.Invis} && !${Me.Sitting}
 
Last edited:
INI:
WarEpic:
    action: /useitem Kreljnok's Sword of Eternal Power
    condition: >-
      ${Me.CombatState.Equal[COMBAT]} && ${Cast.Ready[Kreljnok's Sword of Eternal Power]} && ${Target.Named}

says invalid quote line 106
thats the action line
tried with /useitem "Kreljnok's Sword of Eternal Power"
actually, I cant activate the Sword with /useitem
nothing happens

with other items I can use partial name
so even /useitem Kreljnok should work, right?

any ideas?
 
"/useitem Kreljnok's Sword of Eternal Power"

Should work. I believe YAML requires you to quote the full line.
ok, the thing is
/useitem Kreljnok's Sword of Eternal Power
does not work Ingame
/useitem "Kreljnok's Sword of Eternal Power"
work Ingame

so I would need double ""?
"/useitem "Kreljnok's Sword of Eternal Power""
 
You could try something like /useitem ${FindItem[=Kreljnok's Sword of Eternal Power].ItemSlot} ${FindItem[=Kreljnok's Sword of Eternal Power].ItemSlot2}

Then you could use the epic and keep the ornamentation? It's a pretty sweet ornament to keep!
 
Did a lazy one for the BP
INI:
ClickBP:
    action: "/useitem ${InvSlot[Chest].Item.Name}"
    condition: "${Me.CombatState.Equal[COMBAT]} && ${Target.Named} && ${Cast.Ready[${InvSlot[Chest].Item.Name}]}"
 
I'm having issues with getting the Monk epic Celestial Fists to work, I've tried /useitem Celestial Fists, /useitem 12 for hand slot, various ones like the one above and nothing seems to work. I've checked the condition to fire it works with other items like journeyman's boots etc and even did a yaml with just that one react and the condition to not be invisible only and I still can't get it to work.

This is the current one I have:

YAML:
  Tranq:
    action: "/useitem ${InvSlot[Hands].Item.Name}"
    condtition: "!${Me.Invis} "

or:

YAML:
  Tranq:
    action: /useitem Celestial Fists
    condtition: "!${Me.Invis} "

I guess I'm doing something wrong somewhere, but no idea what :)


/useitem Celestial Fists or /useitem 12 works in game too.
 
I'm having issues with getting the Monk epic Celestial Fists to work, I've tried /useitem Celestial Fists, /useitem 12 for hand slot, various ones like the one above and nothing seems to work. I've checked the condition to fire it works with other items like journeyman's boots etc and even did a yaml with just that one react and the condition to not be invisible only and I still can't get it to work.

This is the current one I have:

YAML:
  Tranq:
    action: "/useitem ${InvSlot[Hands].Item.Name}"
    condtition: "!${Me.Invis} "

or:

YAML:
  Tranq:
    action: /useitem Celestial Fists
    condtition: "!${Me.Invis} "

I guess I'm doing something wrong somewhere, but no idea what :)


/useitem Celestial Fists or /useitem 12 works in game too.
Have you enabled it on your char, up top?
 
This works for me:
YAML:
  Fist: 
    action: /useitem Celestial Fists
    condition: >-
      !${Me.Buff[Celestial Tranquility].ID} && ${Spell[Celestial Tranquility].Stacks}
      && ${Me.CombatState.Equal[COMBAT]}
 
That worked, thanks! Guessing it was the stacking thing that was causing my issue, knew I'd be doing something wrong :)
 
Last edited:
The Ranger cloak one was spamming it; I fixed it!

DoHaste: action: /cast Dark Cloak of the Sky condition: "${Spell[Haste].Stacks} && !${Me.Song[Haste].ID} && ${React.Global[NotCasting]}"

It was looking for !${Me.Buff[Haste].ID} but it's in the song window.
 
[CODE lang="yaml" title="PocketFarm"] Dagger:
action: /bandolier activate Dagger
condition: >-
${Macro.Name.Equal[pocketfarm.mac]} && (!${Me.Buff[Greater Wolf Form].ID}
|| ${Me.Buff[Greater Wolf Form].Duration.TotalSeconds} < 300) &&
${InvSlot[Mainhand].Item.Name.NotEqual[Lupine Dagger]}
Swords:
action: /bandolier activate Epics
condition: >-
${Macro.Name.Equal[pocketfarm.mac]} && (${Me.Buff[Greater Wolf Form].Duration.TotalSeconds}
>= 300) && ${InvSlot[Mainhand].Item.Name.NotEqual[Earthcaller]}[/CODE]

I use this zipping around farming things with pocketfarm. It checks to see if you've got the Lupine Dagger proc on (or less than 5 minutes remaining) and switches to a bandolier set to put it in primary for the next few kills until it procs. Then, it switches back to my primary weapon until it's time to switch back.
 
Wanted to max out tracking on my bard.

INI:
Tracking:
    action: /doability Tracking
    condition: "${Me.Skill[Tracking]} < ${Me.SkillCap[Tracking]} && ${Me.AbilityReady[Tracking]}"
 
This is what I'm using on the Rizlona server. I went ahead and included all the disease and poison thing's I'd want auto cured upto Luclin. I have both potions and Shield of the Immaculate since only my melee have SotIs.

[CODE lang="yaml" title="YAML"]
reacts:
CompleteHealcheck:
action: /stopcast
condition: >-
${Cast.Effect.Name.Equal[Complete Heal]} && ${Target.PctHPs} > 80
&& ${Me.CastTimeLeft.Raw} < 2200
DiseasePotion:
action: "/useitem Kithar's Disease Treatment"
condition: >-
${Me.Buff[Diseased Cloud].ID} || ${Me.Buff[Rotting Flesh].ID} || ${Me.Buff[Grip of Mori].ID}
|| ${Me.Buff[Putrefy Flesh].ID} || ${Me.Buff[Breath of Rhag'Mozdezh].ID}
DoMend:
action: /doab Mend
condition: ${Me.PctHPs}<70 && ${Me.CombatState.Equal[COMBAT]}
FastHealcheck:
action: /stopcast
condition: >-
${Cast.Effect.Name.Equal[Superior Healing]} && ${Target.PctHPs} >
92 && ${Me.CastTimeLeft.Raw} < 1300
JBoots:
action: "/useitem Journeyman's Boots"
condition: >-
!${Me.Buff[Journeyman Boots].ID} && ${Spell[Journeyman Boots].Stacks}
&& !${Me.Invis} && !${Me.Sitting}
MainHealcheck:
action: /stopcast
condition: >-
${Cast.Effect.Name.Equal[Divine Light]} && ${Target.PctHPs} > 86
&& ${Me.CastTimeLeft.Raw} < 1300
MonkEpic:
action: /useitem Celestial Fists
condition: >-
!${Me.Buff[Celestial Tranquility].ID} && ${Spell[Celestial Tranquility].Stacks}
&& !${Me.Invis} && !${Me.Sitting} && ${Me.CombatState.Equal[COMBAT]}
PoisonPotion:
action: "/useitem Ethira's Poison Antidote"
condition: >-
${Me.Buff[Poison Breath].ID}
PotHeal:
action: /useitem Distillate of Celestial Healing IX
condition: ${Me.PctHPs}<50 && ${Me.CombatState.Equal[COMBAT]}
SitToMed:
action: /sit
condition: >-
${Me.PctMana}<90 && !${Stick.Active} && !${Navigation.Active} &&
!${Me.Sitting} && !${Me.Moving} && ${Me.PctHPs} > 85
SotI:
action: /useitem Shield of the Immaculate
condition: >-
${Me.Buff[Rotting Flesh].ID} || ${Me.Buff[Diseased Cloud].ID} ||
${Me.Buff[Languid Pace].ID} || ${Me.Buff[Tepid Deeds].ID} || ${Me.Buff[Shiftless
Deeds].ID} || ${Me.Buff[Forlorn Deeds].ID} || ${Me.Buff[Rabies].ID}
|| ${Me.Buff[Strong Disease].ID} || ${Me.Buff[Sicken].ID} || ${Me.Buff[Infectious
Cloud].ID} || ${Me.Buff[Insidious Fever].ID} || ${Me.Buff[Affliction].ID}
|| ${Me.Buff[Scourge].ID} || ${Me.Buff[Insidious Malady].ID} || ${Me.Buff[Plague].ID}
|| ${Me.Buff[Drowsy].ID} || ${Me.Buff[Walking Sleep].ID} || ${Me.Buff[Tagar's
Insects].ID} || ${Me.Buff[Togor's Insects].ID} || ${Me.Buff[Turgur's
Insects].ID} || ${Me.Buff[Insidious Decay].ID} || ${Me.Buff[Tigir's
Insects].ID} || ${Me.Buff[Pox of Bertoxxulous].ID} || ${Me.Buff[Plague
of Insects].ID} || ${Me.Buff[Disease Cloud].ID} || ${Me.Buff[Asystole].ID}
|| ${Me.Buff[Cessation of Cor].ID} || ${Me.Buff[Grip of Mori].ID} ||
${Me.Buff[Putrefy Flesh].ID} || ${Me.Buff[Ancient Breath].ID} ||
${Me.Buff[Mind Flay].ID} || ${Me.Buff[Breath of Rhag'Mozdezh].ID}[/CODE]
 
Last edited:
Been using this plugin a lot on the tlp to fill in gaps where macros/plugins are falling short. Please let me know is there is anything that could be improved.

[CODE lang="ini" title="MQ2React"]globals:
BH: Complete Heal
BHP: 70
Cling: 40
NH: Healing Light
NHP: 80
NotCasting: "!${Me.Casting.ID}"
QH: Superior Healing
QHP: 80
Tank: "${Group.Member[0].MainTank}"
reacts:
BHeal:
action: >-
/multiline ; /g Canceling ${React.Global[BH]} on ${Target.Name},
Not Enough Missing HPs ; /stopcast
condition: >-
${Cast.Effect.Name.Equal[${React.Global[BH]}]} && ${Target.PctHPs}
> ${React.Global[BHP]}
DoHaste:
action: /useitem Dark Cloak of the Sky
condition: >-
${Spell[Haste].Stacks} && !${Me.Song[Haste].ID} && ${React.Global[NotCasting]}
&& ${Me.CombatState.Equal[COMBAT]}
Jboots:
action: "/useitem Journeyman's Boots"
condition: >-
!${Me.Buff[Journeyman Boots].ID} && ${Spell[Journeyman Boots].Stacks}
&& !${Me.Invis}
Junk:
action: "/useitem Journeyman's Boots"
condition: >-
!${Me.Buff[Journeyman Boots].ID} && ${Spell[Journeyman Boots].Stacks}
&& !${Me.Invis} && (!${Me.Buff[1].ID} || !${Me.Buff[2].ID})
NHeal:
action: >-
/multiline ; /g Canceling ${React.Global[NH]} on ${Target.Name},
Not Enough Missing HPs ; /stopcast
condition: >-
${Cast.Effect.Name.Equal[${React.Global[NH]}]} && ${Target.PctHPs}
> ${React.Global[NHP]}
QHeal:
action: >-
/multiline ; /g Canceling ${React.Global[QH]} on ${Target.Name},
Not Enough Missing HPs ; /stopcast
condition: >-
${Cast.Effect.Name.Equal[${React.Global[QH]}]} && ${Target.PctHPs}
> ${React.Global[QHP]}
RNGSnare:
action: /cast Ensnare
condition: >-
${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
&& ${React.Global[NotCasting]} && ${React.Global[Tank]} && (${Target.PctHPs}
> 75) && ${Target.Type.Equal[NPC]} && ${Me.SpellReady[Ensnare]}
RNGSnare2:
action: /cast Ensnare
condition: >-
${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
&& ${React.Global[NotCasting]} && ${React.Global[Tank]} && (${Target.PctHPs}
< 75) && (${Target.BuffDuration[Ensnare].TotalSeconds} < 760) &&
${Target.Type.Equal[NPC]} && ${Me.SpellReady[Ensnare]}
RNGSnare3:
action: /cast Ensnare
condition: >-
${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
&& ${React.Global[NotCasting]} && ${React.Global[Tank]} && ${Target.Type.Equal[NPC]}
&& !${Me.AbilityReady[Taunt]} && ${Me.TargetOfTarget.ID}!=${Me.ID}
&& ${Me.SpellReady[Ensnare]}
Rot:
action: "/useitem Kithar's Disease Treatment"
condition: "${Me.Buff[Rotting Flesh].ID} && ${React.Global[NotCasting]}"
SHDSnare:
action: /cast Clinging Darkness
condition: >-
${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
&& ${React.Global[NotCasting]} && ${React.Global[Tank]} && (${Target.PctHPs}
> 75) && ${Target.Type.Equal[NPC]} && ${Me.SpellReady[Clinging Darkness]}
SHDSnare2:
action: /cast Clinging Darkness
condition: >-
${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
&& ${React.Global[NotCasting]} && ${React.Global[Tank]} && (${Target.PctHPs}
< 75) && (${Target.BuffDuration[Clinging Darkness].TotalSeconds}
< 35) && ${Target.Type.Equal[NPC]} && ${Me.SpellReady[Clinging Darkness]}
SHDSnare3:
action: /cast Clinging Darkness
condition: >-
${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && !${Me.Moving}
&& ${React.Global[NotCasting]} && ${React.Global[Tank]} && ${Target.Type.Equal[NPC]}
&& !${Me.AbilityReady[Taunt]} && ${Me.TargetOfTarget.ID}!=${Me.ID}
&& ${Me.SpellReady[Clinging Darkness]}
Sit:
action: "/multiline ; /g I am sitting now! ; /sit"
condition: >-
${Me.PctMana} <= 90 && ${Me.CombatState.Equal[COMBAT]} && ${Me.Standing}
&& !${Me.Moving} && ${React.Global[NotCasting]}
Taunt:
action: /doability Taunt
condition: >-
${Me.CombatState.Equal[COMBAT]} && ${Me.Standing} && ${React.Global[NotCasting]}
&& ${React.Global[Tank]} && ${Me.TargetOfTarget.ID}!=${Me.ID} &&
${Target.Type.Equal[NPC]}[/CODE]
 
[CODE lang="ini" title="MQ2Events"]|Tired of pesky dragons making your melee run everywhere? Try this!
[DragonFearMelee]
trigger=You are no longer afraid.
command=/nav target

|This one requires you to set a return point "fear" beforehand on the caster class, by typing /nav rwp "fear"
[DragonFearCaster]
trigger=You are no longer afraid.
command=/nav wp fear[/CODE]
 
[CODE lang="yaml" title="YAML"]
globals:
NotCasting: "!${Me.Casting.ID}"

reacts:
ShieldCure:
action: >-
/multiline ; /g Curing myself; /useitem Shield of Immaculate Light;
/useitem Cleansing Rod; /useitem Shield of the Immaculate;
condition: >-
${React.Global[NotCasting]} && ${Me.Diseased.ID} && (${Me.ItemReady[Cleansing
Rod]} || ${Me.ItemReady[Shield of the Immaculate]} || ${Me.ItemReady[Shield
of Immaculate Light]})
[/code]

To cure restless ice infection in double time. You could remove some of the items if you want but I like them in there :D
PS: If playing with others that mind mq2 take the /g Curing myself out, dead giveaway that there is automation.
 
Last edited:
can anyone see an error:

[CODE lang="yaml" title="Thwart"]
Thwart:
action: /disc ${Spell[Thwart].RankName}
condition: "${Me.CombatAbilityReady[${Spell[Thwart].RankName}]} && ${Me.CombatState.Equal[COMBAT]}"
[/CODE]

attempted to create my first condition mixing snippets from here
 
You don't need the quotes though they shouldn't hurt.
Code:
    Thwart:
      action: /disc ${Spell[Thwart].RankName}
      condition: ${Me.CombatAbilityReady[${Spell[Thwart].RankName}]} && ${Me.CombatState.Equal[COMBAT]}
 
Thanks, this question brought me to the point, that I wanted to start from scratch.

So I took the yaml from the very first post and cleared my "MQ2React.yaml" and pasted the code into it.
the command: "/react list" after logging the char in after modification done brought me to a client crash.

Next step:
I cleared my "MQ2React.yaml" completely, logged in my char and issued "/react save"
the result was
[CODE lang="yaml"]Server:
CharName:
ExampleReact: disabled
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]}"[/CODE]

the command "/react list"showed:
[CODE lang="yaml"]
ExampleReact
[/CODE]

this seemed working as expected

my conclusion:
the sample code in the very first post might have some issue

___________________________________________________________________________________________________________

Fast-Forward ... I played around with some snippets, including mine

[CODE lang="yaml"]Server:
CharName:
CeriseBlade: enabled
EtherealArrows: enabled
ExampleReact: disabled
Thwart: enabled
globals:
GlobalExample: "${Me.CombatState.NotEqual[COMBAT]} && ${Me.PctHPs} <= 25"
reacts:
CeriseBlade:
action: /disc Cerise Blade
condition: >-
${Me.CombatAbilityReady[${Spell[Cerise Blade].RankName}]} && ${Me.CombatState.Equal[COMBAT]}
&& ${Target.PctHPs}>50 && ${Target.Named}
EtherealArrows:
action: "/useitem Huntsman's Ethereal Quiver"
condition: >-
${FindItemCount[=Ethereal Arrow]} < 50 && ${FindItemCount[Huntsman's
Ethereal Quiver]} == 1
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]}"
Thwart:
action: "/disc ${Spell[Thwart].RankName}"
condition: "${Me.CombatAbilityReady[${Spell[Thwart].RankName}]} && ${Me.CombatState.Equal[COMBAT]}"
[/CODE]

Those now so far are working as expected.

@Mythas : thanks for pointing me to the fact, that yaml is very whitespace sensitive. Havn't thought to pull me in some errors, just copy-pasting the stuff I found here in the Forum.

I got my starting point and will proceed from here, one react at a time.
Great plugin, and much more responsive than all other stuff I have used so far.
 
Thanks, this question brought me to the point, that I wanted to start from scratch.

So I took the yaml from the very first post and cleared my "MQ2React.yaml" and pasted the code into it.
the command: "/react list" after logging the char in after modification done brought me to a client crash.

Next step:
I cleared my "MQ2React.yaml" completely, logged in my char and issued "/react save"
the result was
[CODE lang="yaml"]Server:
CharName:
ExampleReact: disabled
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]}"[/CODE]

the command "/react list"showed:
[CODE lang="yaml"]
ExampleReact
[/CODE]

this seemed working as expected

my conclusion:
the sample code in the very first post might have some issue

___________________________________________________________________________________________________________

Fast-Forward ... I played around with some snippets, including mine

[CODE lang="yaml"]Server:
CharName:
CeriseBlade: enabled
EtherealArrows: enabled
ExampleReact: disabled
Thwart: enabled
globals:
GlobalExample: "${Me.CombatState.NotEqual[COMBAT]} && ${Me.PctHPs} <= 25"
reacts:
CeriseBlade:
action: /disc Cerise Blade
condition: >-
${Me.CombatAbilityReady[${Spell[Cerise Blade].RankName}]} && ${Me.CombatState.Equal[COMBAT]}
&& ${Target.PctHPs}>50 && ${Target.Named}
EtherealArrows:
action: "/useitem Huntsman's Ethereal Quiver"
condition: >-
${FindItemCount[=Ethereal Arrow]} < 50 && ${FindItemCount[Huntsman's
Ethereal Quiver]} == 1
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]}"
Thwart:
action: "/disc ${Spell[Thwart].RankName}"
condition: "${Me.CombatAbilityReady[${Spell[Thwart].RankName}]} && ${Me.CombatState.Equal[COMBAT]}"
[/CODE]

Those now so far are working as expected.

@Mythas : thanks for pointing me to the fact, that yaml is very whitespace sensitive. Havn't thought to pull me in some errors, just copy-pasting the stuff I found here in the Forum.

I got my starting point and will proceed from here, one react at a time.
Great plugin, and much more responsive than all other stuff I have used so far.
just a heads up on the summon arrows. It will try to summon even if you are running or invis
 
ty @Robban , modified to:

[CODE lang="yaml" title="Arrows"]globals:
GlobalExample: "${Me.CombatState.NotEqual[COMBAT]} && ${Me.PctHPs} <= 25"
IC: "${Me.CombatState.Equal[COMBAT]}"
NIC: "${Me.CombatState.NotEqual[COMBAT]}"
NmoveNinvNsit: "!${Me.Moving} && !${Me.Invis} && !${Me.Sitting}"

EtherealArrows:
action: "/useitem Huntsman's Ethereal Quiver"
condition: >-
${FindItemCount[=Ethereal Arrow]} < 50 && ${FindItemCount[Huntsman's
Ethereal Quiver]} == 1 && ${React.Global[NmoveNinvNsit]}[/CODE]
 
If I understood right, Kissassist doesn't like mq2cast. When starting kissassist, it eveb searches for mq2cast and if active, it will be unloaded.
what would be a working solution for:
action: /cast Zrelik's Recourse
condition: ${Me.SpellReady[Zrelik's Recourse]} && ${React.Global[IC]}"

if I dont want to use anything from mq2Cast? Shall that be the solution without mq2Cast?
globals:
IC: "${Me.CombatState.Equal[COMBAT]}"
NotCasting: "!${Me.Casting.ID}"
ZrelikGem: "8"
OneBelow50: >-
${Group.Member[0].PctHPs} <= 50 || ${Group.Member[1].PctHPs} <= 50
|| ${Group.Member[2].PctHPs} <= 50 || ${Group.Member[3].PctHPs} <=
50 || ${Group.Member[4].PctHPs} <= 50 || ${Group.Member[5].PctHPs}
<= 50

action: /cast ${GemZrelik}
condition: >-
${React.Global[NotCasting]} && ${React.Global[IC]} && ${React.Global[NmoveNinvNsit]}
&& ${React.Global[OneBelow50]} && ${Me.SpellReady[${GemZrelik}}

It doesn't cause any error message.
Is there a better condition for "any groupmember below 50% hp?
 
Tip - MQ2 React Collection

Users who are viewing this thread

Back
Top
Cart