From d17eaa6d6ed46e500a49bf04e336e1a4379a9457 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Tue, 16 Aug 2011 14:46:41 +0200 Subject: [PATCH] put the kill matrix in the player stats data currently only counts real kills, no teamkills or the like --- qcsrc/server/cl_client.qc | 2 ++ qcsrc/server/g_damage.qc | 2 ++ qcsrc/server/playerstats.qc | 5 +++++ 3 files changed, 9 insertions(+) diff --git a/qcsrc/server/cl_client.qc b/qcsrc/server/cl_client.qc index c3adfe781d..0cf0d9ea51 100644 --- a/qcsrc/server/cl_client.qc +++ b/qcsrc/server/cl_client.qc @@ -1637,6 +1637,8 @@ void ClientConnect (void) self.playerid = (playerid_last = playerid_last + 1); + PlayerStats_AddEvent(sprintf("kills-%d", self.playerid)); + if(clienttype(self) == CLIENTTYPE_BOT) PlayerStats_AddPlayer(self); diff --git a/qcsrc/server/g_damage.qc b/qcsrc/server/g_damage.qc index 5975adf8a8..d6020bd349 100644 --- a/qcsrc/server/g_damage.qc +++ b/qcsrc/server/g_damage.qc @@ -124,6 +124,8 @@ void GiveFrags (entity attacker, entity targ, float f, float deathtype) { // regular frag PlayerScore_Add(attacker, SP_KILLS, 1); + if(targ.playerid) + PlayerStats_Event(attacker, sprintf("kills-%d", targ.playerid), 1); } PlayerScore_Add(targ, SP_DEATHS, 1); diff --git a/qcsrc/server/playerstats.qc b/qcsrc/server/playerstats.qc index 402930f89b..c691d542bb 100644 --- a/qcsrc/server/playerstats.qc +++ b/qcsrc/server/playerstats.qc @@ -232,6 +232,9 @@ void PlayerStats_Shutdown() for(p = playerstats_last; (pn = db_get(playerstats_db, sprintf("%s:*", p))) != ""; p = pn) { bufstr_set(b, i++, sprintf("P %s", p)); + nn = db_get(playerstats_db, sprintf("%s:_playerid", p)); + if(nn != "") + bufstr_set(b, i++, sprintf("i %s", nn)); nn = db_get(playerstats_db, sprintf("%s:_netname", p)); if(nn != "") bufstr_set(b, i++, sprintf("n %s", nn)); @@ -285,6 +288,8 @@ void PlayerStats_AddGlobalInfo(entity p) if(p.alivetime) PlayerStats_Event(p, PLAYERSTATS_ALIVETIME, time - p.alivetime); + + db_put(playerstats_db, sprintf("%s:_netname", p.playerstats_id), ftos(p.playerid)); if(p.cvar_cl_allow_uid2name == 1 || clienttype(p) == CLIENTTYPE_BOT) db_put(playerstats_db, sprintf("%s:_netname", p.playerstats_id), p.netname); -- 2.39.2