MQ2HUD - MMOBugs Wiki

Plugin Info
Name MQ2HUD
Author MQ2 Devs
Link MQ2 Wiki Link
Commands /hud, /defaulthud, /loadhud, /classhud, /zonehud
Source Available Yes
Uses INI File Yes

Description

MQ2HUD provides a Heads Up Display for your EQ window, which can provide a large amount of information in a relatively small amount of space. The HUD acts as a transparent background layer, upon which any information can be displayed. Each element of the HUD gets parsed each time MQ2Data is displayed, so there is no need to reload the HUD after making changes to the ini file, they are instantaneously available as soon as you save the ini file.

Commands

  • /defaulthud - Load the default HUD specifically
  • /hud normal - The HUD will display as it would normally on top of UI, not at char select or in "F10 mode"
  • /hud underui - The HUD will display as normal except UNDER the UI, and not at char select or in "F10 mode"
  • /hud always - The HUD will display under the UI, at char select, and in "F10 mode"
  • /classhud - Loads a class specific hud. This HUD must have a [hudname] section in MQ2HUD.ini
  • /zonehud - Loads a HUD specific to the zone. This HUD must have a [hudname] section in MQ2HUD.ini
  • /loadhud hudname - Loads a HUD by the name hudname. This HUD must have a [hudname] section in MQ2HUD.ini
  • You can toggle display of the HUD by pushing F11.

Example Usage

  • /loadhud MyCustomHUD - Loads a HUD based on [MyCustomHUD] section in MQ2HUD.ini

Macro Data

This plugin adds a new TLO.

  • ${HUD} : string - Returns the name of currently loaded HUD

Configuration

The HUD is customized by entries in the MQ2HUD.ini file. The ini file allows any number of HUDs to be created and saved within. Loading a new HUD from the ini file can be done with /loadhud. The entry names are not case-sensitive. The default HUD entry is called [Elements] and can be loaded with the /defaulthud command.

Sample Configuration

MQ2HUD.ini

[MQ2HUD]
Last=Elements
SkipParse=5
CheckINI=10
UpdateInBackground=no
ClassHUD=on
ZoneHUD=on
UseFontSize=off

[Elements]
TargetInfo=3,5,35,255,255,255,${Target}
GMIndicator=3,5,45,0,0,255,${Spawn[gm]}
CursorItemName=7,-15,-15,255,255,255,${If[${Cursor.ID},${Cursor},]}
ClickMeForFun=6,-25,-25,255,255,255,${If[!${Cursor.ID},click me,]}

[MyCustomHUD]
Time=3,5,38,0,255,0,Time: ${Time}
LastTell=3,5,50,0,255,0,LastTell - ${MacroQuest.LastTell} 
RegExp=3,5,62,0,255,0,EXP - ${Me.PctExp}%
AAExp=3,5,74,0,255,0,AAExp - ${Me.PctAAExp}%
Spawn1=3,5,86,255,255,0,${If[${NearestSpawn[1,npc named].Name.NotEqual["NULL"]},${NearestSpawn[1,npc named].Level} - ${NearestSpawn[1,npc named].Name},]}
Spawn2=3,5,98,255,255,0,${If[${NearestSpawn[2,npc named].Name.NotEqual["NULL"]},${NearestSpawn[2,npc named].Level} - ${NearestSpawn[2,npc named].Name},]}
Spawn3=3,5,110,255,255,0,${If[${NearestSpawn[3,npc named].Name.NotEqual["NULL"]},${NearestSpawn[3,npc named].Level} - ${NearestSpawn[3,npc named].Name},]}
Spawn4=3,5,122,255,255,0,${If[${NearestSpawn[4,npc named].Name.NotEqual["NULL"]},${NearestSpawn[4,npc named].Level} - ${NearestSpawn[4,npc named].Name},]}
GMInd1=3,5,134,0,250,0,GM - ${If[${Spawn[gm].ID},${SpawnCount[gm]} GM's in zone.,No GM's Present]}
GroupLeader=3,5,146,0,255,0,${If[${Group.Members}>0,GroupLDR - ${Group.Leader},]}  
RaidLeader=3,5,158,0,255,0,${If[${Raid.Members}>0,RaidLDR - ${Raid.Leader},]}
PPLinRaid=3,5,170,0,255,0,${If[${Raid.Members}>0,In Raid - ${Raid.Members},]}

[Bard]
TargetInfo=3,5,35,255,0,255,${Target}
GMIndicator=3,5,45,0,255,255,${Spawn[gm]}
CursorItemName=7,-15,-15,255,255,0,${If[${Cursor.ID},${Cursor},]}
ClickMeForFun=6,-25,-25,255,128,0,${If[!${Cursor.ID},click me,]}

Configuration Explanation

The configuration of each element is TYPE,X,Y,RED,GREEN,BLUE,TEXT

  • TYPE is currently any combination of the following:
    • 1 - Display in non-full screen mode
    • 2 - Display in full screen mode ("f10 mode")
    • 4 - X,Y is based on cursor location
    • e.g. 1+2+4=7. 7 means all 3 of the above. 6 means 2 and 4. 3 means 1 and 2. Just add them together. There is no way to end up with a number that could mean two different combinations.
  • X,Y is the screen location. 0,0 is the upper left corner fo your screen.
  • Red, Green and Blue are each from 0 to 255. 255,255,255 is white, 0,0,0 is black.
  • Seeing as how the mouse functions perfectly fine in full screen mode, the cursor has been forced to display the same as it would in UI-visible mode. The only difference is the item is not displayed on your cursor. With MQ2HUD and the "CursorItemName" example, you could have it show the name of the item attached to your cursor in full screen mode (use type 6 if you want it to follow your cursor in full screen mode only).

Adding Font Size:

UseFontSize=on|off

This changes the size of individual lines in the hud. If this setting is turned off and you use a line of hud text that uses it, your output will look messed up.

With this option on, the configuration of each element is TYPE,FONT,X,Y,RED,GREEN,BLUE,TEXT

Example usage.

Time=3,1,5,22,0,255,0,Time: ${Time}

All other settings are the same as before but as you can see the second number is a 1. This represents your font size. This can range from 1-6 depending on your needs. If your setting is toggled to off (or the setting is not even listed), using the font number in line of code will look messed up on your hud and not function as intended.

Availability

This plugin is part of the core MQ2 source. It is included with the MMOBugs Compile, and source is freely available.