the thought of tearing apart other's UIs is the best way, but let me see if I can give ya a start.
You can use just about any MQ DataType as a label within a UI. The way you would do this is when making the label in your UI, use <EQType>9999</EQType> so Macroquest can then recognize there's an MQ Data Label it needs to grab and interpret.
Then MQ looks for the Data Types which you place in <TooltipReference>${MQ2DataType}</TooltipReference>...
Thats about it.. heres a very small example of placing real time within a Label:
Code: Select all
<Label item="Time">
<ScreenID>Time</ScreenID>
<EQType>9999</EQType>
<Font>2</Font>
<RelativePosition>true</RelativePosition>
<TooltipReference>${Time.Time12}</TooltipReference>
<Location>
<X>85</X>
<Y>5</Y>
</Location>
<Size>
<CX>45</CX>
<CY>12</CY>
</Size>
<Text>%</Text>
<TextColor>
<R>255</R>
<G>255</G>
<B>255</B>
</TextColor>
<NoWrap>true</NoWrap>
<AlignCenter>False</AlignCenter>
<AlignRight>True</AlignRight>
<AlignLeft>false</AlignLeft>
</Label>
If Statements are also possible, but you have to use a data type to do it. Heres an example:
Code: Select all
<Label item="MQ_GMStatus">
<Font>1</Font>
<ScreenID>MQ_GMStatus</ScreenID>
<EQType>9999</EQType>
<TooltipReference>GM = ${If[${Spawn[gm].ID},True,False]}</TooltipReference>
<RelativePosition>true</RelativePosition>
<Location>
<X>902</X>
<Y>28</Y>
</Location>
<Size>
<CX>60</CX>
<CY>17</CY>
</Size>
<Text>10000</Text>
<TextColor>
<R>255</R>
<G>255</G>
<B>255</B>
</TextColor>
<NoWrap>true</NoWrap>
<AlignCenter>false</AlignCenter>
<AlignRight>false</AlignRight>
<AlignLeft>true</AlignLeft>
</Label>
This is just a simple GM check, I know they are not reliable as we cant sense GM invis, but I'm just using this to show an if statement.
Dont forget to declare your peices as you would with any UI, MQ or no MQ.. :)
Code: Select all
<Pieces>MQ_GMStatus</Pieces>
<Pieces>Time</Pieces>
Well, I hope that this helps.