MacroQuest

From the wonderful RedGuides Wiki
MacroQuest
MacroQuest logo.png
A platform for customization and automation of EverQuest
View details
Authors Plazmic, eqmule, brainiac, rswiders, Lax, ieatacid, dont_know_at_all, Amadeus, dannuic, alynel, Knightly, ChatWithThisName, Sic, Xeniaz, htw
Software type Core
Config file MacroQuest.ini


Maintained Yes and supported
Links

🏠Resource (download) (review)
🥤Quick start •🤝Support •🛠️Repository

MacroQuest is an open source platform for customization, enhancement, and automation of EverQuest. It's been modified for use on both official and emulated servers.

The project has gone through three major phases in its history: MacroQuest in 2002, led by Plazmic, which was announced in a forum thread that received no replies. Its popularity grew upon release, and began the era of the custom macroscript. MacroQuest 2 in 2004, led by Lax, a near complete rewrite that began the era of C++ plugins. And MacroQuest in 2021, led by brainiac, dannuic and Knightly, which brought an even larger rewrite that began the era of Lua scripts.

On RedGuides, MacroQuest is released as "Very Vanilla", with a focus on multi-boxing and automated assistance. Certain plugins deemed harmful are restricted, and the software is disabled entirely on "Truebox" servers.

MacroQuest can be built from source either by using the MacroQuest or OpenVanilla repository.

The official documentation for MacroQuest can be found at docs.macroquest.org

Commands

Syntax Description
/aa { list (all | timers)] | [info <abilityname>] | [act <abilityname> } Used to retrieve information on AA Abilities, or to activate an AA ability.
/advloot {personal | shared} {setallto | <item>} <loot option> [<quantity>] "/advloot" by itself will toggle the Advanced Loot window. It can also set loot options for all items in the personal or shared advanced loot window. MacroQuest extends this native command to allow item-specific control.
/alert { add | remove ] #(alert list) [pc|npc|corpse|any] [radius #] [range <lower> <upper>] [spawnname | id #] [clear <#(list)> } Used to manipulate alert lists which "watch" for spawns.
/alias <aliasname> <command> | <aliasname> delete | list | reload Add command aliases
/altkey <command> Execute a command while telling the window manager that the alt key is pressed.
/banklist The /banklist command lists bank contents to chat buffer.
/beep [filename] Using the /beep command will 'beep' the system speaker, or optionally play a .wav file.
/beepontells [on|off] Toggles 'Beep On Tells is' On | Off in-game. When set to 'On' will produce a system audio 'beep' when a tell is received.
/benchmark Produces a list in MQ window of MQ Benchmarks (parameters); number of observations, total time and average time per parameter.
/bind list | eqlist |[~]<name> [<key_combo> | clear] Produces a list of MQ keyboard-binds or EQ keyboard-binds. Can also be used to set keyboard-binds for MQ or EQ commands; movement, combat, etc.
/break In macroscript, end a /for or /while loop immediately.
/buyitem <quantity#> Will buy the specified quantity (# number) of the currently selected item
/cachedbuffs [cleartarget | reset] Clears cached buffs for current target or all
/call <subroutine> [param [param...]] Used to Call a Subroutine (and 'pass' parameters if required), while a macro is running
/caption list | type <value> | update <#> | MQCaptions [on|off] Set custom captions (names & titles). You can also limit how many captions are updated to improve performance. The default setting for /caption update is 35.

Player1 through Player4 in MacroQuest.ini are directly related to which /shownames level you use.

  1. Player1 is linked to /shownames 1
  2. Player2 is linked to /shownames 2
  3. Player3 is linked to /shownames 3
  4. Player4 is linked to /shownames 4
