-
Notifications
You must be signed in to change notification settings - Fork 2
/
CpProgress.Script.txt
74 lines (59 loc) · 2.69 KB
/
CpProgress.Script.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#Include "Libs/smokegun/Tools.Script.txt" as Tools
#Const Version "2018-10-26"
#Const ScriptName "CpProgress.Script.txt"
Void UpdateLayer(CSmPlayer _Player) { }
Text GetLayer() {
return """
<manialink version="3" name="Obstacle:CpProgress">
<frame pos="0 -83">
<label id="Label_CheckpointsTotal" pos="0 4" size="10 10" textsize="3" translate="1" halign="center" valign="center2" text="CP 64" textfont="OswaldMono"/>
<label id="Label_CPProgress" pos="0 -3" size="7 7" textsize="5" translate="1" halign="center" valign="center2" text="64" textfont="OswaldMono"/>
<quad pos="-7.5 1.5" z-index="0" size="15 0.2" bgcolor="FFFA"/>
<quad pos="0 0" z-index="0" size="15 15" style="BgRaceScore2" substyle="BgCardPlayer" halign="center" valign="center"/>
</frame>
<script><!--
#Include "TextLib" as TL
Integer GetTime(CPlayer _Player) {
if (_Player == Null)
return 0;
declare netread Net_StartTime for _Player = 0;
return GameTime - Net_StartTime;
}
main() {
wait(InputPlayer != Null && Page != Null);
declare Label_CPProgress <=> (Page.GetFirstChild("Label_CPProgress") as CMlLabel);
declare Label_CheckpointsTotal <=> (Page.GetFirstChild("Label_CheckpointsTotal") as CMlLabel);
declare LastCp = -1;
declare LastCpTotal = -1;
while (True) {
yield;
if (!PageIsVisible)
continue;
declare LocalPlayer <=> InputPlayer;
if (GUIPlayer != Null) LocalPlayer <=> GUIPlayer;
if (LocalPlayer == Null) continue;
declare netread Net_CheckpointsTotal for Teams[0] = -1;
declare netread Net_StartTime for LocalPlayer = -1;
declare netread Net_CpProgress for LocalPlayer = -1;
if (Label_CPProgress.Visible &&
(Net_CpProgress < 0 || Net_CheckpointsTotal < 0 || Net_StartTime < 0)) {
Label_CPProgress.Hide();
} else if (LastCp != Net_CpProgress) {
Label_CPProgress.Show();
Label_CPProgress.SetText(""^Net_CpProgress);
}
if (Label_CheckpointsTotal.Visible &&
(Net_CpProgress < 0 || Net_CheckpointsTotal < 0 || Net_StartTime < 0)) {
Label_CheckpointsTotal.Hide();
} else if (LastCpTotal != Net_CheckpointsTotal) {
Label_CheckpointsTotal.Show();
if (Net_CheckpointsTotal > 1)
Label_CheckpointsTotal.SetText(Net_CheckpointsTotal^" CPS");
else
Label_CheckpointsTotal.SetText(Net_CheckpointsTotal^" CP");
}
}
}
--></script>
</manialink>""";
}