From: FruitieX Date: Mon, 18 Apr 2011 15:03:10 +0000 (+0300) Subject: send weapon accuracy stats X-Git-Tag: xonotic-v0.5.0~220^2~5^2~14 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=6cc9b7ba6a6706cb580905cee622811a5bb72f6c;p=xonotic%2Fxonotic-data.pk3dir.git send weapon accuracy stats --- diff --git a/qcsrc/server/playerstats.qc b/qcsrc/server/playerstats.qc index 663a59b32..0620a072b 100644 --- a/qcsrc/server/playerstats.qc +++ b/qcsrc/server/playerstats.qc @@ -25,6 +25,37 @@ void PlayerStats_Init() PlayerStats_AddEvent(PLAYERSTATS_SCOREBOARD_VALID); PlayerStats_AddEvent(PLAYERSTATS_RANK); + PlayerStats_AddEvent(PLAYERSTATS_ACC_LASER_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_LASER_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_SHOTGUN_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_SHOTGUN_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_UZI_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_UZI_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_GRENADE_LAUNCHER_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_GRENADE_LAUNCHER_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_ELECTRO_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_ELECTRO_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_CRYLINK_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_CRYLINK_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_NEX_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_NEX_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_HAGAR_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_HAGAR_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_ROCKET_LAUNCHER_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_ROCKET_LAUNCHER_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_MINSTANEX_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_MINSTANEX_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_SNIPERRIFLE_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_SNIPERRIFLE_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_FIREBALL_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_FIREBALL_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_MINE_LAYER_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_MINE_LAYER_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_SEEKER_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_SEEKER_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACC_TUBA_HIT); + PlayerStats_AddEvent(PLAYERSTATS_ACC_TUBA_FIRED); + PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_3); PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_5); PlayerStats_AddEvent(PLAYERSTATS_ACHIEVEMENT_KILL_SPREE_10); @@ -305,6 +336,43 @@ void PlayerStats_AddGlobalInfo(entity p) p.playerstats_id = string_null; } +void PlayerStats_Accuracy(entity p) +{ + entity a; + a = p.accuracy; + + PlayerStats_Event(p, PLAYERSTATS_ACC_LASER_HIT, a.accuracy_hit[WEP_LASER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_LASER_FIRED, a.accuracy_fired[WEP_LASER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_SHOTGUN_HIT, a.accuracy_hit[WEP_SHOTGUN-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_SHOTGUN_FIRED, a.accuracy_fired[WEP_SHOTGUN-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_UZI_HIT, a.accuracy_hit[WEP_UZI-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_UZI_FIRED, a.accuracy_fired[WEP_UZI-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_GRENADE_LAUNCHER_HIT, a.accuracy_hit[WEP_GRENADE_LAUNCHER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_GRENADE_LAUNCHER_FIRED, a.accuracy_fired[WEP_GRENADE_LAUNCHER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_ELECTRO_HIT, a.accuracy_hit[WEP_ELECTRO-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_ELECTRO_FIRED, a.accuracy_fired[WEP_ELECTRO-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_CRYLINK_HIT, a.accuracy_hit[WEP_CRYLINK-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_CRYLINK_FIRED, a.accuracy_fired[WEP_CRYLINK-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_NEX_HIT, a.accuracy_hit[WEP_NEX-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_NEX_FIRED, a.accuracy_fired[WEP_NEX-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_HAGAR_HIT, a.accuracy_hit[WEP_HAGAR-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_HAGAR_FIRED, a.accuracy_fired[WEP_HAGAR-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_ROCKET_LAUNCHER_HIT, a.accuracy_hit[WEP_ROCKET_LAUNCHER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_ROCKET_LAUNCHER_FIRED, a.accuracy_fired[WEP_ROCKET_LAUNCHER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_MINSTANEX_HIT, a.accuracy_hit[WEP_MINSTANEX-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_MINSTANEX_FIRED, a.accuracy_fired[WEP_MINSTANEX-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_SNIPERRIFLE_HIT, a.accuracy_hit[WEP_SNIPERRIFLE-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_SNIPERRIFLE_FIRED, a.accuracy_fired[WEP_SNIPERRIFLE-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_FIREBALL_HIT, a.accuracy_hit[WEP_FIREBALL-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_FIREBALL_FIRED, a.accuracy_fired[WEP_FIREBALL-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_MINE_LAYER_HIT, a.accuracy_hit[WEP_MINE_LAYER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_MINE_LAYER_FIRED, a.accuracy_fired[WEP_MINE_LAYER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_SEEKER_HIT, a.accuracy_hit[WEP_SEEKER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_SEEKER_FIRED, a.accuracy_fired[WEP_SEEKER-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_TUBA_HIT, a.accuracy_hit[WEP_TUBA-1]); + PlayerStats_Event(p, PLAYERSTATS_ACC_TUBA_FIRED, a.accuracy_fired[WEP_TUBA-1]); +} + void PlayerStats_EndMatch(float finished) { entity p, winner; @@ -312,6 +380,7 @@ void PlayerStats_EndMatch(float finished) FOR_EACH_PLAYER(p) { PlayerScore_PlayerStats(p); + PlayerStats_Accuracy(p); PlayerStats_Event(p, PLAYERSTATS_SCOREBOARD_VALID, 1); if(finished) { diff --git a/qcsrc/server/playerstats.qh b/qcsrc/server/playerstats.qh index f546e5605..fe9514270 100644 --- a/qcsrc/server/playerstats.qh +++ b/qcsrc/server/playerstats.qh @@ -6,6 +6,37 @@ string PLAYERSTATS_JOINS = "joins"; string PLAYERSTATS_SCOREBOARD_VALID = "scoreboardvalid"; string PLAYERSTATS_RANK = "rank"; +string PLAYERSTATS_ACC_LASER_HIT = "acc-laser-hit"; +string PLAYERSTATS_ACC_LASER_FIRED = "acc-laser-fired"; +string PLAYERSTATS_ACC_SHOTGUN_HIT = "acc-sg-hit"; +string PLAYERSTATS_ACC_SHOTGUN_FIRED = "acc-sg-fired"; +string PLAYERSTATS_ACC_UZI_HIT = "acc-uzi-hit"; +string PLAYERSTATS_ACC_UZI_FIRED = "acc-uzi-fired"; +string PLAYERSTATS_ACC_GRENADE_LAUNCHER_HIT = "acc-gl-hit"; +string PLAYERSTATS_ACC_GRENADE_LAUNCHER_FIRED = "acc-gl-fired"; +string PLAYERSTATS_ACC_ELECTRO_HIT = "acc-electro-hit"; +string PLAYERSTATS_ACC_ELECTRO_FIRED = "acc-electro-fired"; +string PLAYERSTATS_ACC_CRYLINK_HIT = "acc-crylink-hit"; +string PLAYERSTATS_ACC_CRYLINK_FIRED = "acc-crylink-fired"; +string PLAYERSTATS_ACC_NEX_HIT = "acc-nex-hit"; +string PLAYERSTATS_ACC_NEX_FIRED = "acc-nex-fired"; +string PLAYERSTATS_ACC_HAGAR_HIT = "acc-hagar-hit"; +string PLAYERSTATS_ACC_HAGAR_FIRED = "acc-hagar-fired"; +string PLAYERSTATS_ACC_ROCKET_LAUNCHER_HIT = "acc-rl-hit"; +string PLAYERSTATS_ACC_ROCKET_LAUNCHER_FIRED = "acc-rl-fired"; +string PLAYERSTATS_ACC_MINSTANEX_HIT = "acc-minstanex-hit"; +string PLAYERSTATS_ACC_MINSTANEX_FIRED = "acc-minstanex-fired"; +string PLAYERSTATS_ACC_SNIPERRIFLE_HIT = "acc-rifle-hit"; +string PLAYERSTATS_ACC_SNIPERRIFLE_FIRED = "acc-rifle-fired"; +string PLAYERSTATS_ACC_FIREBALL_HIT = "acc-fireball-hit"; +string PLAYERSTATS_ACC_FIREBALL_FIRED = "acc-fireball-fired"; +string PLAYERSTATS_ACC_MINE_LAYER_HIT = "acc-minelayer-hit"; +string PLAYERSTATS_ACC_MINE_LAYER_FIRED = "acc-minelayer-fired"; +string PLAYERSTATS_ACC_SEEKER_HIT = "acc-seeker-hit"; +string PLAYERSTATS_ACC_SEEKER_FIRED = "acc-seeker-fired"; +string PLAYERSTATS_ACC_TUBA_HIT = "acc-tuba-hit"; +string PLAYERSTATS_ACC_TUBA_FIRED = "acc-tuba-fired"; + string PLAYERSTATS_TOTAL = "total-"; string PLAYERSTATS_SCOREBOARD = "scoreboard-";