MQ2HUD
Overview
This plugin 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.
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.
You can toggle display of the HUD by using F11.




Commands

  ● /hud
  ● /loadhud
  ● /defaulthud
  ● /classhud
  ● /zonehud




Top-Level Objects
  ● string HUD
   Name of currently loaded HUD




INI File Format
Entries in the MQ2HUD.ini file are in the following format:

INI
More +
[Elements]
Name=<TYPE>,<X>,<Y>,<RED>,<GREEN>,<BLUE>,<TEXT>


<TYPE> can be a combination of the following (just add the numbers):

  1: Display in non-full screen mode
  2: Display in full screen mode ("F10 mode")
  4: Based on cursor location

<X> and <Y> denote the location of the entry on the screen (0,0 is the upper left of your screen)

<RED>, <GREEN> and <BLUE> are RGB values for the TEXT color (255,255,255 is white; 0,0,0 is black)

<TEXT> is the MQ2Data you wish to display. As a tip, the If TLO is very useful here.


Examples

INI
More +
[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,]}


In the above HUD, the CursorItemName entry states that it will show the name of your cursor item in all modes. Using 6 as the TYPE will display the cursor in full-screen mode only.




/loadhud
This command will load a section of the ini file

Example
/loadhud bard
This will load the [bard] section of the MQ2HUD.ini.




Code Segments
This section contains code segments to help you customize your HUD. Please be sure to substitute the X,Y cords for the location you'd like to see them on your HUD.

INI
More +

