I managed to understand the basics of the interface designer and learned how to make a menu, but I couldn't find any options for in-game HUD.
I have a TrackMania title and I want to make the timer (and the speedometer) green.

Moderator: NADEO
Code: Select all
Text SpeedAndDistance() {
return """
<manialink version="1" name="Lib_UI:SpeedAndDistance">
<frame posn="158 -79.5 5" id="Frame_Global">
<format textemboss="1" />
<label posn="-6 0" sizen="30 6" halign="right" valign="bottom" style="TextRaceChrono" textsize="2" text="0" id="Label_Distance" />
<label posn="0 0" sizen="8 6" halign="right" valign="bottom" textsize="1" textemboss="0" text="m" />
<label posn="0 -10" sizen="30 6" halign="right" valign="bottom" style="TextRaceChrono" textsize="8" text="0" id="Label_Speed" />
</frame>
<script><!--
#Include "TextLib" as TL
#Include "MathLib" as ML
main() {
declare Frame_Global <=> (Page.GetFirstChild("Frame_Global") as CMlFrame);
declare Label_Distance <=> (Page.GetFirstChild("Label_Distance") as CMlLabel);
declare Label_Speed <=> (Page.GetFirstChild("Label_Speed") as CMlLabel);
while (True) {
yield;
Frame_Global.Visible = (InputPlayer != Null && InputPlayer.IsSpawned);
if (!Frame_Global.Visible) continue;
Label_Distance.Value = TL::ToText(ML::FloorInteger(InputPlayer.Distance));
Label_Speed.Value = TL::ToText(ML::FloorInteger(InputPlayer.Speed * 3.6));
}
}
--></script>
</manialink>""";
}
Code: Select all
In the top of the script:
#Include "Libs/Nadeo/Layers2.Script.txt" as Layers
Inside ***StartServer*** label (when using a script running on ModeBase):
Layers::Create("Speedometer", SpeedAndDistance());
Layers::Attach("Speedometer");
UIManager.UIAll.OverlayHideSpeedAndDist = True; ///< Hides default speedometer
Code: Select all
#Const CompatibleMapTypes "Race"
Users browsing this forum: No registered users and 2 guests