From 7ac01e463577e25a274cb7ff7c38ccff49d04695 Mon Sep 17 00:00:00 2001 From: FruitieX Date: Fri, 15 Apr 2011 20:01:06 +0300 Subject: [PATCH] add some more stuff to playerstats: 1) In header: W: winning team ID 2) In stats section: t = all following "P" lines will be players on this team, e rank = rank of a player --- qcsrc/server/playerstats.qc | 12 ++++++++---- qcsrc/server/playerstats.qh | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/qcsrc/server/playerstats.qc b/qcsrc/server/playerstats.qc index 70ca6c912..663a59b32 100644 --- a/qcsrc/server/playerstats.qc +++ b/qcsrc/server/playerstats.qc @@ -23,7 +23,7 @@ void PlayerStats_Init() PlayerStats_AddEvent(PLAYERSTATS_MATCHES); PlayerStats_AddEvent(PLAYERSTATS_JOINS); PlayerStats_AddEvent(PLAYERSTATS_SCOREBOARD_VALID); - PlayerStats_AddEvent(PLAYERSTATS_TEAM); + PlayerStats_AddEvent(PLAYERSTATS_RANK); PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_3); PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_5); @@ -175,7 +175,7 @@ void PlayerStats_Sent_URI_Get_Callback(float id, float status, string data) total-: total score of that scoreboard item scoreboard-: end-of-game score of that scoreboard item (can differ in non-team games) achievement-: achievement counters - player-rank : rank of player + rank : rank of player */ //#NO AUTOCVARS START @@ -211,6 +211,9 @@ void PlayerStats_Shutdown() bufstr_set(b, i++, sprintf("C %d", cvar_purechanges_count)); if(teams_matter) { + entity winner; + winner = PlayerScore_Sort(score_dummyfield); + bufstr_set(b, i++, sprintf("W %d", winner.team)); for(t = teamstats_last; (tn = db_get(playerstats_db, sprintf("%s", t))) != ""; t = tn) { bufstr_set(b, i++, strcat("t ", t)); @@ -234,7 +237,6 @@ void PlayerStats_Shutdown() } bufstr_set(b, i++, ""); } - bufstr_set(b, i++, ""); } else { for(p = playerstats_last; (pn = db_get(playerstats_db, sprintf("%s:*", p))) != ""; p = pn) @@ -305,7 +307,8 @@ void PlayerStats_AddGlobalInfo(entity p) void PlayerStats_EndMatch(float finished) { - entity p; + entity p, winner; + winner = PlayerScore_Sort(score_dummyfield); FOR_EACH_PLAYER(p) { PlayerScore_PlayerStats(p); @@ -314,6 +317,7 @@ void PlayerStats_EndMatch(float finished) { PlayerStats_Event(p, PLAYERSTATS_WINS, p.winning); PlayerStats_Event(p, PLAYERSTATS_MATCHES, 1); + PlayerStats_Event(p, PLAYERSTATS_RANK, p.score_dummyfield); } } } diff --git a/qcsrc/server/playerstats.qh b/qcsrc/server/playerstats.qh index dc9ac7c5f..f546e5605 100644 --- a/qcsrc/server/playerstats.qh +++ b/qcsrc/server/playerstats.qh @@ -4,7 +4,7 @@ string PLAYERSTATS_WINS = "wins"; string PLAYERSTATS_MATCHES = "matches"; string PLAYERSTATS_JOINS = "joins"; string PLAYERSTATS_SCOREBOARD_VALID = "scoreboardvalid"; -string PLAYERSTATS_TEAM = "team"; +string PLAYERSTATS_RANK = "rank"; string PLAYERSTATS_TOTAL = "total-"; string PLAYERSTATS_SCOREBOARD = "scoreboard-"; -- 2.39.2