]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/scores.qc
player stats: send all info from scoreboard
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / scores.qc
index b0f9293db27344666d605ba4cb5f3b2b55977778..be843339729ddb09ac5bfe34f3742899baccc93c 100644 (file)
@@ -150,6 +150,8 @@ void ScoreInfo_SetLabel_PlayerScore(float i, string label, float scoreflags)
                scores_primary = scores[i];
                scores_flags_primary = scoreflags;
        }
+       PlayerStats_AddEvent(strcat(PLAYERSTATS_TOTAL, label));
+       PlayerStats_AddEvent(strcat(PLAYERSTATS_SCOREBOARD, label));
 }
 
 void ScoreInfo_SetLabel_TeamScore(float i, string label, float scoreflags)
@@ -257,7 +259,6 @@ void PlayerScore_Clear(entity player)
                        if(scores_label[i] != "")
                                sk.SendFlags |= pow(2, i);
                sk.(scores[i]) = 0;
-               // do NOT clear scores_accumulated!
        }
 }
 
@@ -276,7 +277,6 @@ void Score_ClearAll()
                                if(scores_label[i] != "")
                                        sk.SendFlags |= pow(2, i);
                        sk.(scores[i]) = 0;
-                       // do NOT clear scores_accumulated!
                }
        }
        for(t = 0; t < 16; ++t)
@@ -333,6 +333,7 @@ float PlayerScore_Add(entity player, float scorefield, float score)
        if(score)
                if(scores_label[scorefield] != "")
                        s.SendFlags |= pow(2, scorefield);
+       PlayerStats_Event(s.owner, strcat(PLAYERSTATS_TOTAL, scores_label[scorefield]), score);
        s.(scores_accumulated[scorefield]) += score;
        return (s.(scores[scorefield]) += score);
 }
@@ -868,3 +869,14 @@ void Score_NicePrint(entity to)
        }
 }
 
+void PlayerScore_PlayerStats(entity p)
+{
+       entity s;
+       float i;
+       s = p.scorekeeper;
+
+       for(i = 0; i < MAX_SCORE; ++i)
+               if(s.(scores[i]) != 0)
+                       if(scores_label[i] != "")
+                               PlayerStats_Event(s.owner, strcat(PLAYERSTATS_SCOREBOARD, scores_label[i]), s.(scores[i]));
+}