@@ -11,44 +11,174 @@ local iidxgrade = {
1111 [" Grade_Failed" ] = " F" ,
1212}
1313
14- t [# t + 1 ] = Def .ActorFrame {
15- InitCommand = cmd (x ,SCREEN_CENTER_X - 240 ;y ,SCREEN_CENTER_Y - 200 );
16- LoadFont (" Common Normal" ) .. {
17- Text = tonumber (string.format (" %.0f" , totaliidxscore ));
18- InitCommand = cmd (x ,0 ;y ,160 );
19- OnCommand = function (self )
20- local stageaward = STATSMAN :GetCurStageStats ():GetPlayerStageStats (PLAYER_1 ):GetStageAward ()
21- if stageaward == " StageAward_FullComboW1" then
22- self :settext (" 204620" )
23- elseif stageaward == " StageAward_FullComboW1" then
24- self :settext (tonumber (string.format (" %.0f" , totaliidxscore ))+ 3111 )
14+ local st = STATSMAN :GetCurStageStats ():GetPlayerStageStats (PLAYER_1 )
15+ local scorename = {
16+ [" GREAT2" ] = st :GetTapNoteScores (" TapNoteScore_W1" ),
17+ [" GREAT" ] = st :GetTapNoteScores (" TapNoteScore_W2" ),
18+ [" GOOD" ] = st :GetTapNoteScores (" TapNoteScore_W3" ),
19+ [" BAD" ] = st :GetTapNoteScores (" TapNoteScore_W4" ),
20+ [" POOR" ] = st :GetTapNoteScores (" TapNoteScore_W5" )+ st :GetTapNoteScores (" TapNoteScore_Miss" ),
21+ [" TOTAL SCORE" ] = totaliidxscore ,
22+ [" TOTAL NOTES" ] = radarvalue (" RadarCategory_Notes" ),
23+ [" MAXCOMBO" ] = st :MaxCombo (),
24+ }
25+
26+ local scorehighest = {
27+ st :GetTapNoteScores (" TapNoteScore_W1" ),
28+ st :GetTapNoteScores (" TapNoteScore_W2" ),
29+ st :GetTapNoteScores (" TapNoteScore_W3" ),
30+ st :GetTapNoteScores (" TapNoteScore_W4" ),
31+ st :GetTapNoteScores (" TapNoteScore_W5" )+ st :GetTapNoteScores (" TapNoteScore_Miss" ),
32+ }
33+
34+ local gethighestscore = math.max (unpack (scorehighest ))
35+
36+ local function iidxline (pos1 ,pos2 ,width ,text ,scoremode ,flash )
37+ local text2
38+ if flash then
39+ text2 = " GREAT2"
40+ else
41+ text2 = text
42+ end
43+ return Def .ActorFrame {
44+ Def .Quad {
45+ InitCommand = cmd (halign ,0 ;y ,pos1 ;x ,- (pos2 + 1.25 );zoomto ,width + 2.5 ,25 ;diffuse ,color (" #000000" ));
46+ };
47+ Def .Quad {
48+ InitCommand = cmd (halign ,0 ;y ,pos1 ;x ,- pos2 ;zoomto ,width ,22.5 ;diffuse ,color (" #4a575d" ));
49+ };
50+ Def .Quad {
51+ InitCommand = cmd (halign ,0 ;y ,pos1 ;x ,- pos2 ;zoomto ,5 ,15 ;diffuse ,color (" 0,0,0,0" ));
52+ OnCommand = function (self )
53+ if scoremode then
54+ self :diffuse (color (" 0,0,0,1" ))
55+ if scorename [text2 ] == gethighestscore then
56+ self :diffuseblink ():effectperiod (0.1 ):effectcolor1 (color (" 0,0,0,1" )):effectcolor2 (color (" #ffd73c" ))
57+ end
58+ end
59+ end ;
60+ };
61+ LoadFont (" Common Normal" ) .. {
62+ Text = " 0000" ;
63+ InitCommand = cmd (halign ,1 ;y ,pos1 ;x ,(width - pos2 - 10 );zoomx ,1.6 ;diffuse ,color (" #05c5db" );strokecolor ,color (" #000000" );diffusealpha ,0.5 );
64+ OnCommand = function (self )
65+ if string.find (text , " SCORE" ) then
66+ self :settext (" 000000" )
67+ end
2568 end
26- end
69+ };
70+ Def .Quad {
71+ InitCommand = cmd (halign ,1 ;y ,pos1 ;x ,(width - pos2 );zoomto ,33 ,22.5 ;diffuse ,color (" #4a575d" ));
72+ OnCommand = function (self )
73+ if scorename [text2 ] > 99999 then
74+ self :zoomto (145 ,22.5 )
75+ elseif scorename [text2 ] > 9999 then
76+ self :zoomto (122.5 ,22.5 )
77+ elseif scorename [text2 ] > 999 then
78+ self :zoomto (100 ,22.5 )
79+ elseif scorename [text2 ] > 99 then
80+ self :zoomto (77.5 ,22.5 )
81+ elseif scorename [text2 ] > 9 then
82+ self :zoomto (55 ,22.5 )
83+ else
84+ self :zoomto (32.5 ,22.5 )
85+ end
86+ self :sleep (0.01 )
87+ self :queuecommand (" On" )
88+ end ;
89+ };
90+ LoadFont (" Common Normal" ) .. {
91+ Text = text ;
92+ InitCommand = cmd (halign ,0 ;y ,pos1 ;x ,- (pos2 - 10 );zoomx ,0.7 ;zoomy ,0.6 );
93+ OnCommand = function (self )
94+ if scoremode then
95+ self :x (- (pos2 - 20 ))
96+ self :zoomx (1 )
97+ end
98+ if flash then
99+ self :diffuseblink ():effectperiod (0.1 ):effectcolor1 (color (" #f85890" )):effectcolor2 (color (" #5888f8" ))
100+ end
101+ end ;
102+ };
103+ LoadFont (" Common Normal" ) .. {
104+ InitCommand = cmd (halign ,1 ;y ,pos1 ;x ,(width - pos2 - 10 );zoomx ,1.6 ;diffuse ,color (" #05c5db" );strokecolor ,color (" #000000" ));
105+ OnCommand = function (self )
106+ if string.find (text , " TOTAL SCORE" ) then
107+ local stageaward = STATSMAN :GetCurStageStats ():GetPlayerStageStats (PLAYER_1 ):GetStageAward ()
108+ if stageaward == " StageAward_FullComboW1" then
109+ self :settext (" 204620" )
110+ elseif iidxlifetable [# iidxlifetable ] == 80 and stageaward == " StageAward_FullComboW2" then
111+ self :settext (tonumber (string.format (" %.0f" , totaliidxscore ))+ 11900 )
112+ elseif stageaward == " StageAward_FullComboW2" then
113+ self :settext (tonumber (string.format (" %.0f" , totaliidxscore ))+ 3111 )
114+ elseif iidxlifetable [# iidxlifetable ] == 80 then
115+ self :settext (tonumber (string.format (" %.0f" , totaliidxscore ))+ 5730 )
116+ else
117+ self :settext (tonumber (string.format (" %.0f" , totaliidxscore )))
118+ end
119+ elseif string.find (text , " TOTAL NOTES" ) then
120+ self :settext (radarvalue (" RadarCategory_Notes" ))
121+ elseif string.find (text , " MAXCOMBO" ) then
122+ self :settext (st :MaxCombo ())
123+ elseif string.find (text , " GREAT" ) then
124+ if flash then
125+ self :settext (st :GetTapNoteScores (" TapNoteScore_W1" ))
126+ else
127+ self :settext (st :GetTapNoteScores (" TapNoteScore_W2" ))
128+ end
129+ elseif string.find (text , " GOOD" ) then
130+ self :settext (st :GetTapNoteScores (" TapNoteScore_W3" ))
131+ elseif string.find (text , " BAD" ) then
132+ self :settext (st :GetTapNoteScores (" TapNoteScore_W4" ))
133+ elseif string.find (text , " POOR" ) then
134+ self :settext (st :GetTapNoteScores (" TapNoteScore_W5" )+ st :GetTapNoteScores (" TapNoteScore_Miss" ))
135+ else
136+ self :settext (" 0" )
137+ end
138+ end
139+ };
140+ };
141+
142+ end
143+
144+ t [# t + 1 ] = Def .ActorFrame {
145+ InitCommand = cmd (x ,SCREEN_CENTER_X - 240 ;y ,SCREEN_CENTER_Y - 190 );
146+ Def .Quad {
147+ InitCommand = cmd (y ,60 ;x ,- 5 ;zoomto ,310 ,207.5 ;diffuse ,color (" 0,0,0,1" ));
27148 };
28149 Def .Quad {
29- InitCommand = cmd (zoomto , 280 , 90 * 1.6 ; diffuse , color ( " 0,0 .5,0,0.5 " ); valign , 0 );
150+ InitCommand = cmd (y , 60 ; x , - 152.5 ; zoomto , 2 .5 ,195 ; diffuse , color ( " #ffd73c " ) );
30151 };
31152 Def .Quad {
32- InitCommand = cmd (zoomto ,280 , 20 * 1.6 ;diffuse ,color (" 0.5,0,0,0 .5" );valign ,1 );
153+ InitCommand = cmd (zoomto ,290 , 80 * 1.85 ;diffuse ,color (" 0,0 .5,0,0.5" );valign ,0 );
33154 };
155+ Def .Quad {
156+ InitCommand = cmd (zoomto ,290 ,20 * 1.85 ;diffuse ,color (" 0.5,0,0,0.5" );valign ,1 );
157+ };
158+
159+ iidxline (180 ,150 ,270 ," STAGE SCORE" );
160+ iidxline (205 ,150 ,230 ," TOTAL NOTES" );
161+ iidxline (230 ,150 ,230 ," MAXCOMBO" );
162+
163+ iidxline (265 ,150 ,210 ," GREAT" ,true ,true );
164+ iidxline (290 ,150 ,210 ," GREAT" ,true );
165+ iidxline (315 ,150 ,210 ," GOOD" ,true );
166+ iidxline (340 ,150 ,210 ," BAD" ,true );
167+ iidxline (365 ,150 ,210 ," POOR" ,true );
168+
169+ iidxline (395 ,170 ,270 ," TOTAL SCORE" );
34170};
35171local lifetable = {};
36172for i = 1 ,# iidxlifetable do
37- local iidxlinecolour = color (" 0,1,0,1" )
38- if iidxlifetable [i ] > 79 then
39- iidxlinecolour = color (" 1,0,0,1" )
40- end
41- lifetable [i ] = {{i / (# iidxlifetable / 280 ), - iidxlifetable [i ]* 1.6 , 0 }, iidxlinecolour }
42- --[[ t[#t+1] = Def.ActorFrame {
43- InitCommand=cmd(x,SCREEN_CENTER_X-90;y,SCREEN_CENTER_Y+80);
44- Def.Quad {
45- InitCommand=cmd(zoomto,1,1;diffuse,color("0,0,0,1");y,-iidxlifetable[i];x,i/(#iidxlifetable/150));
46- };
47- };--]]
173+ local iidxlinecolour = color (" 0,1,0,1" )
174+ if iidxlifetable [i ] > 79 then
175+ iidxlinecolour = color (" 1,0,0,1" )
176+ end
177+ lifetable [i ] = {{i / (# iidxlifetable / 290 ), - iidxlifetable [i ]* 1.85 , 0 }, iidxlinecolour }
48178end
49179
50180t [# t + 1 ] = Def .ActorFrame {
51- InitCommand = cmd (x ,SCREEN_CENTER_X - 140 - 240 ;y ,SCREEN_CENTER_Y + 80 * 1.6 - 200 );
181+ InitCommand = cmd (x ,SCREEN_CENTER_X - 145 - 240 ;y ,SCREEN_CENTER_Y + 80 * 1.85 - 190 );
52182 Def .ActorMultiVertex {
53183 OnCommand = function (self )
54184 self :SetDrawState {Mode = " DrawMode_LineStrip" };
@@ -60,13 +190,13 @@ t[#t+1] = Def.ActorFrame {
60190};
61191
62192t [# t + 1 ] = Def .ActorFrame {
63- InitCommand = cmd (x ,SCREEN_CENTER_X - 240 ;y ,SCREEN_CENTER_Y - 200 );
193+ InitCommand = cmd (x ,SCREEN_CENTER_X - 240 ;y ,SCREEN_CENTER_Y - 190 );
64194 LoadFont (" Common Normal" ) .. {
65195 Text = " DJ LEVEL" ;
66- InitCommand = cmd (x ,- 115 ;y ,80 * 1.6 ;zoomy ,0.5 ;halign ,0 );
196+ InitCommand = cmd (x ,- 132.5 ;y ,132.5 ; zoomx , 1.25 ;zoomy ,0.5 ;halign ,0 );
67197 };
68198 LoadFont (" Common Normal" ) .. {
69- InitCommand = cmd (x ,107 .5 ;y ,40 * 1.6 ;halign ,1 ;diffuse ,color (" #a2f1f3" );strokecolor ,color (" #000000" );zoom ,4.5 );
199+ InitCommand = cmd (x ,132 .5 ;y ,75 ;halign ,1 ;diffuse ,color (" #a2f1f3" );strokecolor ,color (" #000000" );zoom ,4.5 ; zoomx , 5 .5 );
70200 OnCommand = function (self )
71201 if iidxlifetable [# iidxlifetable ] > 79 then
72202 self :settext (iidxgrade [STATSMAN :GetCurStageStats ():GetPlayerStageStats (PLAYER_1 ):GetGrade ()])
@@ -75,6 +205,10 @@ t[#t+1] = Def.ActorFrame {
75205 end
76206 end
77207 };
208+ LoadFont (" Common Normal" ) .. {
209+ Text = " PLAYER01 SCORE REPORT" ;
210+ InitCommand = cmd (x ,- 140 ;y ,155 ;zoomx ,0.6 ;zoomy ,0.4 ;halign ,0 );
211+ };
78212};
79213
80214return t ;
0 commit comments