MacroQuest

From EZ Server Wiki
Jump to: navigation, search

EZServer is a boxing server. Most people on this server play either 6 or 12 characters. In order to do this efficiently, and without completely losing your mind, you have to use a character management system. Enter MacroQuest.

MacroQuest, along with EQBCServer, allows you to use one character to remotely control all of your other characters. It also allows you to do a few tricks that would not be possible without it. While in general MQ2 is allowed, some specific macro sets are not. The simple rule of thumb is a direct quote from Hateborne:

"If you set it up where the casters continually assist, on their own, which frees you up to make a sandwich, mow the yard, or otherwise step away....THIS IS *NOT* OK! I am ok with a puppetmaster approach where a tank can, like a puppetmaster, pull strings to perform a basic action. The puppetmaster does not have the ability to pull one string to make a puppet dance, shake, follow, and perform autonomously...neither shall you."

Along those same lines using mq2twist is fine for bard songs and epic, but IS NOT usable by other classes to eternally cast heals, debuffs, item clicks, etc.

Installing MacroQuest

1. Download Macroquest. Select "Underfoot" or "ROF2" for client (depending on which client you are using), and "Classic" for build, then click download
2. Extract the files to a new folder under your EverQuest directory (or any location you can remember)
3. Run "MacroQuest2.exe" and "EQBCServer.exe" before launching client

Both programs should automatically detect your running EverQuest programs, so there is no additional setup required.

Additional plugins can be started using "/plugin Name" or by adding them to the .ini file directly. Some of the more useful ones that are included in the RoF2 EzServer Classic download:

    mq2Cast provides information during and after casting a spell, along with some control while casting.
    mq2FPS places your current frames per second, and max frames per second on the screen.
    MQ2ItemDisplay Cleans up the item information window.
    MQ2Map Allows you to hide, show and/or highlist items on the map.
    MQ2Melee Allows the setup of quite a bit for your boxing.  Main uses are the auto stick function for when you tell the alts to attack.
    MQ2MoveUtils Provides the /stick command and /moveto id.
    MQ2NetBots Provides useful information about the other characters connected to EQBC.
    MQ2Targets Allows you to setup notification on spawns.  Much needed starting with Tier 5 (Abyss)
    MQ2AutoLogin Automatically logs in your army of characters.

Uses for MacroQuest

MacroQuest creates items called TLO (Top level objects), these are variables, or just information about things.
These are accessed with ${ }. A great use of them is to check on something really quick.
/echo ${Me.Level}
Will print your level in the macroquest window.
These are useful to see what is going on with your characters at a glance. Some useful ones are
${Target.CleanName} shows your targets clean name.
${Zone.Name} shows what zone you are in.
${Me.Combat} shows if attack is on.

All items that you can interact with in everquest has a ID number. You can access this from macroquest with the ID part of most TLOs.
${Me.ID} will get you your ID
${Target.ID} will give your target's ID
${Me.Pet.ID} will give your pet's ID

Auto Login
To automatically log you into the world. Detailed guide can be found in here

Dynamic Map
MacroQuest populates your map with the location of all NPCs in real time. - you can right click the NPC on the map to target it

Map Commands

  • "/mapshow NPC" - shows ALL NPC's on map
  • "/maphide skele" - hides all NPC's on map with "skele" in their name
  • "/highlight NPC" - highlights the color of all NPC's in zone
  • "/highlight color # # #" - changes the color MQ2 uses to highlight mobs. the 3 numbers will create a color based off of RGB color codes. Some examples are "/highlight color 255 255 255" for white, "/highlight color 0 0 0" for black

Target
"/target NPC" - Targets any NPC in zone
Example: "/target skeleton" - targets the nearest NPC with "skeleton" in its name
"/target ${ME.pet}" - Targets the players pet
"/tar id 123" or "/tar id ${Target.ID}" useful for when you have 12 orcs, this allows you to specify which orc.
"/bca //tar id ${Target.ID}" will send a command to all other characters you have logged in, telling them to target your specific target.
"/rsay the corpse is id: ${Target.ID}" is useful so that you can go to another character and type "/tar id #" and then "/loot" and you will target the correct corpse in the pile and loot it.

