• 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

Question - How do I auto duck for things like the new mission that takes place in Kael?

Infiniteye

BANNED
Joined
Nov 22, 2010
RedCents
104¢
I know there's a way and my buddy was telling me about it, but I have no idea how to set it up, is it done in holy shits? I'm using muleassist ihczerker kiss and mq2heals on my toons as far as macros and plugins go.
 
Easy way is /bcaa //keypress x but your characters can get out of sync so use that key to duck use /bcaa //stand to stand back up
 
you can /keypress duck

you can could do something like /noparse /bcga //if(!$Me.Ducking) /keypress duck
 
The whole group doesn’t have to duck... only the person(s) called out via emote. He needs a trigger to auto duck, imo.
 
The whole group doesn’t have to duck... only the person(s) called out via emote. He needs a trigger to auto duck, imo.
What!? Sounds like a fantastic anti-boxer mechanic.
 
I plan to setup a gina trigger for this -- on a trigger you can copy something to your clipboard. So you would set it up as /bct {A} //keypress X. So each time an emote fires, you just hit your paste combo and you never need to leave your screen. Can probably work out something to stand --- holyshit to auto stand after 10 seconds?

If you have sathir's tomb raid triggers for the clues, you probably have an example there you can go by.
 
you can /keypress duck

you can could do something like /noparse /bcga //if(!$Me.Ducking) /keypress duck

The real issue is Clerics will try to stand up immediately. Try fighting a mob and ducking your toon. I KNOW the cleric will stand up and I think Melee do the same thing when engaged in melee,
 
Couldnt you make this into an Event and have an x second delay?
 
Pause then duck, then unpause when you get the emote all is good. I am wondering if we can use Events to see this emote and then execute both the duck and unduck based on the emotes
 
We need a set of macros to combat all this crap they are putting in to break boxing :) Like a plugin that stores all the stuff for events like this :)
 
Pause then duck, then unpause when you get the emote all is good. I am wondering if we can use Events to see this emote and then execute both the duck and unduck based on the emotes

Wish we could, I have not learned how to use the event thingie yet. I bet it would be powerful.
 
Wish we could, I have not learned how to use the event thingie yet. I bet it would be powerful.
I played around with it for announcing CC, worked pretty good. Does anyone have the exact text for the initial emote and also for the all clear emote x seconds later ?
 
Something like

Code:
#event DuckOn "#*#The ice encrusted Avatar of War shouts that #1# must bend the knee!#*#"
#event DuckOff "#*#The Avatar of War nods, accepting the subservience of those that gave it.#*#"

Sub Event_DuckOn(line, player)
    /if (!${Defined[duckOn]}) /declare duckOn int outer 0
    /if (${player.Equal[${Me.Name}]}) {
        /varset duckOn 1
    }
    
    /if (!${duckOn}) {
        /doevents flush DuckOn
        /return
    }

    /while (${duckOn}) {
        /if (!${Me.Ducking}) /keypress duck
        /delay 1
        /doevents
    }
    /doevents flush DuckOn
/return

Sub Event_DuckOff
    /if (!${Defined[duckOn]}) {
        /declare duckOn int outer 0
    } else {
        /varset duckOn 1
    }   
    /doevents flush DuckOff
/return
 
Last edited:
MQ2Melee could handle this, if MQ2Berserker (and all of Chat’s other plugins??) didn’t auto disable mq2melee. I’d like to try setting up mq2events to deal with it, but haven’t yet.
 
Something like

Code:
#event DuckOn "#*#The ice encrusted Avatar of War shouts that #1# must bend the knee!#*#"
#event DuckOff "#*#The Avatar of War nods, accepting the subservience of those that gave it.#*#"

Sub Event_DuckOn(line, player)
    /if (!${Defined[duckOn]}) /declare duckOn int outer 0
    /if (${player.Equal[${Me.Name}]}) {
        /varset duckOn 1
    }
   
    /if (!${duckOn}) {
        /doevents flush DuckOn
        /return
    }

    /while (${duckOn}) {
        /if (!${Me.Ducking}) /keypress duck
        /delay 1
        /doevents
    }
    /doevents flush DuckOn
/return

