NamingSpawn
So this topic doesn't have it's own Forum catagory that I saw. So I'm creating a thread in Macro Mania because it's to do with coding logic that follows along the same guidelines as the MQ2HUD.ini in a way.
I'm talking about the [Captions] section of Macroquest.ini that most people don't even know exists. The [Captions] section uses a little known TLO that's not echoable in MQ2 that inherits the "Spawn" datatype to display information on NPC's and players. It's the code that shows you the details of player/NPC/pet spawns in MQ2.
Why do you care? Well recently I created a HUD that got a lot of positive attention. the logic used to create the HUD is a lot like the logic that will be used to explain the captions section of Macroquest.ini
What can you do with [Captions] section of the Macroquest2.ini, well. See for yourself what I've done in a few minutes of coding using the ${NamingSpawn} TLO.
This is an altered form of the [Captions] section of the macroquest.ini
I've changed NPC= section to display the information I want to see.
The ${NamingSpawn} inherits the spawn data type. https://macroquest2.com/wiki/index.php/DataType:spawn
While the wiki is certainly dated, just with that link alone you can find a lot of information. Basically anything you see in that list should be allowed to attach to the end of ${NamingSpawn}. You can test them with ${Target.datamember} IE: ${NamingSpawn.Body} will display "Humaniod", "Animal", "Plant", "Undead", etc so you can just look at the targets name and see if you can use your body specific spells/banestrike. I've added distance using ${NamingSpawn.Distance} and there is a lot more that you can add that I just haven't done yet.
Limitations - You're only allowed two lines. So while you can \n to go to a next line, you can only do this once as two lines is the maximum.
Player1, Player2, Player3, etc......what does it mean? The players are directly attached to /shownames 1, 2, 3, 4 etc in game. This only applies to player information.
So if you want /shownames 1 to not show anything at all, you can do something like. Player1=${If[${NamingSpawn.ID},,]}
Someone recently mentioned mobs Feigning Death in EQ. Well perhaps you want to add ${NamingSpawn.Feigning} to the display of NPC's? ${If[${NamingSpawn.Feigning},FD,]} will display FD if the NPC is FD.
Want to know what spell a player is casting? Add ${If[${NamingSpawn.Casting.ID}, Casting: ${NamingSpawn.Casting},]} to the Player# you want to show that information. Great for PVP when you want to stop a player from casting a heal by stunning them but don't want to waste your bash/stun on a trivial spell that won't save their life. /evil grin.
So as you can see this is a very powerful feature that most players either don't know exists or don't know how to edit.
Got your captions setup already? type /captions anon on, then take a screenshot and post it along with the associated code!
~Chatwiththisname
--Update-- [QUOTE=KingArthur;348346] And is there anyway to reload the settings other than a totally relog?? is there any slash command like /reload or something? Ty'''
I completely overlooked this question. The answer is YES~!
So if you make changes and want to test them you have to type
1
/unload
Copied!
Then right click on the tray icon for MQ2 and hit "Refresh injections"
That will effectively reload the MacroQuest.ini and update your [Captions]
I don't know of any other way other than this.
How does an ${If[,,,]} statement work?
The following is how an ${If[,,,]} statement works.
1
${If[ThisIsTrue,DoThis,ElseDoThis]}
Copied!
How does a ${Select[,]} statement work?
The following is how a ${Select[,]} statement works.
1
${Select[CompareThis,toThis,andThis,andThis]}
Copied!
if CompareThis is equal toThis, OR andThis, OR andThis then it evaluates TRUE.
Example of a Select statement.
1
${Select[${NamingSpawn.ID},${Group.Member[1].ID},${Group.Member[2].ID},${Group.Member[3].ID}]}
Copied!
The above code evaluates true if the Spawn's ID is the first, second, or third group member in your group window.
How do I nest an ${Select[,]} inside an ${If[,,,]}
You would do
1
${If[${Select[CompareThis,toThis,andThis,andThis]},IfTrueDoThis,IfFalseDoThis]}
Copied!
What if I don't want it to do anything if it's false?
You leave the Else portion blank.
1
${If[ThisIsTrue,DoThis,]}
Copied!
What can I do with ${NamingSpawn}
NamingSpawn appears to inherit all members of ${Spawn[]} TLO. Therefore the following list should be available to ${NamingSpawn}. Some things may only apply to the current character you are playing.
1
[spawn]
2
Member1=ID
3
Member2=Name
4
Member3=Level
5
Member4=X
6
Member5=Y
7
Member6=Z
8
Member7=DistanceX
9
Member8=DistanceY
10
Member9=DistanceZ
11
Member10=Distance
12
Member11=Distance3D
13
Member12=DistancePredict
14
Member13=Next
15
Member14=Prev
16
Member15=Heading
17
Member16=Speed
18
Member17=Levitating
19
Member18=Sneaking
20
Member19=HeadingTo
21
Member20=Light
22
Member21=Body
23
Member22=State
24
Member23=CurrentHPs
25
Member24=MaxHPs
26
Member25=PctHPs
27
Member26=Deity
28
Member28=Type
29
Member29=CleanName
30
Member30=Surname
31
Member31=Guild
32
Member32=GuildStatus
33
Member33=Master
34
Member34=Pet
35
Member35=Race
36
Member36=Class
37
Member38=Gender
38
Member39=GM
39
Member40=Height
40
Member41=MaxRange
41
Member42=AARank
42
Member43=Casting
43
Member44=Mount
44
Member45=FeetWet
45
Member46=Underwater
46
Member48=Animation
47
Member49=Holding
48
Member50=Look
49
Member51=N
50
Member52=W
51
Member53=U
52
Member54=S
53
Member55=E
54
Member56=D
55
Member57=DistanceN
56
Member58=DistanceW
57
Member59=DistanceU
58
Member60=Invis
59
Member61=Linkdead
60
Member62=LFG
61
Member63=Trader
62
Member64=AFK
63
Member65=ConColor
64
Member67=Standing
65
Member68=Sitting
66
Member69=Ducking
67
Member70=Feigning
68
Member71=Binding
69
Member72=Invited
70
Member73=NearestSpawn
71
Member74=MaxRangeTo
72
Member75=DisplayName
73
Member76=AATitle
74
Member77=GroupLeader
75
Member78=Mark
76
Member79=Assist
77
Member80=Anonymous
78
Member81=Roleplaying
79
Member82=LineOfSight
80
Member83=HeadingToLoc
81
Member84=Title
82
Member85=Suffix
83
Member86=Fleeing
84
Member87=Named
85
Member88=Buyer
86
Member89=Moving
87
Member90=StandState
88
Member91=Dead
89
Member92=Stunned
90
Member93=Hovering
91
Member94=CurrentMana
92
Member95=MaxMana
93
Member96=CurrentEndurance
94
Member97=PctEndurance
95
Member98=MaxEndurance
96
Member99=Loc
97
Member100=LocYX
98
Member101=LocYXZ
99
Member102=Owner
100
Member103=Following
101
Member104=Address
102
Member105=Inviter
103
Member106=MercID
104
Member107=ContractorID
105
Member108=PctMana
106
Member109=Primary
107
Member110=Secondary
108
Member111=Equipment
109
Member112=Targetable
110
Member113=PlayerState
111
Member114=Stuck
112
Member115=Aggressive
113
Member116=CanSplashLand
114
Member117=IsBerserk
115
Member118=pTouchingSwitch
116
Member119=bShowHelm
117
Member120=CorpseDragCount
118
Member121=bBetaBuffed
119
Member122=CombatSkillTicks
120
Member123=FD
121
Member124=InPvPArea
122
Member125=bAlwaysShowAura
123
Member126=GMRank
124
Member127=WarCry
125
Member128=IsPassenger
126
Member129=LastCastTime
127
Member130=DragNames
128
Member131=DraggingPlayer
129
Member132=bStationary
130
Member133=BearingToTarget
131
Member134=bTempPet
132
Member135=HoldingAnimation
133
Member136=Blind
134
Member137=LastCastNum
135
Member138=CollisionCounter
136
Member139=CeilingHeightAtCurrLocation
137
Member140=AssistName
138
Member141=SeeInvis
139
Member142=SpawnStatus
140
Member143=bWaitingForPort
141
Member144=EQLoc
142
Member145=MQLoc
143
Member146=TimeBeenDead
144
Member147=FloorZ
145
Member148=IsSummoned
146
Member149=TargetOfTarget
Copied!
Mez Detection for NPC's.
1
${If[${Select[${NamingSpawn.Animation},110,26,32,71,72,111]} && ${Select[${NamingSpawn.ID},${Me.XTarget[1].ID},${Me.XTarget[2].ID},${Me.XTarget[3].ID},${Me.XTarget[4].ID},${Me.XTarget[5].ID},${Me.XTarget[5].ID},${Me.XTarget[6].ID},${Me.XTarget[7].ID},${Me.XTarget[8].ID},${Me.XTarget[9].ID},${Me.XTarget[10].ID},${Me.XTarget[11].ID},${Me.XTarget[12].ID},${Me.XTarget[13].ID},${Me.XTarget[14].ID},${Me.XTarget[15].ID}]},>>>Mezzed<<<,]}
Copied!
Group Role Detection for Main Tank, Main Assist, and Puller to go on Player#
1
${If[${NamingSpawn.ID}==${Group.MainAssist.ID}, MA,]}
2
${If[${NamingSpawn.ID}==${Group.MainTank.ID}, MT,]}
3
${If[${NamingSpawn.ID}==${Group.Puller.ID}, Puller,]}
Copied!
Last modified 4mo ago
Copy link