Fixed some malfunctioning and useless features. See fix notes.
***** This HUD is not a rip, but does use some elements of DumbStruck's Rogue HUD*****
**Notes**
-Just a nifty little HUD I worked on while I was bored. It seems to have decent functionality for my Monk, I hope you enjoy it as well!
-Screenshot for this HUD may be found here
-This HUD requires MQ2Debuffs unless you want a CTD and/or spammed the hell out of in your MQ2 output window. This is due to the snared/slowed/DoTed displays. MQ2Debuffs may be found here
**Fixes**
-Added a HUD that displays the number of mobs within a 25 unit radius of your target, very useful for seeing adds when pulling, or around corners.
-Added HoTT feature in the 'Vitals' section (Of course only works with LAA)
-Fixed the Attack Speed feature and Macro Running feature to operate more fluently.
-No longer reports your target's YXZ with the word "NULL" if the value is false and/or you have no target.
-Changed the color interface for ease of sight, and providing text that is able to be read in most if not all environments.
-With the new update, crashes should not occur with the "Nearest Named NPC" function. Also fixed the CTD when the HUD tries to relay the guild information about an NPC. If there are still any issues with this, let me know and I will look into updating it.
**Installation**
Copy and paste this code into the bottom of your MQ2Hud.ini located in your compiled MacroQuest2 directory. Type /loadhud Psych in game. When you install this, be sure to open the .ini and enlarge the window. Make SURE that the code is not split across lines, simply start at the previous line and backspace it or this could lead to CTDs.
**Note**
This HUD is mainly used for the left side of your screen, recommended using 1024x1280 screen resolution.
Please leave constructive criticism, and do me the favor of giving me any ideas to improve this HUD. Thank you.
Code: Select all
/////////////////////////////////////////////////////
// Psych v1.1
//
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// a Bloodfire1020 production
/////////////////////////////////////////////////////
[Psych]
//General Benchmark
GeneralInfoAreaText=3,5,50,0,255,255,***** General *****
//Time
Time=3,5,60,0,255,0,The Time Is
Time2=3,120,60,0,255,255,${Time.Time12}
//Play Time This Session
Played=3,5,70,0,255,0,You've been Playing for:
Played2=3,120,70,0,255,255,${Int[${Math.Calc[${MacroQuest.Running}/60000]}]}m / ${Math.Calc[${MacroQuest.Running}/60000/60]}h
//Zone
ZoneShortName=3,5,80,0,255,0,Zone:
ZoneText=3,120,80,0,255,255,${Zone.ShortName}
//Running Macro
MacroText=3,5,90,0,255,0,Macro Running:
Macro=3,5,90,0,255,255,${If[${Macro.Name.NotEqual["NULL"]},${Macro.Name},]}
//Utility Benchmark
UtilityAreaInfoText=3,5,110,0,255,255,*****Utility*****
//Last Tell
LastTellText=3,5,120,25,255,0,Last Tell From:
LastTellName=3,120,120,0,255,255,${If[${MacroQuest.LastTell.NotEqual["NULL"]},${MacroQuest.LastTell},]}
//GM
GMInd1=3,5,130,0,255,0,${If[${Spawn[gm].ID},GM,]}:
GMInd2=3,5,130,0,255,0,${If[${Spawn[gm].ID},,GM]}:
GMInd3=3,120,130,0,255,255,${If[${Spawn[gm].ID},GM ALERT!!!,]}
GMInd4=3,120,130,0,255,255,${If[${Spawn[gm].ID},,None In Zone]}
//Runspeed
SpeedText=3,5,140,0,255,0,Your RunSpeed Is:
Speed=3,120,140,0,255,255,${Int[${Me.Speed}]}
//Location (YXZ Format)
LocationText=3,5,150,0,255,0,Your YXZ(Loc) is:
Locationyxz=3,120,150,0,255,255,Y: ${Me.Y} X: ${Me.X} Z: ${Me.Z}
//Guild
GuildText=3,5,160,0,255,0,Guildies In Zone:
Guild=3,120,160,0,255,255,${Math.Calc[${SpawnCount[pc guild]}-1]}
//Vitals
VitalAreaInfoText=3,5,170,0,255,255,*****Vitals*****
//HP
HPText=3,5,180,0,255,0,HitPoints:
HP=3,120,180,0,255,255,${If[!${Me.PctHPs} / 100, You Are Dead!, ${Me.PctHPs} / 100]}
//END
ENDText=3,5,190,0,255,0,Endurance:
END=3,120,190,0,255,255,${If[!${Me.PctEndurance} / 100, Out of Endurance!, ${Me.PctEndurance} / 100]}
//Damage Over Time
DoTText=3,5,200,0,255,0,HPDrain:
DoT=3,120,200,0,255,255,${If[${Debuff.HPDrain},${Debuff.HPDrain} Per Tick,]}
//HOTT
HoTTText=3,5,210,25,255,0,HoTT:
HoTT=3,120,210,0,255,255,${If[${Me.LAHoTT},${Me.TargetOfTarget.PctHPs} / 100,]}
//Slowed
SlowedText=3,5,220,0,255,0,Slowed:
Slowed=3,120,220,0,255,255,${If[${Debuff.Slowed},Slowed,]}${If[${Debuff.SpellSlowed},SPELLSLOWED ,]}
//PullHelper
PullHelpText=3,5,230,0,255,0,Mob(s):
PullHelp=3,120,230,0,255,255,${If[${Target.CleanName.NotEqual[NULL]},${SpawnCount[NPC Loc ${Target.X} ${Target.Y} Radius 30]} Mob(s),]}
//AttackSpeed
AttackSpeedText=3,5,240,0,255,0,Attack Speed:
AttackSpeed=3,120,240,0,255,255,${If[${Me.Combat},${Me.AttackSpeed},]}
//Experience
ExpInfoAreaText=3,5,250,0,255,255,*****Experience*****
//XP
XPText=3,5,260,0,255,0,Exp:
XP=3,120,260,0,255,255,${Me.PctExp}
//AAXP
AAXPText=3,5,270,0,255,0,AAExp:
AAXP=3,120,270,0,255,255,${Me.PctAAExp}
//Group Leader XP
GLXPText=3,5,280,0,255,0,GrpExp:
GLXP=3,120,280,0,255,255,${Me.GroupLeaderExp}
//Raid Leader XP
RLXPText=3,5,290,0,255,0,RaidExp:
RLXP=3,120,290,0,255,255,${Me.RaidLeaderExp}
//---------------------------------------------------------------------------------------------------------\\
//TargetInfo
TargetInfoAreaText=3,5,470,0,255,255,*****Target Information*****
//Name
TargetNameText=3,5,480,0,255,0,Name:
TargetName=3,60,480,0,255,255,${If[${Target.CleanName.NotEqual["NULL"]},${Target.CleanName},]}
//Level
TargetLevelText=3,5,490,0,255,0,Level:
TargetLevel=3,60,490,0,255,255,${Target.Level}
//Class
TargetClassText=3,5,500,0,255,0,Class:
TargetClass=3,60,500,0,255,255,${Target.Class}
//GuildName
TargetGuildNameText=3,5,510,0,255,0,Guild:
TargetGuildName=3,60,510,0,255,255,${If[${Target.Guild.NotEqual["NULL"]},${Target.Guild},]}
//GuildRank
TargetGuildRankText=3,5,520,0,255,0,Rank:
TargetGuildRank=3,60,520,0,255,255,${If[${Target.GuildStatus.NotEqual["NULL"]},${Target.GuildStatus},]}
//Distance
TargetDistanceText=3,5,530,0,255,0,Distance:
TargetDistance=3,60,530,0,255,255,${Target.Distance}
//Location
TargetLocationY=3,5,540,0,255,255,Y: ${If[${Target.Y},${Target.Y},]}
TargetLocationX=3,55,540,0,255,255,X: ${If[${Target.X},${Target.X},]}
TargetLocationZ=3,105,540,0,255,255,Z: ${If[${Target.Z},${Target.Z},]}
CursorItem=7,-15,-15,0,255,255,${If[${Cursor.ID},${Cursor},]}
//---------------------------------------------------------------------------------------------------------\\
//Named Spawns
NamedSpawns=3,5,310,0,255,255,***** Named Spawns *****
Spawn1=3,5,320,0,255,0,${If[${Bool[${NearestSpawn[1,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[1,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[1,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[1,npc named].CleanName} (${NearestSpawn[1,npc named].HeadingTo}),No Named]}
Spawn2=3,5,330,0,255,0,${If[${Bool[${NearestSpawn[2,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[2,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[2,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[2,npc named].CleanName} (${NearestSpawn[2,npc named].HeadingTo}),No Named]}
Spawn3=3,5,340,0,255,0,${If[${Bool[${NearestSpawn[3,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[3,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[3,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[3,npc named].CleanName} (${NearestSpawn[3,npc named].HeadingTo}),No Named]}
Spawn4=3,5,350,0,255,0,${If[${Bool[${NearestSpawn[4,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[4,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[4,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[4,npc named].CleanName} (${NearestSpawn[4,npc named].HeadingTo}),No Named]}
Spawn5=3,5,360,0,255,0,${If[${Bool[${NearestSpawn[5,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[5,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[5,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[5,npc named].CleanName} (${NearestSpawn[5,npc named].HeadingTo}),No Named]}
Spawn6=3,5,370,0,255,0,${If[${Bool[${NearestSpawn[6,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[6,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[6,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[6,npc named].CleanName} (${NearestSpawn[6,npc named].HeadingTo}),No Named]}
Spawn7=3,5,380,0,255,0,${If[${Bool[${NearestSpawn[7,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[7,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[7,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[7,npc named].CleanName} (${NearestSpawn[7,npc named].HeadingTo}),No Named]}
Spawn8=3,5,390,0,255,0,${If[${Bool[${NearestSpawn[8,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[8,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[8,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[8,npc named].CleanName} (${NearestSpawn[8,npc named].HeadingTo}),No Named]}
Spawn9=3,5,400,0,255,0,${If[${Bool[${NearestSpawn[9,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[9,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[9,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[9,npc named].CleanName} (${NearestSpawn[9,npc named].HeadingTo}),No Named]}
Spawn10=3,5,410,0,255,0,${If[${Bool[${NearestSpawn[10,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[10,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[10,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[10,npc named].CleanName} (${NearestSpawn[10,npc named].HeadingTo}),No Named]}
Spawn11=3,5,420,0,255,0,${If[${Bool[${NearestSpawn[11,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[11,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[11,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[11,npc named].CleanName} (${NearestSpawn[11,npc named].HeadingTo}),No Named]}
Spawn12=3,5,430,0,255,0,${If[${Bool[${NearestSpawn[12,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[12,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[12,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[12,npc named].CleanName} (${NearestSpawn[12,npc named].HeadingTo}),No Named]}
Spawn13=3,5,440,0,255,0,${If[${Bool[${NearestSpawn[13,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[13,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[13,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[13,npc named].CleanName} (${NearestSpawn[13,npc named].HeadingTo}),No Named]}
Spawn14=3,5,450,0,255,0,${If[${Bool[${NearestSpawn[14,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[14,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[14,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[14,npc named].CleanName} (${NearestSpawn[14,npc named].HeadingTo}),No Named]}
Spawn15=3,5,460,0,255,0,${If[${Bool[${NearestSpawn[15,npc named].Name}]},${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[15,npc named].HeadingTo.Degrees}+375)%360]}<30,^^^,${If[${Math.Calc[(${Me.Heading.Degrees}-${NearestSpawn[15,npc named].HeadingTo.Degrees}+360)%360]}<180,<--,-->]}]} ${NearestSpawn[15,npc named].CleanName} (${NearestSpawn[15,npc named].HeadingTo}),No Named]}
//---------------------------------------------------------------------------------------------------------\\
//Other Stuff {TO BE ADDED SOON}
//---------------------------------------------------------------------------------------------------------\\
//Credits
CreditAreaInfoText=3,5,550,0,255,255,***** Credits *****
CreditText=3,5,560,0,255,0,Psych v1.1