Sub Event_DuckOff
    /if (!${Defined[duckOn]}) {
        /declare duckOn int outer 0
    } else {
        /varset duckOn 1
    }  
    /doevents flush DuckOff
/return

Where do I put this, I will be more then happy to test it!
 
create it as a file called "tov.inc" Then in the top of you macros (kissassist.mac usually) where you see other "includes" put in the line:-

#include tov.inc

And that's it. At some point I'll try it and debug but that won't be til the new year, because xmas.
 
INI:
[kaelduck]
trigger="The ice encrusted Avatar of War shouts that #1# must bend the knee!"
command=/if (${Me.CleanName.Equal[${EventArg1}]}) /multiline ; /mqp on; /stopcast; /gsay ducking is for living beings; /target ${Me.Name}; /attack off; /timed 20 /keypress duck;
[kaelstand]
trigger="The Avatar of War nods, accepting the subservience of those that gave it."
command=/if (${Me.Ducking}) /multiline ; /stand; /gsay phew still got my head.. checking!; /mqp off;
or no fluff
INI:
[kaelduck]
trigger="The ice encrusted Avatar of War shouts that #1# must bend the knee!"
command=/if (${Me.CleanName.Equal[${EventArg1}]}) /multiline ; /mqp on; /stopcast; /attack off; /timed 20 /keypress duck;
[kaelstand]
trigger="The Avatar of War nods, accepting the subservience of those that gave it."
command=/if (${Me.Ducking}) /multiline ; /stand; /mqp off;
Should work but it doesn't for me, some weird issues my side. Need a hamster to test this on.
 
Last edited:
INI:
[kaelduck]
trigger="The ice encrusted Avatar of War shouts that #1# must bend the knee!"
command=/if (${Me.CleanName.Equal[${EventArg1}]}) /multiline ; /mqp on ;  /stopcast ; /gsay ducking is for living beings ; /target ${Me.Name} ; /attack off ;  /timed 20 /keypress duck
[kaelstand]
trigger="The Avatar of War nods, accepting the subservience of those that gave it."
command=/if (${Me.Ducking}) /multiline ; /stand ; /gsay phew still got my head.. checking! ; /mqp off ;

Should work but it doesn't for me, some weird issues my side. Need a hamster to test this on.


multiline is a lil finnicky.

Code:
/multiline ; /mqp on; /stopcast; /gsay ducking is for living beings; /target ${Me.Name}; /attack off; /timed 20 /keypress duck

After /multiline you need a space before and after ; after that, all lines need to end with ; without a space after the command, and have a space following the use of ;

Your spacing on the above command is all over the place. After /mqp on ; you have two spaces, and there is a space after the mqp on. Same with your /timed command, it has two spaces prior to the command.

Also, you have a lot of fluff in the multiline. That should work provided it gets cleaned up.
 
the /mqp may be needed, since this is a plugin driven event system using the mqp will assist with group members running a macro like KA.
 
Something like

Code:
#event DuckOn "#*#The ice encrusted Avatar of War shouts that #1# must bend the knee!#*#"
#event DuckOff "#*#The Avatar of War nods, accepting the subservience of those that gave it.#*#"

Sub Event_DuckOn(line, player)
    /if (!${Defined[duckOn]}) /declare duckOn int outer 0
    /if (${player.Equal[${Me.Name}]}) {
        /varset duckOn 1
    }
   
    /if (!${duckOn}) {
        /doevents flush DuckOn
        /return
    }

    /while (${duckOn}) {
        /if (!${Me.Ducking}) /keypress duck
        /delay 1
        /doevents
    }
    /doevents flush DuckOn
/return

Sub Event_DuckOff
    /if (!${Defined[duckOn]}) {
        /declare duckOn int outer 0
    } else {
        /varset duckOn 1
    }  
    /doevents flush DuckOff
/return


So my guys ducked but stayed ducked. Thoughts?
 
so the key to this event, in addition to following the emotes, is to go slow dps on the boss and kill adds as they spawn. Adds spawn approximately every 5% and boss has low hp so it's easy to get overrun. However, the boss does an AOE that does 25% damage to all nearby adds. So he helps you, in a way, there's even an achieve for letting the boss kill all of his own adds.
 
For the unducking, I think this should work with only a small change:
Code:
/if (!${duckOn}) {
    /if (${Me.State.NotEqual[STAND]}) /stand
    /doevents flush DuckOn
    /return
}