Radius
Checking the radius is always a good idea. This will prevent you from telling a character that is too far away to do an action.
Lets say you wish your group to attack the target.
/noparse /bca //if ({${SpawnCount[pc radius 100 warriorsname]}>0) /attack on
This would tell everyone BUT the one issuing the command to turn attack on IF warriorname is within 100 units of them.

Stick

  • This is a MUCH better version of /follow from EQLive.
  • add "uw" after stick to make characters look down when sticking, this helps with water following or levitation (e.g. "/stick uw")
  • add a number after stick to specify the distance to follow (e.g. "/stick 1" -or- "/stick 20")
  • add "behind" to stay behind an NPC (useful for rogues, or to avoid rampage damage) (e.g. "/stick behind")
  • add "moveback" to stay at the set range from an NPC (useful to avoid being so close you can't attack) (e.g. "/stick 20 moveback")
  • Any of the above commands can be combined (e.g. "/stick 15 behind uw")

Moveto
If your target is not going to be moving, another command to use is

  • /moveto id

You can target another character of yours and /moveto id and you will run up to them and stop. You can target a corpse in a pile with /tar id #, then use /moveto id and you will run up to the corpse. The default distance is set to 20, but you can change this with

  • /moveto 5

and that will move you to within 5 of the target.

Sending Commands - EQBC

  • /bcaa //command - Sends a command to all of your characters, INCLUDING the one you are currently on
    • Example: "/bcaa //stick 10" - make ALL of your characters stick to what they are targetting at a distance of 10
  • /bca //command - Sends a command to all of your characters, EXCEPT the one you are currently on
    • Example: "/bca //stick 10" - make all of your OTHER characters stick to what they are targetting at a distance of 10
  • /bct name //command - Sends a command to a specified character
    • Example: "/bct Darpey //stick 10" - makes Darpey stick to what he is targetting, at a distance of 10

Channels in EQBC

  • All people with pets should have pet channel
  • All people with whom you wish to punch with should be in a DPS channel
  • All tanks should be in a tank channel
  • All casters in caster channel
  • All healers in a heal channel

Examples
/bccmd channels tank
/bccmd channels dps pet
/bccmd channels caster pet dps
/bccmd channels tank heal

So, a Beastlord would be in all 3 channels since he both casts, has a pet, and does dps Clerics Paladins and Shaman are in /bccmd channels tank heal because I want them to attack from the beginning and for the occasional heal. If you log out your boxes using camp, they will retain the channels you put them in.

Itemnotify Values.jpg

Nuke:
Now casters are in their own group because I have "/bct casters //keypress 7"

Heal:
"/bct heal //keypress 5"

Cleric could be be '/cast "Word of Vivication"'

For everyone else they all have a heal spell MQ2 Macros Forum Post

Item Notify

  • Clicks a specified item
  • Example: "/itemnotify slotname rightmouseup" - right clicks the specified item


Use Item

  • Clicks a specified item
  • Example: "/useitem slotname (bagslot#(0-9) RoF2 only)" - right clicks the specified item

Twist

  • Allows your bard to continuously sing multiple songs
  • Example: "/bct Bardname //twist 1, 2, 4" - Makes bard sing songs 1, 2 and 4 on his spell gems.
  • Use "/twist off" to stop singing
  • Also can twisting their epic clicky. Edit mq2twist_bardname in your MQ2 folder and replace [Click_10] with following.

[Click_10]
Cast Time=20
ReCast Time=600
Name=Disabled
Slot=mainhand

Then on main toon you can have hotkey: "/bct Bardsname //twist 1 2 3 10"
Number 10 is for the [Click_10] you just did in the mq2twist file.

Multiline

  • Allows you to fit more than one command in one hotbutton line (as long as it doesn't extend beyond the frame)
  • Example: "/multiline ; /bca //stick 10 behind ; /stick 10" - Makes all OTHER characters stick behind, and your main character stick in front.

Filtering

  • Allows you to filter what shows in your chat box. You can add an asterisk before the text to act as a wild card, otherwise it will only filter lines which begin with what you type. Wild cards will be filtered if they pop up anywhere in a certain line.
  • Example: "/filter name add *begins to glow" - Filters out all messages about glowing items from focus effects. The * is only needed before the filter, and is assumed after it
  • Example: "/filter name add You strike through" - Filters out all messages about striking through your opponents defenses. It doesn't need a wild card because it is the start of the text.
  • Some popular wild card filters for EZ: *begins to glow (charm focus effect), *has died (NPC death), *beams a smile (lifetap emote), *is struck by a cyclone (every warrior epic), *glows blue (more charm spam), *has been slain by (NPC death), *contorts with rage (Warrior Anger proc), *your wounds close (Druid Skin proc)
  • Some popular standard filters for EZ: You have slain (NPC death), You strike through (in-game filter doesn't work for this), You resist the (Resist messages), Your faction standing with (faction messages)

Self Buffing Your Own Group (This will allow you to have your boxes Target their pets (if they have them) and buff themselves.)

  • Line One: "/bca //useitem slotname (bagslot#(0-9) RoF2 only)"
  • Line Two: "/noparse /bca //target ID ${Me.Pet.ID}" - /noparse is a must at the beginning because if it's not there, your boxes will try to target your Main Box's Pet.
  • Line Three: "/bca //say buffs" - This will buff each of your boxed characters with their clicky pets from your main box (Caster's Guild Quest Flag required).

Hide Corpse (not MacroQuest, but still useful)

  • /hidecorpse looted (hides corpse after it has been inspected)
  • /hidecorpse all (hides all corpses in zone other than your own)
  • /hidecorpse off (makes all corpses in zone visible)

Hotbutton Examples

Assist
/bca //target id ${Target.ID}
/bca //stick 15 uw behind
/stick 10
/bcaa //attack on
/bcaa //pet attack

Follow
/bca //target id ${ME.ID}
/bca //stick 10

Gate to Nexus
/bcaa //itemnotify 19 rightmouseup

Loot Corpse
/target corpse
/stick 1
/loot

Make Alt Loot Corpse (Alt targets corpse that you are currently on, waits 2 seconds for you to get off corpse, then loots all of corpse's contents)
/bct Brotedo //target id ${Target.ID}
/bct Brotedo //stick 1
/pause 20
/bct Brotedo //lootall

Alt Nuke Target
/bct Wizardname //target id ${Target.ID}
/bct Wizardname //cast 2 -maxtries|4

Alt Cast Spell on Target
/bct Toonname //target id ${Target.ID}
/bct Toonname //casting (spell ID number)
( e.g. /bct Aamadex //casting 125262 )

Force Boxes to Only Render UI (Reduces Lag)
/bca //viewport 1 1 1 1

Render Reset (see above)
/bca //viewport reset

Optimizing Everquest

 While macroquest is a great tool for playing multiple characters on one computer at the same time, there are some things to know and keep in mind to make your game play as enjoyable as possible.
 Some things can be accomplished locally to your computer without having to send a command to the server and get a response back.  An example of this is during combat.
Lets say you just pulled 4 orcs, and you have got them back to camp and the army is going to pounce. You could make a hotbar social that reads: /bca //assist maintank /pause 5 /bca //stick 10 behind uw /bca //attack on While this works and works rather well, what happens is, you send a command from maintank to the eqbc, which in turn sends that command to all other characters you have logged in. Now each character on it's own does a /assist maintank. This /assist maintank has your eq client send a command to the server and asks it, "who is maintank targeting?" then it waits for a response. Once it gets the answer from the server, the client then targets the maintanks target and turns attack on.
To remove the request from the server and the wait for the answer, with macrquest you can do the following. /bca //tar id ${Target.ID} /pause 2 /bca //stick 10 behind uw /bca //attack on In this example, maintank issues a command to eqbc, which in turn sends that command to all other characters you have logged in. Now each character on it's own does a /tar id #. Instantly everyone is targeting the right npc. No request of ezserver, no wait.