/captioncolor list|<name> [off|on] | <# # #> Allows you to change the color of the captions that appear above the heads of PCs and NPCs, based on various factors.
/cast [ <#> | list | <"spellname"> | item <"itemname"> ] [ loc <x y z> ] Casts the spell in the specified gem. MacroQuest adds additional functionality: cast by spell name, use items that have a "click" spell effect, and cast splash spells at a specific location.
/cecho <text> EchoClean function. Writes text to the MQ Chat channel without color formatting. Echoes the provided text verbatim.

Note:

  • Escape codes are not supported.
  • Reverse echo and cecho (color is now clean)
/char Extends EverQuest's /charinfo to display character bind points. The alias /char must be used if you want MacroQuest's information included.
/cleanup Closes all open windows. Common abbreviation: /clean
/clearerrors Clears each of the last errors in the MQ type.
/click left | right [<mouseloc>] Clicks the left or right mouse button at your target or the location specified.
/combine <pack#> Activates the Combine button on the designated container e.g. <pack#>
/continue Used in macro, while running, when in /for or /while loop to try the next iteration.
/convertitem <item name> Triggers convert on the item
/crash Create a synthetic crash for debugging purposes
/ctrlkey <command> Execute a command while telling the window manager that the control key is pressed.
/declare <varname | varname [array extents]> [type] [global | outer | local | bind] [<default element value>] This creates a variable or array of a particular type with a particular scope, and a default value if desired. The parameters must be given in order, but any after varname may be skipped to use the defaults.

Notes

  • The default type is string
  • The default scope is local
  • The default value is nothing (empty string, or 0)

These variables can be of any type that exist in MQ2DataVars. The variable will then have access to the members of that type.

/delay <#>[s | m] [<condition to end early>] When used in a macro, fully pauses the macro for the amount of time specified, or until condition is met.

Time can be specified in 10ths of a second (a number by itself) or in seconds (number followed by an "s") or minutes (number followed by "m").

/deletevar <varname> | * global Deletes the variable varname. Using * global will delete all global variables
/destroy Destroys whatever you have on your cursor with no confirmation, even if you have "Destroy Confirmation" enabled in your EQ options.

Use with care.

/doability [1-10 | list | <ability>] Activates a key from the "Actions" window. MacroQuest extends this command to list and use abilities by name whether they're on the "Actions" window or not, and also includes all melee disciplines.
/docommand <command> Execute <command>, parsing MQ Data first. Useful for executing commands using MQ Data that do not parse immediately, as well as executing a command stored in a variable.
/doevents [flush] [custom event] Runs the first event of any type in the queue, flushes all queued events, or runs/flushes just the custom event.
/doors [filter] Lists all doors in the zone, or those that match 'filter'.
/doortarget [id # | filter] "Targets" a Door or Switch for further manipulation (eg. /face door). The targeting of doors, switches, will not show up in the target window. This is because the EQ servers started monitoring for targeting that is not possible through the normal client, MQ will show indication of your /doortarget
/dosocial [list | "social name"] List all your current socials by name and number, or activate them by name.

Used to activate a social by name as long as it is in your social window, without having to change hotbar pages, or call a social by name from a macro.

/drop Drops the item currently on the cursor.
/dumpbinds <filename> Dumps all current binds to filename.cfg file
/dumpstack For debugging macroscript, dumps the current line in the macro.
/echo <text> Echos the specified text (or variables) to the MQ chat window.
/endmacro Stops the current macro.
/engine <type> <version> [noauto] Allows for switching engines.

Valid Engine types are: parser

/eqtarget [<name> | group <1-6>] Targets <name> or group member <#>. Functions identically to how Command:/target worked prior to loading MacroQuest.
/exec <application [parameters]> [bg|fg] Executes the specified command as if from the command line.
/executelink <link text> Will simulate a click from raw link text. <link text>: valid link text
/face [predict] [fast] [nolook] [away] [ alert # | loc y,x,z | heading angle | item | door | id # | name ] Turns your character to face a target, door, item or location at comparable speeds to pressing the left, right, lookup, and lookdown keys.

Some of the options are listed below:

/filter [ skills | macros | mq | mq2data | target | debug | money | encumber | food | name | zrange ] <option> Opens the "Options" window to the "Chat" tab. MacroQuest extends this command to allow filtering more messages, such as the annoying "You are out of food and drink" alert.
/flashontells [ on | off ] Used to turn flashing of the Everquest window 'on' or 'off' when you receive a tell.
/for <varname> <initial-value> to|downto <final-value> [step <interval>] This runs all commands between the /for line and the /next line, after which it increments/decrements the varname number by step number (default is 1) before running through the commands again. It will keep doing this until the varname number equals the to or downto number. You can end a /for loop immediately with /break or try the next iteration with /continue.
/foreground Moves the Everquest window to the foreground.
/framelimiter [command] {options} Frame limiter tool: allows adjusting internal frame limiter settings.
/getwintitle Gets the Window Title
/goto <:label_name> This moves the macro execution to the location of <:label_name> in the macro.
/help [ normal | emote | guild | voice | chat | macro ] Will list help and commands for the specified option. MacroQuest adds the option macro, which lists all MacroQuest commands including those of your loaded plugins.
/hotbutton <name> [<color>] [<line>:][<cursor>:][<text>] Create or edit a hotbutton named <name>, optionally change the color <0-19> and/or the body <text>. MacroQuest adds extended options to include line <1-5>: that <text> appears on, and whether it ends up on your cursor [0:] after creation or not.
/hud [ normal | underui | always ] Defines how the HUD is displayed
/identify Displays further information about the item on the cursor, similar to the spell Identify and item lore displayed by MQ in the item stats UI window.
/if <formula> {commands} [else {commands}] This will run all commands between the braces ( {} ) if formula evaluates to something other than 0.
  • Formulas are numeric operations ONLY. You must use MQ2Data string comparison to turn string comparisons into

numeric operations (eg. Using .Equal or .NotEqual).

  • You can use && and || freely within formula, which will be evaluated down to a single term before proceeding.
  • Multiple commands may be included within the braces.
  • There is no need to use ${Math.Calc[]} in /if statements, since the formula is automatically converted into

numeric operations.

  • Else and else /if can be used to further refine how/which commands are run.
  • This will not work on some older versions of MQ2 (IE Jan 25, 2004) You will get a "Failed to parse /if command"
/ini "filename" "keyname" "valuename" "value" Outputs string data to an INI file.
/insertaug <item> Inserts augment into specified item. Accepts "Name in Quotes", item ID #, and slot numbers.
/invoke <command> Allows you to perform actions with special DataType members.
/itemnotify [ < slotname | # >] | <bag slot> <slot # in bag> | <itemname> ] <notification> Similar to the /click function, but does not involve the use of the mouse.
/items <filter> Lists all ground spawns and environmental containers in the zone that match filter.

All items will be listed if no filter is supplied

/itemslots Lists available item slots
/itemtarget <itemname> "Targets" a ground spawn or environmental container. The item targeted will not show up in the target window.
/keepkeys [ on | off ] Keeps keys that were pressed with /keypress, in their current state when a macro ends. /keepkeys with no arguments displays the current on/off state.
/keypress name [ hold | chat ] Press the key "name"; where name can be an eqcommand or key-combination.

This is used strictly for keys that are mapped by the EQ client, however /keypress will work with EQ binds as well as MQ binds (see /bind).

  • /keypress does not actually press the key, it merely emulates the key being pressed, so it will not interfere with typing.
  • /keypress usage outside of a macro is not recommended nor consistent
/listmacros <partial filename> Lists all files in the "Macros" directory that match <partial filename>. Results are sorted alphabetically.
/loadcfg <filename> Loads the specified .cfg file. (To use .cfg files, see this guide)
/loadspells [ list | <spellset> ] Loads the specified spellset.
/location Returns your Y, X, Z coordinates. MacroQuest extends this command to add the direction you're facing from a 16-wind compass.
/loginname Displays the login name of the account you are currently logged into.
/look [ [ - ] angle ] Changes the angle you are looking. Angle can be any value between -128 (directly down) and 128 (directly up). The default for angle is 0 (straight ahead).
/lootall Loots everything on the targeted corpse
/macro <filename> [ <param0> [ <param1> [...]]] Starts running a macro. Optional parameters can be added to the end of the /macro line, and the parameters will be passed to Sub Main within that macro.

Note:

  • Calling a macro from another macro will end the calling macro.
  • Invoking a /macro from within a macro will cause the first line to be skipped in the new macro.
/makemevisible Issuing command will make you visible.
/memspell <#> "<spellname>" Attempts to memorize "spellname" into gem #.

Any spellname with more than one word must be surrounded by quotes.

/mercswitch [<index> | <type>] Change your mercenary by index number. MacroQuest adds the <type> option. A list of your mercenaries, their types and indices can be found in the "Switch" tab of your /merc window.
/mouseto [ + | - ]<X> [ + | - ]<Y> Places the mouse at the exact x, y coordinates on the screen. Adding a + or - will move mouse to a relative position.
/mqanon [option] [anon_options] Anonymization tool; filters specific text from display output.

Be aware that Anonymization will only anonymize IN GAME! The character select screen will not be anonymized!

/mqconsole [clear | toggle | show | hide] Brings up an external MacroQuest console
/mqcopylayout <charname> <server> [res:WxH] [nohot] [noload] [nosoc] [none] Intelligent copying of EverQuest's UI layout. By default all options are copied at the windowed resolution.
/mqlistmodules [<name>] List loaded modules in the MQ directory to help with debugging stuck and/or broken dependencies/plugins. <name> is a filter.
/mqlistprocesses [name] List running processes that the MQ launcher cares about to help debug stuck and/or broken dependencies/plugins.
/mqlog [ <text> | clear ] This will log text to a log file in the "Logs" folder.
/mqoverlay [reload | resume | debug | stop | start] Simple controls for the imgui overlay in MacroQuest. If imgui crashes, it can be resumed with this command.
/mqpause [on|off] | chat [on|off] Pauses/resumes a macro. Not using a parameter will toggle pausing on/off. Common abbreviation: /mqp
/mqsettings [ <section> ] A command to toggle the MacroQuest Settings window (you can access it from the EQ button as well).
/mqtarget [ clear | mycorpse | myself | <spawn search> ] Adds the ability to target your corpse, yourself, and most importantly the result of a Spawn search. If you require the original /target without MacroQuest's interception, use /eqtarget.
/msgbox [<text>] Creates a windows message box with <text>, user clicks "ok" to close.
/multiline <delimiter> <command> [<delimiter> <command> [...] ] Executes multiple commands using a single line, with each command separated by a delimiter of your choosing.
/netstatusxpos <#> Updates the x coordinate for the NetStatus indicator
/netstatusypos <#> Updates the y coordinate for the NetStatus indicator
/next <varname> This runs all commands between the /for line and the /next line, after which it increments/decrements the varname number by step number (default is 1) before running through the commands again. It will keep doing this until the varname number equals the to or downto number. You can end a /for loop immediately with /break or try the next iteration with /continue.
/no Clicks "no" on in-game dialogues and popups. Technically not a command, this is an alias that's included by default.
/nomodkey <command> Releases all ctrl/alt/shift keys while executing <command>
/noparse <command> Prevents any MQ2Data from being parsed when used in command.
/notify <windowname> 0|<controlname> [ <notification> [<data>] ] This is used to interact with UI windows instead of using the mouse (/notify cannot be used to interact with objects).
/pet <action> [<target>] Control all pet actions. MacroQuest extends the <target> options to allow attacking by spawn #.
/pickzone [<#>] Opens the Pick Zone window. MacroQuest adds the option to zone into a specific pick zone number.
/plugin <name> [ load | unload | toggle ] [noauto] | [list] The plugin command primarily controls the loading and unloading of plugins. By default Loading a plugin will add an entry to the [Plugins] section of the MacroQuest.ini file so it will automatically load next session, and unloading the plugin will remove that entry.
/popcustom [<#color>] [<#seconds>] <message> Creates an in-game overlay message
/popup <text> Displays text in the center of your screen. Currently the text is a fixed font and color.

If you desire a custom color or display duration you may perform this modification using a new command via the /popcustom commnd

/popupecho [<#color>] [<#seconds>] <message> Creates an in-game overlay message just like Command:/popcustom, but also writes it to the MQ window.
/profile This runs a macro just like /mac does, but when the macro ends it will output a csv file of every subroutine that has been called, and how long it took. The file will be in Macros/profiles, named for the macro and the time it started.
/quit Immediately closes the game similar to /exit, but MacroQuest extends /quit to work at the character select screen.
/ranged [<spawnID#>] Performs a ranged attack on spawn ID #
/reloadui Reloads your UI, basically a shortcut for the EverQuest command /loadskin 1
/removeaug <aug> <item> Removes the specified augment from the specified item. Accepts "Case Sensitive" names in quotes or item ID #.
/removeaura <name> Will remove the specified aura. Partial names accepted.
/removebuff [-pet|-both] [=]<name> Will remove a buff or song of the given name, with or without quotes. Can work on current toon, -pet, or -both. By default it does a partial match, but you can force an exact compare with the equals sign.
/removelev Will remove any levitation in the buff or shortbuff window.
/removepetbuff [=]<name> Will remove the specified buff or song form your pet, with or without quotes. By default it does a partial match, but you can force an exact compare with the equals sign. Same as using /removebuff -pet
/return [value|${varname}] Returns to the line immediately following the call. Can return values or variables.
/screenmode <#> Where 2 is normal and 3 is no windows. 1 is Unknown. Experimental.
/selectitem <name> Selects items in your inventory when you have a merchant open. Partial match accepted, /selectitem "bottle of" will select a "bottle of vinegar". Exact match also accepted, /selectitem "=bottle of vinegar".
/sellitem [#] Sells the selected item. If # is specified it will sell that # of a stacked item.
/setautorun <command> Creates an ini entry in Macroquest.ini that performs a command automatically after entering world. This may be deprecated in favor of .cfg files.
/seterror [<error>] Sets MacroQuest.Error to the specified error. If no error given, /seterror will clear MacroQuest.Error.
/setprio {1-6} Sets process priority where 1 is low 2 is below normal 3 is normal 4 is above normal 5 is high and 6 is real time. The default value is 3.
/setwintitle <title> Sets the current EQ Window title. It will parse MQ variables.
/shiftkey <command> Execute a command while telling the window manager that the shift key is pressed.
/skills [ <skillname> ] Lists the skill level(s) that match skillname if provided, or all possible skills if no parameter given.
/spellslotinfo [ <spellID#> | "spell name" ] Displays spell slot information in the console. Accepts spell ID or "spell name" in quotes.
/spewfile [on|off] Enables or disables the output of debug spew to the \Logs\DebugSpew.log file.
/squelch <command> Executes <command> while preventing MQ output from that command.
/substitute list | <orig> [delete] | [<new>] Allows you to create custom midline substitutions. They can be called from any alias or commandline by using the percent sign (%).
/target [<name> | group <1-6>] Targets <name> or group member <#>. MacroQuest currently intercepts this command but this is deprecated, so MQ users please use /mqtarget, or for original function /eqtarget
/taskquit [<name>] Leave your shared task. MacroQuest extends this command to add support for solo tasks with <name>. Exact match only, quotes not needed.
/timed <#> <command> Executes command after a specified duration, given in deciseconds.
/tloc Returns your target's location. Technically not a command, this is an alias that's included by default.
/unload Unloads MacroQuest
/useitem <slot> [subindex] | <item name> Activates the use effect on items, either by exact item name or slot number. MacroQuest extends <item name> to allow partial matching.
/usercamera 0-7|on|off|save [<charname>]|load [<charname>] Switch to the specified camera (see notes), or load and save the positioning of the user 1 camera.
/varcalc <varname> <formula> Sets a variable directly to the numeric result of a calculation (formula). Keep in mind that the type of the variable may itself reject this value depending on what you give it.

This will not work on strings!

/vardata <varname> <new datatype value> Sets a variable directly to the end result of a datatype string. To use this, do not put ${} around the outer data to parse.
  • This is more efficient than using /varset as it skips a step. For example, /varset first converts the MQ2Data to text, and then back to MQData. /vardata converts directly through MQData.
/varset <varname> <new value> Sets a variable directly to a new value. Keep in mind that the type of the variable may itself reject this value depending on what you give it. To clear the value of the variable, you may omit the new value.
/where [ pc | npc ] [ <name> ] Returns the direction and distance to the closest spawn.
/while <condition> { <commands> ⮒ } Executes commands while the expression condition evaluates to true. Note that } must be on a line by its own. You can end a /while loop immediately with /break or try the next iteration with /continue.
/who [<name | class | race>] [all] [afk] [lfg] [corpse] [count] [guild] [<"guild name">] [ <level> [<level>] ] | [<Spawn Search>] [concolor] [sort <option>] Search for characters in current or all zones. MacroQuest intercepts the current-zone version of this command and instead gives options to Spawn search and sort.
/whofilter <lastname | class | race | body | level | gm | guild | ld | sneak | lfg | npctag | spawnid | trader | afk | anon | distance | light | holding | concolor | invisible> [on | off] Toggles the display of the specified spawn(s) when using /who
/whotarget Displays a /who lookup for the targeted player. MacroQuest extends this to include NPCs.
/windows [ <name> | open ] Lists available UI windows (they are usable with /notify). An easier way to search windows is with the Window Inspector, found in the Command:/mqconsole GUI.
/windowstate <window> [open|close] Toggles windows open/closed. Use /windows for a list of windows.
/yes Clicks "yes" on in-game dialogues and popups. Technically not a command, this is an alias that's included by default.

Settings

MacroQuest.ini is MacroQuest's main configuration file. Other plugins and scripts will add their own sections and settings to this .ini file, but the following are core MacroQuest.

Some of these settings be can be set via the GUI with /mqsettings and almost all can be set with the command line.

[MacroQuest]
MQIniPath=C:\path\MacroQuest.ini
ConfigPath=Config
MacroPath=Macros
LogPath=Logs
CrashDumpPath=Logs\Dumps
PluginPath=Plugins
ResourcePath=Resources
FilterSkills=0
FilterDebug=0
FilterMQ2Data=0
FilterTarget=0
FilterMoney=0
FilterFood=0
FilterMacro=0
FilterEncumber=0
FilterCustom=1
DebugSpewToFile=0
MQPauseOnChat=0
; Pause macros while in chat mode
KeepKeys=1
; Keeps keys that were pressed with /keypress in their current state when a macro ends. More info on the page Command:/keepkeys
AllErrorsDumpStack=1
AllErrorsFatal=0
MQ2LoadingMsg=1
ExactSearchCleanNames=0
WriteAllConfig=1
; Writes all config options to the .ini
UseTradeOnTarget=1
BeepOnTells=0
FlashOnTells=1
IgnoreAlertRecursion=0
ShowCurrentCamera=0
; Your view of the game. More information on the page Command:/usercamera
TurboLimit=240
CreateMQ2NewsWindow=1
NetStatusXPos=0
NetStatusYPos=0
BuffStackDebugMode=0
UseNewNamedTest=0
ParserEngine=1
; Valid versions are 1 or 2. More info on the page Command:/engine 
IfDelimiter=,
IfAltDelimiter=~
HUDMode=UnderUI
; How HUD is displayed. More information on the page Command:/hud
RenderImGui=1
OverlayDebug=0
ShowMacroQuestConsole=0
[SWho Filter]
; Saved settings for the Command:/whofilter
Lastname=1
Class=1
Race=1
Level=1
GM=1
Guild=1
Sneak=1
LD=1
LFG=1
NPCTag=1
Trader=1
AFK=1
Anon=1
Distance=1
Light=0
Body=0
SpawnID=0
Holding=1
ConColor=0
Invisible=0
[Substitutions]
; Substitutions can be called in-game with a % sign. More info on the Command:/substitute page. 
omg=Oh My God
[Filter Names]
Example=NOBODY
[Aliases]
;The format for adding an alias: "/alias=/command". More examples are on the Command:/alias page
/tloc=/echo ${If[${Target.ID},${Target.DisplayName}'s Location is ${Target.Y} ${Target.X} ${Target.Z},You do not have a target!]}
; the above creates an alias "/tloc" that's a shortcut to reveal the location of your target
[Plugins]
; 1 will load upon launch, 0 will not load
mq2aaspend=0
mq2advpath=1
[Overlay]
EnableViewports=0
[Captions]
; Configures how names are displayed above models. 
NPC=${If[${NamingSpawn.Mark},${NamingSpawn.Mark} - ,]}${If[${NamingSpawn.Assist},>> ,]}${NamingSpawn.DisplayName}${If[${NamingSpawn.Assist}, - ${NamingSpawn.PctHPs}%<<,]}${If[${NamingSpawn.Surname.Length},\n(${NamingSpawn.Surname}),]}
Update=35
MQCaptions=1
[Caption Colors]
; Set the color of the names above models.
PC=OFF
PC-Color=ff00ff
PCCon=OFF
PCPVPTeam=OFF
PCRaid=OFF
PCRaid-Color=ff7f
PCClass=OFF
PCGroup=OFF
PCGroup-Color=ffff00
PCTrader=ON
PCTrader-Color=ff7f00
NPC=OFF
NPC-Color=ff0000
NPCCon=ON
NPCClass=OFF
NPCMerchant=ON
NPCMerchant-Color=ff7f00
NPCBanker=ON
NPCBanker-Color=c800ff
NPCAssist=ON
NPCAssist-Color=ffff00
NPCMark=ON
NPCMark-Color=ffff00
PetNPC=OFF
PetNPC-Color=ff0000
PetPC=OFF
PetPC-Color=ffff00
PetClass=OFF
PetClass-Color=ff0000
Corpse=OFF
Corpse-Color=ff0000
CorpseClass=OFF
CorpseClass-Color=ff0000
[Developer Tools]
Benchmarks=0
String Inspector=0
Character Data Inspector=0
[AutoRun]
; Performs a command after entering world. Deprecated, use .cfg files instead. 
[Application Paths]
; Specifies aliases for applications, see Command:/exec
vscode="C:\Users\YourName\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd"
[Key Binds]
NAVKEY_forward_Nrm=W
NAVKEY_forward_Alt=Up
NAVKEY_back_Nrm=S
NAVKEY_back_Alt=Down
NAVKEY_left_Nrm=A
NAVKEY_left_Alt=Left
NAVKEY_right_Nrm=D
NAVKEY_right_Alt=Right
NAVKEY_strafe_left_Nrm=clear
NAVKEY_strafe_left_Alt=clear
NAVKEY_strafe_right_Nrm=clear
NAVKEY_strafe_right_Alt=clear
NAVKEY_autorun_Nrm=P
NAVKEY_autorun_Alt=clear
NAVKEY_jump_Nrm=Space
NAVKEY_jump_Alt=clear
NAVKEY_run_walk_Nrm=ctrl+R
NAVKEY_run_walk_Alt=clear
NAVKEY_duck_Nrm=X
NAVKEY_duck_Alt=clear
MUTILS_FWD_Nrm=W
MUTILS_BCK_Nrm=S
MUTILS_LFT_Nrm=A
MUTILS_RGT_Nrm=D
MUTILS_STRAFE_LFT_Nrm=clear
MUTILS_STRAFE_RGT_Nrm=clear
MUTILS_AUTORUN_Nrm=P
MUTILS_FWD_Alt=Up
MUTILS_BCK_Alt=Down
MUTILS_LFT_Alt=Left
MUTILS_RGT_Alt=Right
MUTILS_STRAFE_LFT_Alt=clear
MUTILS_STRAFE_RGT_Alt=clear
MUTILS_AUTORUN_Alt=clear
MELEE_Nrm=Z
RANGE_Nrm=X
[CoolBoxes]
CheckBoxFeatureEnabled=1
ColorsFeatureEnabled=1
[Crash Handler]
; Decide if we want to enable the crash reporting system. These are primarily aimed at developers.
EnableCrashpad=1
EnableSharedCrashpad=1
EnableSilentCrashpad=1
EnableCrashSubmissions=1
CrashpadSubmissionURL=https://myurl.com

See also



Top-Level Object(s)

TLOs added by MacroQuest:

TLO Data Type(s) Description
Achievement achievementmgr achievement achievementcat achievementobj For accessing achievements, achievement categories, and objectives. There's a more detailed writeup of this TLO at docs.macroquest.org.
AdvLoot advloot advlootitem Returns information about looting with EQ's advanced loot system.
Alert alert alertlist Provides access to alerts.
Alias Shows if your command is an alias
AltAbility altability Returns experimental data for AltAbilities. If you're writing a script, use Me.AltAbility as it's faster.
Bool bool Creates a bool object using text. Value is set to TRUE unless text is "NULL" "FALSE" or "0" (capitalization does not count).
Corpse corpse Access to objects of type corpse, which is the currently active corpse (ie. the one you are looting).
Cursor item Creates an object which references the item on your cursor.
Defined bool Determines whether a variable, array, or timer with this name exists. The variable, array or timer must not be enclosed with ${}.
DoorTarget switch Deprecated way to return information on switches (doors are switches in EverQuest). Use TLO:Switch or TLO:SwitchTarget instead.
DynamicZone dynamiczone This TLO gives you access to properties of dynamic (aka instanced) zones.
EverQuest everquest Holds information about the EverQuest session, including ping, UI, tells, window size, etc.
Familiar keyring keyringitem Used to get information about items on your familiars keyring.
FindItem item A TLO to find items on your character, corpse or merchant.
FindItemBank item Find items in your bank
FindItemBankCount int Find number of items in bank by item name or ID
FindItemCount int Find number of items by item name or ID
Float float Creates a float object from n
FrameLimiter framelimiter Holds the framelimiter data type
Friends friend Access to the friends list
GameTime time Returns the in-game EverQuest time, not real life time.
Ground ground Access to ground spawns.
GroundItemCount int Access ground spawn item counts
Group group Access to group-related information.
Heading heading Directional heading of a location or direction.
If string Performs Math.Calc on conditions, gives whentrue if non-zero, gives whenfalse if zero. Warning: The `If` TLO was made for macros, not recommended Lua.
Illusion keyring keyringitem Used to get information about items on your illusions keyring.
Ini iniadv string Reads value(s) from an ini file located in a relative or absolute path.
Int int Object that creates an integer from n.
InvSlot invslot InvSlot is deprecated and scheduled for removal. Please use the member "ItemSlot" and "ItemSlot2" from DataType:item
ItemTarget ground Behaves the same as TLO:Ground except always prefers the current target ground item.
LastSpawn spawn Information about the spawns that have occurred since you entered the zone. When you enter a zone you dont know the spawn order of anything already there, just anything that spawns while you are in the zone.
LineOfSight bool Object that is used to check if there is Line of Sight betwen two locations.
Macro macro Information about the macro that's currently running.
MacroQuest macroquest Access information related to the MacroQuest session
Math math Access to information on Math type members
Me character Character object which allows you to get properties of you as a character.
Menu menu Access to menu objects when a menu is open.
Mercenary mercenary Access information on your character's Mercenary
Merchant merchant Access the currently active merchant
Mount keyring keyringitem Used to get information about items on your Mount keyring.
NearestSpawn spawn Used to find spawns nearest you
Pet pet See what's going on with your pet
Plugin plugin Return information on plugins
PointMerchant pointmerchant pointmerchantitem Access to point merchants, such as those found in LDoN
Raid raid Access raid information
Range Range Access the range type to tell if n is inside a range of 2 numbers or between 2 numbers
Select int Determine if a match was made to argument in the given set of values.
SelectedItem item Information on the item selected in your own inventory while using a merchant.
Skill skill Returns information on your character's skills
Spawn spawn Returns information on a specific spawn. Uses Spawn search filters.
SpawnCount int Information on the count(s) of all spawns or specific spawn(s). Uses the filters under Spawn search.
Spell spell Returns iformation on a spell by name or by ID.
String string Access the string datatype
SubDefined bool Information about macro sub's definition
Switch switch Information on switches (which includes doors) in EverQuest
SwitchTarget switch Object used to return information on your switch target. Replaces DoorTarget
Target spawn target Information about your current target
Task task taskmember taskobjectivemember Object used to return information on a current Task.
TeleportationItem keyring keyringitem Returns data on the teleportation item in your keyring.
Time time Return information about real time, not game time.
TradeskillDepot tradeskilldepot For the personal tradeskill depot. TradeskillDepot TLO only provides meaningful results if using a client that supports it. Otherwise it will act like you don't have access to it and it is empty.
Type type Returns information on types
Window window Used to find information on a particular UI window.
Zone currentzone zone Used to find information about a particular zone.