....


Sub Event_DuckOff
    /if (!${Defined[duckOn]}) {
        /declare duckOn int outer 0
    } else {
        /varset duckOn 0
    } 
    /doevents flush DuckOff
/return


Why not just go the simple route and do this:

Code:
#event DuckOn "#*#The ice encrusted Avatar of War shouts that #1# must bend the knee!#*#"
Sub Event_DuckOn(line, player)
  /if (${player.Equal[${Me.Name}]}) {
    /if (!${Me.Ducking}) /keypress duck
  }
  /doevents flush DuckOn
/return

#event DuckOff "#*#The Avatar of War nods, accepting the subservience of those that gave it.#*#"
Sub Event_DuckOff
  /if (${Me.State.NotEqual[STAND]}) /stand
  /doevents flush DuckOff
/return

Or do the macros/plugins discussed here have a check for invalid combat states and automatically unduck if it is detected, thus forcing a while loop to wait?
 
Last edited:
You're right here. A bit of a copy n paste kind of error. The Duck Off was setting Duck to be on, not off:-

For the unducking, I think this should work with only a small change:
Code:
/if (!${duckOn}) {
    /if (${Me.State.NotEqual[STAND]}) /stand
    /doevents flush DuckOn
    /return
}

....


Sub Event_DuckOff
    /if (!${Defined[duckOn]}) {
        /declare duckOn int outer 0
    } else {
        /varset duckOn 0
    }
    /doevents flush DuckOff
/return


Why not just go the simple route and do this:

Code:
#event DuckOn "#*#The ice encrusted Avatar of War shouts that #1# must bend the knee!#*#"
Sub Event_DuckOn(line, player)
  /if (${player.Equal[${Me.Name}]}) {
    /if (!${Me.Ducking}) /keypress duck
  }
  /doevents flush DuckOn
/return

#event DuckOff "#*#The Avatar of War nods, accepting the subservience of those that gave it.#*#"
Sub Event_DuckOff
  /if (${Me.State.NotEqual[STAND]}) /stand
  /doevents flush DuckOff
/return

Or do the macros/plugins discussed here have a check for invalid combat states and automatically unduck if it is detected, thus forcing a while loop to wait?

For the simple route you suggest I don't think it would work, I suspect most macro's will un-duck you to cast spells etc as soon as you exit the DuckOn sub routine. So you'd probably duck, then unduck almost immediately, hence why the loop.

So for copy and paste-ability:-

Code:
#event DuckOn "#*#The ice encrusted Avatar of War shouts that #1# must bend the knee!#*#"
#event DuckOff "#*#The Avatar of War nods, accepting the subservience of those that gave it.#*#"

Sub Event_DuckOn(line, player)
    /if (!${Defined[duckOn]}) /declare duckOn int outer 0
    /if (${player.Equal[${Me.Name}]}) {
        /varset duckOn 1
    }
  
    /if (!${duckOn}) {
        /doevents flush DuckOn
        /return
    }

    /while (${duckOn}) {
        /if (!${Me.Ducking}) /keypress duck
        /delay 1
        /doevents
    }
    /if (${Me.State.NotEqual[STAND]}) /stand
    /doevents flush DuckOn
/return

Sub Event_DuckOff
    /if (!${Defined[duckOn]}) {
        /declare duckOn int outer 0
    } else {
        /varset duckOn 0
    } 
    /doevents flush DuckOff
/return
 
Last edited:
Interim solution whilst you guys create the real deal😊

I set up 5 hotkeys for my toons that I control from my main;

Kissassist toons:

/bct (name) //mqp
/bct (name) //keypress ESC
/bct (name) //keypress D [or whatever duck key you have assigned]

Press key again when safe after successful emote.

MQ2 berserker - make sure auto stand on duck is switched off!

/bct (name) //Zerk mode 0
/bct (name) //keypress ESC
/bct (name) //keypress D [or whatever duck key you have assigned]

Press key again when safe after successful emote and then use /bct (name) //zerk mode 1 key to ré-engage!

Good luck!
 
Question - How do I auto duck for things like the new mission that takes place in Kael?

Users who are viewing this thread

Back
Top
Cart