//AAXP
AAXPText=3,X,Y,255,234,8,AAXP
AAXP=3,X,Y,255,234,8,${Me.PctAAExp}
//AttackSpeed
AttackSpeedText=3,X,Y,255,234,8,AttackSpeed :
AttackSpeed=3,X,Y,255,234,8,${Me.AttackSpeed}
//Date
Datetext=3,X,Y,255,234,8,Todays Date Is
Date=3,X,Y,255,234,8,${Time.Date}
//Damage Absorb Left
DamageShieldText=3,X,Y,255,234,8,Dmg Abs. Left
DamageShield=3,X,Y,255,234,8,${Me.Dar}
//Vet AA's
ThroneText=3,500,402,255,234,8,GL Port - - - -
ThroneReadyText=3,610,402,0,255,0,${If[${Me.AltAbilityReady[Throne Of Heroes]},Ready,]}
ThroneNotReady=3,610,402,255,0,0,${If[!${Me.AltAbilityReady[Throne Of Heroes]},${Me.AltAbilityTimer[Throne Of Heroes].TimeHMS},]}
Last edited by sorvani on Mon Jan 24, 2011 11:34 am; edited 1 time in total
Sun Jan 23, 2011 4:54 pm
Senior Project Member
MQ2HUD Examples
target info (using the default Elements section
ini
More +
[Elements]
LocLbl=3,300,200,255,255,255,My Loc:
Loc=3,350,200,255,255,255,${Me.Y}, ${Me.X}, ${Me.Z}
TargetLbl=3,300,215,255,255,255,${If[${Target.ID},Target:,]}   
Target=3,350,215,255,255,255,${If[${Target.ID},${Target.CleanName},]}  
TarDistLbl=3,300,230,255,255,255,${If[${Target.ID},Dist3D:,]}
TarDist=3,350,230,255,255,255,${If[${Target.ID},${Target.Distance3D},]}
TarHPLbl=3,300,245,255,255,255,${If[${Target.ID},HP:,]}
TarHP=3,350,245,255,255,255,${If[${Target.ID},${Target.PctHPs}%,]}     
TTarLbl=3,300,260,255,255,255,${If[${Me.TargetOfTarget.ID},ToT:,]}
TTar=3,350,260,255,255,255,${If[${Me.TargetOfTarget.ID},${Spawn[${Me.TargetOfTarget.ID}].CleanName},]}
HoTTLbl=3,300,275,255,255,255,${If[${Me.TargetOfTarget.ID},HoTT:,]}
HoTT=3,350,275,255,255,255,${If[${Me.TargetOfTarget.ID},${Me.TargetOfTarget.PctHPs}%,]}


Boxed toon info
ini
More +
[Master]
Toon2NameIn =   3,450,470,0,255,0,${If[${NetBots[Varalla].ID},${If[${NetBots[Varalla].InZone},Varalla,]},]}
Toon2NameOut=   3,450,470,64,64,64,${If[${NetBots[Varalla].ID},${If[${NetBots[Varalla].InZone},,Varalla]},]}
Toon2NameOff=   3,450,470,255,0,0,${If[${NetBots[Varalla].ID},,Varalla - offline]}
Toon2HPLabel=   3,510,470,255,255,255,${If[${NetBots[Varalla].ID},HP:,]}
Toon2HPGood =   3,530,470,0,255,0,${If[${NetBots[Varalla].ID},${If[${NetBots[Varalla].PctHPs}>=70,${NetBots[Varalla].PctHPs}%,]},]}
Toon2HPOK   =   3,530,470,255,255,0,${If[${NetBots[Varalla].ID},${If[(${NetBots[Varalla].PctHPs}>30&&${NetBots[Varalla].PctHPs}<70),${NetBots[Varalla].PctHPs}%,]},]}
Toon2HPBad  =   3,530,470,255,0,0,${If[${NetBots[Varalla].ID},${If[${NetBots[Varalla].PctHPs}<=30,${NetBots[Varalla].PctHPs}%,]},]}
Toon2DistLbl=   3,570,470,255,255,255,${If[${NetBots[Varalla].ID},${If[${NetBots[Varalla].InZone},Dist:,Zone:]},]}
Toon2DistCls=   3,600,470,0,255,0,${If[${NetBots[Varalla].ID},${If[${NetBots[Varalla].InZone}&&${Spawn[${NetBots[Varalla].ID}].Distance3D}<=100,${Spawn[${NetBots[Varalla].ID}].Distance3D},]},]}
Toon2DistMid=   3,600,470,255,255,0,${If[${NetBots[Varalla].ID},${If[${NetBots[Varalla].InZone}&&(${Spawn[${NetBots[Varalla].ID}].Distance3D}>100&&${Spawn[${NetBots[Varalla].ID}].Distance3D}<=200),${Spawn[${NetBots[Varalla].ID}].Distance3D},]},]}
Toon2DistFar=   3,600,470,255,0,0,${If[${NetBots[Varalla].ID},${If[${NetBots[Varalla].InZone}&&${Spawn[${NetBots[Varalla].ID}].Distance3D}>200,${Spawn[${NetBots[Varalla].ID}].Distance3D},]},]}
Toon2DistZon=   3,600,470,64,64,64,${If[${NetBots[Varalla].ID},${If[${NetBots[Varalla].InZone},,${Zone[${NetBots[Varalla].Zone}].ShortName}]},]}
Toon2CastLbl=   3,660,470,255,255,255,${If[${NetBots[Varalla].ID},${If[${Bool[${NetBots[Varalla].Casting}]},Casting:,]},]}
Toon2CastSpl=   3,700,470,0,0,255,${If[${NetBots[Varalla].ID},${If[${Bool[${NetBots[Varalla].Casting}]},${NetBots[Varalla].Casting},]},]}
Toon2CastOn     =       3,800,470,255,255,255,${If[${NetBots[Varalla].ID},${If[${Bool[${NetBots[Varalla].Casting}]} && ${NetBots[Varalla].InZone} && ${NetBots[Varalla].TargetID}, on ${Spawn[${NetBots[Varalla].TargetID}].CleanName},]},]}

Toon3NameIn =   3,450,485,0,255,0,${If[${NetBots[Aijou].ID},${If[${NetBots[Aijou].InZone},Aijou,]},]}
Toon3NameOut=   3,450,485,64,64,64,${If[${NetBots[Aijou].ID},${If[${NetBots[Aijou].InZone},,Aijou]},]}
Toon3NameOff=   3,450,485,255,0,0,${If[${NetBots[Aijou].ID},,Aijou - offline]}
Toon3HPLabel=   3,510,485,255,255,255,${If[${NetBots[Aijou].ID},HP:,]}
Toon3HPGood =   3,530,485,0,255,0,${If[${NetBots[Aijou].ID},${If[${NetBots[Aijou].PctHPs}>=70,${NetBots[Aijou].PctHPs}%,]},]}
Toon3HPOK   =   3,530,485,255,255,0,${If[${NetBots[Aijou].ID},${If[(${NetBots[Aijou].PctHPs}>30&&${NetBots[Aijou].PctHPs}<70),${NetBots[Aijou].PctHPs}%,]},]}
Toon3HPBad  =   3,530,485,255,0,0,${If[${NetBots[Aijou].ID},${If[${NetBots[Aijou].PctHPs}<=30,${NetBots[Aijou].PctHPs}%,]},]}
Toon3DistLbl=   3,570,485,255,255,255,${If[${NetBots[Aijou].ID},${If[${NetBots[Aijou].InZone},Dist:,Zone:]},]}
Toon3DistCls=   3,600,485,0,255,0,${If[${NetBots[Aijou].ID},${If[${NetBots[Aijou].InZone}&&${Spawn[${NetBots[Aijou].ID}].Distance3D}<=100,${Spawn[${NetBots[Aijou].ID}].Distance3D},]},]}
Toon3DistMid=   3,600,485,255,255,0,${If[${NetBots[Aijou].ID},${If[${NetBots[Aijou].InZone}&&(${Spawn[${NetBots[Aijou].ID}].Distance3D}>100&&${Spawn[${NetBots[Aijou].ID}].Distance3D}<=200),${Spawn[${NetBots[Aijou].ID}].Distance3D},]},]}
Toon3DistFar=   3,600,485,255,0,0,${If[${NetBots[Aijou].ID},${If[${NetBots[Aijou].InZone}&&${Spawn[${NetBots[Aijou].ID}].Distance3D}>200,${Spawn[${NetBots[Aijou].ID}].Distance3D},]},]}
Toon3DistZon=   3,600,485,64,64,64,${If[${NetBots[Aijou].ID},${If[${NetBots[Aijou].InZone},,${Zone[${NetBots[Aijou].Zone}].ShortName}]},]}
Toon3CastLbl=   3,660,485,255,255,255,${If[${NetBots[Aijou].ID},${If[${Bool[${NetBots[Aijou].Casting}]},Casting:,]},]}
Toon3CastSpl=   3,700,485,0,0,255,${If[${NetBots[Aijou].ID},${If[${Bool[${NetBots[Aijou].Casting}]},${NetBots[Aijou].Casting},]},]}
Toon3CastOn     =       3,800,485,255,255,255,${If[${NetBots[Aijou].ID},${If[${Bool[${NetBots[Aijou].Casting}]} && ${NetBots[Aijou].InZone} && ${NetBots[Aijou].TargetID}, on ${Spawn[${NetBots[Aijou].TargetID}].CleanName},]},]}

_________________
Sorvani
Sun Jan 23, 2011 5:01 pm
Senior Project Member

_________________
Sorvani
Mon Jan 24, 2011 12:44 pm
Senior Project Member
If you would like easier to see hud elements you can add a background.
You have to add the background after the hud element you want to have a background or the element will be covered by your background.


Example element:
xp
More +


; |============================================== XP info ===>
MyXp=1,52,800,255,255,255,Exp: ${Me.Exp} @ ${Me.PctExp}% in level ${Me.Level}
MyAA=1,52,812,255,255,255,AAExp: ${Me.AAExp} @ ${Me.PctAAExp}% ///  Unspent: ${Me.AAPoints} Spent: ${Me.AAPointsSpent} Total AA: ${Me.AAPointsTotal}



This is the background code. You need 3 lines of | all staggered by 1 unit in order to have a solid background. This example is of a black background.

background
More +

MyXpbackground1=1,51,799,0,0,0,|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MyXpbackground2=1,52,799,0,0,0,|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MyXpbackground3=1,53,799,0,0,0,|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MyXpbackground4=1,51,806,0,0,0,|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MyXpbackground5=1,52,806,0,0,0,|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MyXpbackground6=1,53,806,0,0,0,|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MyAAbackground1=1,51,812,0,0,0,|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MyAAbackground2=1,52,812,0,0,0,|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MyAAbackground3=1,53,812,0,0,0,|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
; <===============================================================|
Mon Dec 23, 2013 8:29 pm