Thought it would be handy to have a tips and tricks thread. I'll post a few things that have made out-of-the-box E3/MQ2 work even better for me. Most of these have come from others in one fashion or another so I can take no credit. The list below works well for me but your mileage may vary. Please post any E3/MQ2 can't-live-without tips or QoL improvements you may have tucked away. Move FWD --> Moves all bots forward a few steps - Caveat - if they're facing your main in a circular direction, they will sort of criss/cross but I still use it a lot. Sometimes just to get unstuck from the pile. Code: /bca //keypress forward hold /pause 5 /bca //keypress forward Press U --> /clickit won't zone you into PoS? Have your bots press 'U' instead. Code: /bca //keypress U Force Loot --> Forces a designated toon to reloot mobs. Someone helped me with this the other day (Thank you!). Code: /bct <toon> //hidecorpses none /pause 5 /tell <toon> loot on MaxMelee --> MaxMelee seems to make bots move all about causing them to fall off stuff or get stuck behind doors etc. I change Melee Distance=MaxMelee to Melee Distance=15 in my BotINIs. Seems to keep them much more tightly grouped. I keep my tanks at 7. Class Command --> When I want a specific class to do something. I add this to macroquest.ini. Code: /bards=/noparse /bcaa //if (${Me.Class.ShortName.Equal[BRD]}) /SomeCommand Pre-Buff --> I usually cast a few buffs before I head out to gather mobs. Sending a tell to a caster or a /bct <toon> //casting... works. But from my bard, I found I wanted a fresh hit of Selos. I also add a jolt of Meyhem and Pious Elixir. I got this from Clippy - it works great - way better than my old method. Add this to your MacroQuest.ini file (where 4 is the spell slot): Code: ; put Selos in gem 4 on all bards and quickly trigger bard speed /bardspeed=/noparse /bcaa //if (${Select[${Me.Class.ShortName},BRD]}) /twist once 4 Create your button (where 9 and 5 are spell slots): Code: /bardspeed /bct <enchanter> //casting "Mayhem" 9 -maxtries|2 -targetid|${Me.ID} /bct <cleric> //casting "Pious Elixir" 5 -maxtries|3 -targetid|${Me.ID} /medon /not|me Corpse looting --> I use a 12-button mouse for lots of button combos. I add 'Z' as the button for 'Cycle through nearest NPCs' and create a hot button called Loot bound to '0'. Makes it easy to check corpses because mouse clicking ain't gonna work with 20 stacked corpses at your feet. Group Leader Commands --> Have all group leaders request a buff. Code: /hocgroups=/noparse /bcaa //if (${Select[${Group.Leader},${Me}]}) /tell toon hoc /vocgroups=/noparse /bcaa //if (${Select[${Group.Leader},${Me}]}) /tell toon voc Bark Control --> Located in e3_Basics.inc in the bark section. Make bark a little less spammy by changing the time limit to a desired number. Default is 15s. Code: /declare retryTimer timer local 15s Stop bots from moving when they bark. I find it isn't usually necessary and it can cause a lot of problems (like porting up to Agnarr). REM out line 200. Code: | -/if (${Target.Distance} > 5) /call MoveToLoc ${Target.Y} ${Target.X} 50 5 Extend Mage Distribute Pet Weapons --> Located in e3_Classes_Magician.inc in the give_PetsWeapons(autoWeap) section. Allow a mage to hand out weapons for a longer period of time. Increase timer in line 67 to desired time - like 1m instead of 10s. Code: /declare retryWeapTimer timer local 1m Over looked commands: /FindMissingItem <item name or link> --> Life saver when trying to key a bot army /FindSlot <SlotName> --> ex /findslot head lists all toons <SlotName> inventory /stick 1 --> on my main tank if I'm fighting a rooted mob /tar id # --> Where # is the corpse ID - easy looting from a stack of corpses Other: Powershell code to check for flag successes. This is now part of PEQ Configurator. 1. Enable EQBCS Logging --> eqbcs2.exe -l EQBCSlog.txt ---> This will output each session to a fresh log (overwrites) 2. Run this PowerShell code to see the flags. Use the folder where eqbcs2.exe lives --> Code: (Get-Content '\\RoF2\E3_RoF2\EQBCSLog.txt' | Where-Object {$_ -match 'flag'}) | Select-Object -Unique or this to count them --> Code: ((Get-Content '\\RoF2\E3_RoF2\EQBCSLog.txt' | Where-Object {$_ -match 'flag'}) | Select-Object -Unique).count /count --> Add this to your Stop and Follow buttons. It's a small, simple addition but makes a world of difference.
Zuboo, Thanks for the /findmissingitem command - I didn't know this one, very useful for Signet checks and the like.
E3 Help a lot tips and tricks in e3 help file like this Code: /tell Cleric AECR (Activates MGB Celestial Regeneration) /tell Druid AESOW (Activates MGB Spirit of Wood) /tell Ranger AEAOH (Activates MGB Auspice of the Hunter) /tell Shaman AEAA (Activates MGB Ancestral Aid) /tell Beastloard AEPOS (Activates MGB Paragon of Spirit) Find item, all bot will look for liked item Code: /fdi
If you want any of these you can just paste them into your MacroQuest.ini Some aliases I've made to help with travel: Code: /levi=/noparse /bcaa //if (!${Me.Levitating}) /bc NOT Levi! /invis=/noparse /bcaa //if (!${Me.Invis}) /bc NOT Invis! Some just to check some buffs: Code: /haveeb=/noparse /bcaa //if (${Me.Buff[Everlasting Breath].Duration.TotalSeconds}<=0) /bc I do not have EB /havehaste=/noparse /bcaa //if (${Me.Buff[Hastening of Salik].Duration.TotalSeconds}<=0 && !${Select[${Me.Class.ShortName},ENC,WIZ,MAG,NEC,CLR,DRU,SHM]}) /bc I do not have Haste /havehoc=/noparse /bcaa //if (${Me.Buff[Hand of Conviction].Duration.TotalSeconds}<=0) /bc I do not have HoC /havevoc=/noparse /bcaa //if (${Me.Buff[Voice of Clairvoyance].Duration.TotalSeconds}<=0 && !${Select[${Me.Class.ShortName},WAR,ROG,MNK,BER]}) /bc I do not have VoC /havewunshi=/noparse /bcaa //if (${Me.Buff[Talisman of Wunshi].Duration.TotalSeconds}<=0 && !${Select[${Me.Class.ShortName},ENC,CLR,MAG,WIZ]}) /bc I do not have Wunshi Similar to your move hotbutton. /ff will make all bots face your target, then you can use /moveit to have them move forward. My /moveit will not move as far as Aliboo's hotkey because he has /pause 5. You cannot use /pause or /delay in an alias. Code: /ff=/noparse /multiline ; /bca //target ID ${Target.ID} ; /bca //face fast /moveit=/multiline ; /bca //keypress up hold ; /bca //keypress up Similar to you press u hotkey: Code: /uall=/bca //keypress u I have not had any luck with the tanking macro included with E3 so I made a ghetto alias: Code: /omicronkill=/multiline ; /bct omicron //keypress ctrl+1 ; /bct omicron //assistme /not|morbo Omicron is my SK and ctrl+1 is my keyboard bound button combo to target the first mob on the extended target window. I can use this alias on my main from anywhere and Omicron will target the first NPC on the extended target window and call everyone except my main (Morbo) to assist. Best loot macro from trpling in this post. and this is the alias I use with it. Code: /lootitem ${target.ID}
Things I would love to know how to do (if there is a way): Send one group in to attack. Mainly for XPing. I use an alias in macroquest.ini for this now but it's clunky and takes 2 or 3 clicks to send them in. Something like this would be nice --> /attackon /group|<groupleader> Send a tell to all group leaders or classes would be great. Something like /bcgl //do this or bca /only|wiz //do that. Something like /bark (not 50x per character like is now) - that captures and logs/verifies flag. Saw a post where someone set their EQBCS window to the exact lines as their number of toons for monitoring. Creative. Ultimately, I need to dig into E3 and MQ2 but the learning curve is kind of steep for me.
I set up channels exactly how Emir says to in this post. This way I can /bct group3 //command. I really only use it for leveling like you are doing now. You can also just make a specific hotkey like /assistme /only|toon1 toon2 toon3 toon4 toon5.......
I have a bard in each group and therefore I make them my group leaders. I made aliases to have them speak in group which can be a nice way to get group buffs on them from their group members. Code: /g2=/bct fubard //g
Oh nice! I've never even considered or tried multiple toons. And the Channels thing? SUPER helpful - 5 stars!
If anyone interested I added this line for all the bots to report me their Level, LvlXP and AAXP in percentage to the hundredth when typing in /exp. Added to the MacroQuest.Ini file. Code: /exp=/noparse /bcaa //bc LVL: ${Me.Level} Lvl EXP: ${Me.PctExp} AA EXP: ${Me.PctAAExp} Or if you're in the game and dont want to log out u can just type in the in-game chat Code: /alias /exp /noparse /bcaa //bc LVL: ${Me.Level} Lvl EXP: ${Me.PctExp} AA EXP: ${Me.PctAAExp}
If anyone interested I added this line for all the bots including the active window to click on the Trade button of the trade window whenever u type /trade. Someone else had posted it before on the forums but when Tackleberry tried it didn't work for them so this is my version of it. Code: /trade=/if (${Window[tradewnd]}) /bcaa //notify tradewnd TRDW_Trade_Button leftmouseup Or if you're in the game and dont want to log out u can just type in the in-game chat Code: /alias /trade /if (${Window[tradewnd]}) /bcaa //notify tradewnd TRDW_Trade_Button leftmouseup
These are some more that I like. Code: /fmo=/bc Follow ${Me.CleanName} uw /only|Me /fmn=/bc Follow ${Me.CleanName} uw /not|Me /only|me and /not|me in these are needed because MQ will auto put a space after your alias and so the syntax here works. Code: /mtmo=/bc Move to ${Me.ID} /only|me /mtmn=/bc Move to ${Me.ID} /not|me Code: /amn=/bc Assist on ${Target.ID} /Not|me /amo=/bc Assist on ${Target.ID} /Only|l The /not|me and /only|l here serve the same purpose as above. With /only|l here it just serves to use for the syntax, because you have no character named "L" (no matter how much you love Death Note) it will simply ignore it. I made these like a week ago and I'm surprised at how much I use them.
This new one I use a lot. After you have summoned your permutation peddler to buy aug solvents it targets it and then right clicks it to open the vendor window. I tried adding in the command to summon the merchant first, but the merchant pops much slower than the alias is completed so it never tergetted or opened the window. Code: /aug=/multiline ; /tar ${Me.CleanName}` ; /click right target