Added more cmdline arguments, match splitting, added duration and match time conversions, fintuned code.

This commit is contained in:
Ahrimdon 2023-10-14 03:45:34 -04:00
parent a5a8d76ef1
commit 825cc17025
25 changed files with 46281 additions and 38086 deletions

Binary file not shown.

View File

@ -14,7 +14,7 @@
"title": "mw",
"platform": "battle",
"username": "Ahrimdon#1597",
"activeDate": 1696755151000,
"activeDate": 1697188469000,
"activityType": "mp",
"id": null
},

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,113 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 09:09:15 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 09:14:29 AM",
"map": "mp_m_speedball",
"mode": "Gunfight",
"matchID": "9418543359897068941",
"duration": "5 Minutes 14 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "loss",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 3,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 6.0,
"medalXp": 2350.0,
"matchXp": 1225.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 650.0,
"accuracy": 0.1651376146788991,
"wallBangs": 0.0,
"shotsLanded": 36.0,
"score": 650.0,
"totalXp": 4225.0,
"headshots": 0.0,
"assists": 1.0,
"rank": 54.0,
"scorePerMinute": 106.26702997275204,
"distanceTraveled": 922.4512,
"deaths": 6.0,
"kdRatio": 1.0,
"shotsMissed": 182.0,
"timePlayed": 367.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 131.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 5.0,
"damageDone": 905.0,
"shotsFired": 218.0,
"damageTaken": 748.0
},
"weaponStats": {
"AS VAL": {
"hits": 5.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 42.0,
"startingWeaponXp": 68500.0,
"deaths": 2.0,
"xpEarned": 180.0
},
"1911": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 6.0,
"shots": 1.0,
"startingWeaponXp": 33000.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"JAK-12": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 8.0,
"startingWeaponXp": 70700.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"M19": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 10.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"Holger-26": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 39.0,
"startingWeaponXp": 77500.0,
"deaths": 2.0,
"xpEarned": 0.0
},
"Uzi": {
"hits": 8.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 40.0,
"startingWeaponXp": 72900.0,
"deaths": 0.0,
"xpEarned": 270.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,123 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 08:06:34 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 08:11:52 AM",
"map": "mp_m_hill",
"mode": "Gunfight",
"matchID": "17778358267058167779",
"duration": "5 Minutes 18 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 2,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 9.0,
"medalXp": 2470.0,
"matchXp": 1787.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 1025.0,
"accuracy": 0.19727891156462585,
"wallBangs": 0.0,
"shotsLanded": 29.0,
"score": 1025.0,
"totalXp": 5282.0,
"headshots": 2.0,
"assists": 3.0,
"rank": 54.0,
"scorePerMinute": 171.3091922005571,
"distanceTraveled": 2091.75,
"deaths": 2.0,
"kdRatio": 4.5,
"shotsMissed": 118.0,
"timePlayed": 359.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 74.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 7.0,
"damageDone": 1053.0,
"shotsFired": 147.0,
"damageTaken": 226.0
},
"weaponStats": {
"semtex_mp": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 0.0,
"startingWeaponXp": 0.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"FR 5.56": {
"hits": 9.0,
"kills": 3.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 43.0,
"startingWeaponXp": 97100.0,
"deaths": 1.0,
"xpEarned": 540.0
},
"X16": {
"hits": 2.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 24.0,
"startingWeaponXp": 34600.0,
"deaths": 0.0,
"xpEarned": 270.0
},
".50 GS": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 5.0,
"startingWeaponXp": 46500.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"Origin 12 Shotgun": {
"hits": 4.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 4.0,
"startingWeaponXp": 62100.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"Fennec": {
"hits": 4.0,
"kills": 1.0,
"headshots": 1.0,
"loadoutIndex": 4.0,
"shots": 21.0,
"startingWeaponXp": 70700.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"frag_grenade_mp": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 0.0,
"startingWeaponXp": 0.0,
"deaths": 0.0,
"xpEarned": 0.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,93 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 08:00:29 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 08:04:42 AM",
"map": "mp_m_drainage",
"mode": "Gunfight",
"matchID": "12628755660379406419",
"duration": "4 Minutes 13 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 1,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 5.0,
"medalXp": 2095.0,
"matchXp": 1309.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 775.0,
"accuracy": 0.2391304347826087,
"wallBangs": 0.0,
"shotsLanded": 22.0,
"score": 775.0,
"totalXp": 4179.0,
"headshots": 1.0,
"assists": 4.0,
"rank": 54.0,
"scorePerMinute": 160.34482758620692,
"distanceTraveled": 1281.8544,
"deaths": 0.0,
"kdRatio": 5.0,
"shotsMissed": 70.0,
"timePlayed": 290.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 53.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 5.0,
"damageDone": 903.0,
"shotsFired": 92.0,
"damageTaken": 254.0
},
"weaponStats": {
"Renetti": {
"hits": 3.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 24.0,
"startingWeaponXp": 54000.0,
"deaths": 0.0,
"xpEarned": 135.0
},
"M91": {
"hits": 6.0,
"kills": 2.0,
"headshots": 1.0,
"loadoutIndex": 3.0,
"shots": 12.0,
"startingWeaponXp": 79800.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"HDR": {
"hits": 2.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 6.0,
"startingWeaponXp": 37800.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"Striker 45": {
"hits": 3.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 6.0,
"shots": 8.0,
"startingWeaponXp": 72900.0,
"deaths": 0.0,
"xpEarned": 135.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,123 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 07:53:08 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 07:58:40 AM",
"map": "mp_m_wallco2",
"mode": "Gunfight",
"matchID": "13011335364533875207",
"duration": "5 Minutes 32 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "loss",
"winningTeam": "allies",
"gameBattle": false,
"team1Score": 6,
"team2Score": 4,
"isPresentAtEnd": true,
"playerStats": {
"kills": 9.0,
"medalXp": 2175.0,
"matchXp": 1179.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 900.0,
"accuracy": 0.19186046511627908,
"wallBangs": 1.0,
"shotsLanded": 33.0,
"score": 900.0,
"totalXp": 4254.0,
"headshots": 0.0,
"assists": 0.0,
"rank": 54.0,
"scorePerMinute": 145.16129032258064,
"distanceTraveled": 884.6166,
"deaths": 6.0,
"kdRatio": 1.5,
"shotsMissed": 139.0,
"timePlayed": 372.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 82.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 3.0,
"damageDone": 1043.0,
"shotsFired": 172.0,
"damageTaken": 745.0
},
"weaponStats": {
"semtex_mp": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 0.0,
"startingWeaponXp": 0.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"X16": {
"hits": 3.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 10.0,
"startingWeaponXp": 34600.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"725": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 6.0,
"startingWeaponXp": 66300.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"PKM": {
"hits": 9.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 31.0,
"startingWeaponXp": 77500.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"ISO": {
"hits": 8.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 6.0,
"shots": 22.0,
"startingWeaponXp": 72900.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"HDR": {
"hits": 2.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 3.0,
"startingWeaponXp": 37800.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"Grau 5.56": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 8.0,
"shots": 21.0,
"startingWeaponXp": 99700.0,
"deaths": 1.0,
"xpEarned": 0.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,113 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 07:48:06 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 07:51:26 AM",
"map": "mp_m_king",
"mode": "Gunfight",
"matchID": "11409852559879680761",
"duration": "3 Minutes 20 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 1,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 4.0,
"medalXp": 1380.0,
"matchXp": 673.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 475.0,
"accuracy": 0.075,
"wallBangs": 0.0,
"shotsLanded": 6.0,
"score": 475.0,
"totalXp": 2528.0,
"headshots": 1.0,
"assists": 2.0,
"rank": 54.0,
"scorePerMinute": 113.09523809523809,
"distanceTraveled": 1443.3264,
"deaths": 1.0,
"kdRatio": 4.0,
"shotsMissed": 74.0,
"timePlayed": 252.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 26.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 4.0,
"damageDone": 291.0,
"shotsFired": 80.0,
"damageTaken": 241.0
},
"weaponStats": {
"FAL": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 2.0,
"startingWeaponXp": 102300.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"1911": {
"hits": 2.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 14.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"X16": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 12.0,
"startingWeaponXp": 34600.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"molotov_mp": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 0.0,
"startingWeaponXp": 0.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"PKM": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 6.0,
"shots": 23.0,
"startingWeaponXp": 77500.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"Model 680": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 1.0,
"startingWeaponXp": 62100.0,
"deaths": 0.0,
"xpEarned": 0.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,103 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 07:41:23 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 07:46:05 AM",
"map": "mp_m_trench",
"mode": "Gunfight",
"matchID": "14167686646012486282",
"duration": "4 Minutes 42 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 2,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 9.0,
"medalXp": 2220.0,
"matchXp": 1142.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 900.0,
"accuracy": 0.2033898305084746,
"wallBangs": 0.0,
"shotsLanded": 24.0,
"score": 900.0,
"totalXp": 4262.0,
"headshots": 1.0,
"assists": 0.0,
"rank": 54.0,
"scorePerMinute": 161.67664670658684,
"distanceTraveled": 1327.759,
"deaths": 2.0,
"kdRatio": 4.5,
"shotsMissed": 94.0,
"timePlayed": 334.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 65.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 5.0,
"damageDone": 889.0,
"shotsFired": 118.0,
"damageTaken": 353.0
},
"weaponStats": {
"1911": {
"hits": 2.0,
"kills": 1.0,
"headshots": 1.0,
"loadoutIndex": 7.0,
"shots": 6.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"X16": {
"hits": 1.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 2.0,
"startingWeaponXp": 34600.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"MP7": {
"hits": 9.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 66.0,
"startingWeaponXp": 70700.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"JAK-12": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 3.0,
"startingWeaponXp": 70700.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"Rytec AMR": {
"hits": 1.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 2.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 360.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,83 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 07:35:37 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 07:39:18 AM",
"map": "mp_rust",
"mode": "Gunfight",
"matchID": "1807617646663886523",
"duration": "3 Minutes 41 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "allies",
"gameBattle": false,
"team1Score": 6,
"team2Score": 2,
"isPresentAtEnd": true,
"playerStats": {
"kills": 3.0,
"medalXp": 1340.0,
"matchXp": 870.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 375.0,
"accuracy": 0.30952380952380953,
"wallBangs": 0.0,
"shotsLanded": 13.0,
"score": 375.0,
"totalXp": 2585.0,
"headshots": 1.0,
"assists": 1.0,
"rank": 54.0,
"scorePerMinute": 82.11678832116787,
"distanceTraveled": 916.12476,
"deaths": 3.0,
"kdRatio": 1.0,
"shotsMissed": 29.0,
"timePlayed": 274.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 27.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 2.0,
"damageDone": 475.0,
"shotsFired": 42.0,
"damageTaken": 378.0
},
"weaponStats": {
"SP-R 208": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 2.0,
"startingWeaponXp": 72900.0,
"deaths": 2.0,
"xpEarned": 135.0
},
"X16": {
"hits": 3.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 24.0,
"startingWeaponXp": 34600.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"JAK-12": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 5.0,
"startingWeaponXp": 70700.0,
"deaths": 0.0,
"xpEarned": 0.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,103 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 07:28:57 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 07:33:23 AM",
"map": "mp_m_cornfield",
"mode": "Gunfight",
"matchID": "1061289958884906199",
"duration": "4 Minutes 26 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 3,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 7.0,
"medalXp": 1630.0,
"matchXp": 771.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 700.0,
"accuracy": 0.2698412698412698,
"wallBangs": 0.0,
"shotsLanded": 17.0,
"score": 700.0,
"totalXp": 3101.0,
"headshots": 0.0,
"assists": 0.0,
"rank": 54.0,
"scorePerMinute": 139.0728476821192,
"distanceTraveled": 562.38293,
"deaths": 3.0,
"kdRatio": 2.3333333333333335,
"shotsMissed": 46.0,
"timePlayed": 302.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 32.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 3.0,
"damageDone": 701.0,
"shotsFired": 63.0,
"damageTaken": 396.0
},
"weaponStats": {
"1911": {
"hits": 3.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 6.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"Crossbow": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 1.0,
"startingWeaponXp": 48300.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"MG34": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 9.0,
"startingWeaponXp": 77500.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"Oden": {
"hits": 9.0,
"kills": 3.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 23.0,
"startingWeaponXp": 99700.0,
"deaths": 1.0,
"xpEarned": 540.0
},
"Model 680": {
"hits": 1.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 6.0,
"shots": 3.0,
"startingWeaponXp": 62100.0,
"deaths": 0.0,
"xpEarned": 180.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,113 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 07:22:15 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 07:26:58 AM",
"map": "mp_m_cargo",
"mode": "Gunfight",
"matchID": "12407184959904712603",
"duration": "4 Minutes 43 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "loss",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 2,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 5.0,
"medalXp": 1340.0,
"matchXp": 820.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 500.0,
"accuracy": 0.1590909090909091,
"wallBangs": 0.0,
"shotsLanded": 14.0,
"score": 500.0,
"totalXp": 2660.0,
"headshots": 0.0,
"assists": 0.0,
"rank": 54.0,
"scorePerMinute": 95.54140127388536,
"distanceTraveled": 745.87225,
"deaths": 6.0,
"kdRatio": 0.8333333333333334,
"shotsMissed": 74.0,
"timePlayed": 314.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 39.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 3.0,
"damageDone": 648.0,
"shotsFired": 88.0,
"damageTaken": 698.0
},
"weaponStats": {
"M91": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 2.0,
"startingWeaponXp": 79800.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"semtex_mp": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 0.0,
"startingWeaponXp": 0.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"X16": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 3.0,
"startingWeaponXp": 34600.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"Striker 45": {
"hits": 7.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 37.0,
"startingWeaponXp": 72900.0,
"deaths": 1.0,
"xpEarned": 360.0
},
"Oden": {
"hits": 2.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 36.0,
"startingWeaponXp": 99700.0,
"deaths": 2.0,
"xpEarned": 180.0
},
"R9-0 Shotgun": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 0.0,
"startingWeaponXp": 58000.0,
"deaths": 2.0,
"xpEarned": 0.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,93 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 07:17:06 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 07:19:53 AM",
"map": "mp_m_cage",
"mode": "Gunfight",
"matchID": "3236775995900435719",
"duration": "2 Minutes 47 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "loss",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 1,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 1.0,
"medalXp": 1510.0,
"matchXp": 382.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 100.0,
"accuracy": 0.5625,
"wallBangs": 0.0,
"shotsLanded": 9.0,
"score": 100.0,
"totalXp": 1992.0,
"headshots": 0.0,
"assists": 0.0,
"rank": 54.0,
"scorePerMinute": 29.41176470588235,
"distanceTraveled": 492.60062,
"deaths": 6.0,
"kdRatio": 0.16666666666666666,
"shotsMissed": 7.0,
"timePlayed": 204.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 12.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 1.0,
"damageDone": 392.0,
"shotsFired": 16.0,
"damageTaken": 600.0
},
"weaponStats": {
".357": {
"hits": 2.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 5.0,
"startingWeaponXp": 44700.0,
"deaths": 2.0,
"xpEarned": 0.0
},
"MP5": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 0.0,
"startingWeaponXp": 77500.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"R9-0 Shotgun": {
"hits": 3.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 5.0,
"startingWeaponXp": 58000.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"Grau 5.56": {
"hits": 3.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 5.0,
"startingWeaponXp": 99700.0,
"deaths": 2.0,
"xpEarned": 0.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,113 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 07:09:25 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 07:14:17 AM",
"map": "mp_shipment",
"mode": "Gunfight",
"matchID": "8150798539455925554",
"duration": "4 Minutes 52 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "allies",
"gameBattle": false,
"team1Score": 6,
"team2Score": 4,
"isPresentAtEnd": true,
"playerStats": {
"kills": 9.0,
"medalXp": 1950.0,
"matchXp": 785.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 900.0,
"accuracy": 0.27835051546391754,
"wallBangs": 0.0,
"shotsLanded": 27.0,
"score": 900.0,
"totalXp": 3635.0,
"headshots": 1.0,
"assists": 0.0,
"rank": 54.0,
"scorePerMinute": 162.65060240963857,
"distanceTraveled": 1941.4109,
"deaths": 5.0,
"kdRatio": 1.8,
"shotsMissed": 70.0,
"timePlayed": 332.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 57.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 4.0,
"damageDone": 1007.0,
"shotsFired": 97.0,
"damageTaken": 731.0
},
"weaponStats": {
"AS VAL": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 1.0,
"startingWeaponXp": 68500.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"1911": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 6.0,
"shots": 8.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"molotov_mp": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 0.0,
"startingWeaponXp": 0.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"725": {
"hits": 2.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 2.0,
"startingWeaponXp": 66300.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"MP5": {
"hits": 9.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 8.0,
"shots": 19.0,
"startingWeaponXp": 77500.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"Holger-26": {
"hits": 3.0,
"kills": 1.0,
"headshots": 1.0,
"loadoutIndex": 0.0,
"shots": 15.0,
"startingWeaponXp": 77500.0,
"deaths": 2.0,
"xpEarned": 180.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,103 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 09:01:13 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 09:06:49 AM",
"map": "mp_m_stadium",
"mode": "Gunfight",
"matchID": "16756300293244951150",
"duration": "5 Minutes 36 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "allies",
"gameBattle": false,
"team1Score": 6,
"team2Score": 2,
"isPresentAtEnd": true,
"playerStats": {
"kills": 10.0,
"medalXp": 2565.0,
"matchXp": 1902.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 1125.0,
"accuracy": 0.17372881355932204,
"wallBangs": 0.0,
"shotsLanded": 41.0,
"score": 1125.0,
"totalXp": 5592.0,
"headshots": 4.0,
"assists": 2.0,
"rank": 54.0,
"scorePerMinute": 173.52185089974293,
"distanceTraveled": 2300.2773,
"deaths": 2.0,
"kdRatio": 5.0,
"shotsMissed": 195.0,
"timePlayed": 389.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 111.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 6.0,
"damageDone": 1117.0,
"shotsFired": 236.0,
"damageTaken": 390.0
},
"weaponStats": {
"Renetti": {
"hits": 9.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 26.0,
"startingWeaponXp": 54000.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"1911": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 6.0,
"shots": 6.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"MG34": {
"hits": 6.0,
"kills": 2.0,
"headshots": 2.0,
"loadoutIndex": 4.0,
"shots": 42.0,
"startingWeaponXp": 77500.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"ISO": {
"hits": 11.0,
"kills": 1.0,
"headshots": 1.0,
"loadoutIndex": 2.0,
"shots": 60.0,
"startingWeaponXp": 72900.0,
"deaths": 0.0,
"xpEarned": 270.0
},
"Origin 12 Shotgun": {
"hits": 2.0,
"kills": 2.0,
"headshots": 1.0,
"loadoutIndex": 6.0,
"shots": 3.0,
"startingWeaponXp": 62100.0,
"deaths": 0.0,
"xpEarned": 360.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,103 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 07:00:36 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 07:07:41 AM",
"map": "mp_m_hill",
"mode": "Gunfight",
"matchID": "1031183506930466944",
"duration": "7 Minutes 5 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "allies",
"gameBattle": false,
"team1Score": 6,
"team2Score": 4,
"isPresentAtEnd": true,
"playerStats": {
"kills": 6.0,
"medalXp": 1915.0,
"matchXp": 1619.0,
"averageSpeedDuringMatch": 78.74068,
"scoreXp": 675.0,
"accuracy": 0.11788617886178862,
"wallBangs": 0.0,
"shotsLanded": 29.0,
"score": 675.0,
"totalXp": 4209.0,
"headshots": 4.0,
"assists": 3.0,
"rank": 54.0,
"scorePerMinute": 84.90566037735849,
"distanceTraveled": 4157.6,
"deaths": 2.0,
"kdRatio": 3.0,
"shotsMissed": 217.0,
"timePlayed": 477.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 133.0,
"percentTimeMoving": 87.5,
"miscXp": 0.0,
"longestStreak": 3.0,
"damageDone": 840.0,
"shotsFired": 246.0,
"damageTaken": 481.0
},
"weaponStats": {
"1911": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 6.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"FR 5.56": {
"hits": 3.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 36.0,
"startingWeaponXp": 97100.0,
"deaths": 1.0,
"xpEarned": 45.0
},
"Crossbow": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 1.0,
"startingWeaponXp": 48300.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"MG34": {
"hits": 8.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 8.0,
"shots": 29.0,
"startingWeaponXp": 77500.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"P90": {
"hits": 10.0,
"kills": 2.0,
"headshots": 2.0,
"loadoutIndex": 4.0,
"shots": 142.0,
"startingWeaponXp": 62100.0,
"deaths": 0.0,
"xpEarned": 360.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,93 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 08:54:51 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 08:59:00 AM",
"map": "mp_m_fork",
"mode": "Gunfight",
"matchID": "4426854641996609602",
"duration": "4 Minutes 9 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "loss",
"winningTeam": "allies",
"gameBattle": false,
"team1Score": 6,
"team2Score": 2,
"isPresentAtEnd": true,
"playerStats": {
"kills": 5.0,
"medalXp": 1635.0,
"matchXp": 635.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 500.0,
"accuracy": 0.2,
"wallBangs": 0.0,
"shotsLanded": 19.0,
"score": 500.0,
"totalXp": 2770.0,
"headshots": 1.0,
"assists": 0.0,
"rank": 54.0,
"scorePerMinute": 101.69491525423729,
"distanceTraveled": 844.77625,
"deaths": 6.0,
"kdRatio": 0.8333333333333334,
"shotsMissed": 76.0,
"timePlayed": 295.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 52.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 2.0,
"damageDone": 718.0,
"shotsFired": 95.0,
"damageTaken": 688.0
},
"weaponStats": {
".50 GS": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 6.0,
"startingWeaponXp": 46500.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"FiNN LMG": {
"hits": 8.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 53.0,
"startingWeaponXp": 74584.0,
"deaths": 1.0,
"xpEarned": 180.0
},
"EBR-14": {
"hits": 7.0,
"kills": 3.0,
"headshots": 1.0,
"loadoutIndex": 3.0,
"shots": 17.0,
"startingWeaponXp": 70700.0,
"deaths": 1.0,
"xpEarned": 540.0
},
"FN Scar 17": {
"hits": 2.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 12.0,
"startingWeaponXp": 97100.0,
"deaths": 1.0,
"xpEarned": 0.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,123 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 08:46:06 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 08:52:45 AM",
"map": "mp_m_overunder",
"mode": "Gunfight",
"matchID": "13122840687922000264",
"duration": "6 Minutes 39 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "loss",
"winningTeam": "allies",
"gameBattle": false,
"team1Score": 6,
"team2Score": 4,
"isPresentAtEnd": true,
"playerStats": {
"kills": 8.0,
"medalXp": 2460.0,
"matchXp": 1784.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 850.0,
"accuracy": 0.15625,
"wallBangs": 0.0,
"shotsLanded": 25.0,
"score": 850.0,
"totalXp": 5094.0,
"headshots": 1.0,
"assists": 1.0,
"rank": 54.0,
"scorePerMinute": 112.83185840707964,
"distanceTraveled": 2697.319,
"deaths": 6.0,
"kdRatio": 1.3333333333333333,
"shotsMissed": 135.0,
"timePlayed": 452.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 74.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 4.0,
"damageDone": 1052.0,
"shotsFired": 160.0,
"damageTaken": 676.0
},
"weaponStats": {
"1911": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 16.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 90.0
},
"SP-R 208": {
"hits": 1.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 8.0,
"shots": 6.0,
"startingWeaponXp": 72900.0,
"deaths": 2.0,
"xpEarned": 180.0
},
"M19": {
"hits": 2.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 9.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"Holger-26": {
"hits": 6.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 16.0,
"startingWeaponXp": 77500.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"PP19 Bizon": {
"hits": 4.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 7.0,
"shots": 12.0,
"startingWeaponXp": 60000.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"R9-0 Shotgun": {
"hits": 1.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 2.0,
"startingWeaponXp": 58000.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"frag_grenade_mp": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 0.0,
"startingWeaponXp": 0.0,
"deaths": 0.0,
"xpEarned": 0.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,113 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 08:38:24 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 08:43:46 AM",
"map": "mp_m_train",
"mode": "Gunfight",
"matchID": "5904974789808129470",
"duration": "5 Minutes 22 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "loss",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 4,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 5.0,
"medalXp": 2390.0,
"matchXp": 1230.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 625.0,
"accuracy": 0.3283582089552239,
"wallBangs": 0.0,
"shotsLanded": 22.0,
"score": 625.0,
"totalXp": 4245.0,
"headshots": 0.0,
"assists": 2.0,
"rank": 54.0,
"scorePerMinute": 104.74860335195531,
"distanceTraveled": 684.75854,
"deaths": 7.0,
"kdRatio": 0.7142857142857143,
"shotsMissed": 45.0,
"timePlayed": 358.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 35.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 3.0,
"damageDone": 865.0,
"shotsFired": 67.0,
"damageTaken": 791.0
},
"weaponStats": {
"X16": {
"hits": 3.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 4.0,
"startingWeaponXp": 34600.0,
"deaths": 1.0,
"xpEarned": 135.0
},
"SA87": {
"hits": 2.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 6.0,
"startingWeaponXp": 75200.0,
"deaths": 1.0,
"xpEarned": 90.0
},
"MP5": {
"hits": 7.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 7.0,
"shots": 33.0,
"startingWeaponXp": 77500.0,
"deaths": 2.0,
"xpEarned": 180.0
},
"M19": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 6.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"Origin 12 Shotgun": {
"hits": 3.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 4.0,
"startingWeaponXp": 62100.0,
"deaths": 2.0,
"xpEarned": 0.0
},
"Rytec AMR": {
"hits": 1.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 3.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 180.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,93 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 08:32:14 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 08:35:12 AM",
"map": "mp_m_trench",
"mode": "Gunfight",
"matchID": "6975546085129714208",
"duration": "2 Minutes 58 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "loss",
"winningTeam": "allies",
"gameBattle": false,
"team1Score": 6,
"team2Score": 0,
"isPresentAtEnd": true,
"playerStats": {
"kills": 2.0,
"medalXp": 1590.0,
"matchXp": 560.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 200.0,
"accuracy": 0.14655172413793102,
"wallBangs": 0.0,
"shotsLanded": 17.0,
"score": 200.0,
"totalXp": 2350.0,
"headshots": 2.0,
"assists": 0.0,
"rank": 54.0,
"scorePerMinute": 55.29953917050691,
"distanceTraveled": 753.2467,
"deaths": 6.0,
"kdRatio": 0.3333333333333333,
"shotsMissed": 99.0,
"timePlayed": 217.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 66.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 1.0,
"damageDone": 550.0,
"shotsFired": 116.0,
"damageTaken": 600.0
},
"weaponStats": {
"Bruen Mk9": {
"hits": 5.0,
"kills": 1.0,
"headshots": 1.0,
"loadoutIndex": 2.0,
"shots": 36.0,
"startingWeaponXp": 82200.0,
"deaths": 2.0,
"xpEarned": 180.0
},
"VLK Rogue": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 1.0,
"startingWeaponXp": 64200.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"M13": {
"hits": 6.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 58.0,
"startingWeaponXp": 107700.0,
"deaths": 2.0,
"xpEarned": 0.0
},
"M19": {
"hits": 5.0,
"kills": 1.0,
"headshots": 1.0,
"loadoutIndex": 1.0,
"shots": 21.0,
"startingWeaponXp": 33000.0,
"deaths": 1.0,
"xpEarned": 180.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,123 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 08:24:20 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 08:30:11 AM",
"map": "mp_m_pine",
"mode": "Gunfight",
"matchID": "15185728700852222154",
"duration": "5 Minutes 51 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 3,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 9.0,
"medalXp": 2505.0,
"matchXp": 1906.0,
"averageSpeedDuringMatch": 128.94987,
"scoreXp": 950.0,
"accuracy": 0.12811387900355872,
"wallBangs": 0.0,
"shotsLanded": 36.0,
"score": 950.0,
"totalXp": 5361.0,
"headshots": 2.0,
"assists": 1.0,
"rank": 54.0,
"scorePerMinute": 146.15384615384613,
"distanceTraveled": 1319.4282,
"deaths": 4.0,
"kdRatio": 2.25,
"shotsMissed": 245.0,
"timePlayed": 390.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 137.0,
"percentTimeMoving": 88.23529,
"miscXp": 0.0,
"longestStreak": 4.0,
"damageDone": 1182.0,
"shotsFired": 281.0,
"damageTaken": 732.0
},
"weaponStats": {
"Renetti": {
"hits": 7.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 67.0,
"startingWeaponXp": 54000.0,
"deaths": 1.0,
"xpEarned": 360.0
},
"M91": {
"hits": 3.0,
"kills": 1.0,
"headshots": 1.0,
"loadoutIndex": 6.0,
"shots": 34.0,
"startingWeaponXp": 79800.0,
"deaths": 0.0,
"xpEarned": 180.0
},
".50 GS": {
"hits": 2.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 7.0,
"shots": 9.0,
"startingWeaponXp": 46500.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"Striker 45": {
"hits": 4.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 29.0,
"startingWeaponXp": 72900.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"Model 680": {
"hits": 4.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 7.0,
"shots": 8.0,
"startingWeaponXp": 62100.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"frag_grenade_mp": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 0.0,
"startingWeaponXp": 0.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"Grau 5.56": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 30.0,
"startingWeaponXp": 99700.0,
"deaths": 1.0,
"xpEarned": 0.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,113 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 08:19:01 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 08:22:19 AM",
"map": "mp_m_showers",
"mode": "Gunfight",
"matchID": "12106462555916355611",
"duration": "3 Minutes 18 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "axis",
"gameBattle": false,
"team1Score": 1,
"team2Score": 6,
"isPresentAtEnd": true,
"playerStats": {
"kills": 7.0,
"medalXp": 1895.0,
"matchXp": 894.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 850.0,
"accuracy": 0.2692307692307692,
"wallBangs": 0.0,
"shotsLanded": 21.0,
"score": 850.0,
"totalXp": 3639.0,
"headshots": 0.0,
"assists": 2.0,
"rank": 54.0,
"scorePerMinute": 218.88412017167383,
"distanceTraveled": 231.95163,
"deaths": 3.0,
"kdRatio": 2.3333333333333335,
"shotsMissed": 57.0,
"timePlayed": 233.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 59.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 4.0,
"damageDone": 772.0,
"shotsFired": 78.0,
"damageTaken": 300.0
},
"weaponStats": {
"M4A1": {
"hits": 1.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 2.0,
"startingWeaponXp": 113200.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"Renetti": {
"hits": 3.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 6.0,
"shots": 14.0,
"startingWeaponXp": 54000.0,
"deaths": 1.0,
"xpEarned": 180.0
},
"semtex_mp": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 6.0,
"shots": 0.0,
"startingWeaponXp": 0.0,
"deaths": 0.0,
"xpEarned": 0.0
},
"1911": {
"hits": 0.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 4.0,
"shots": 0.0,
"startingWeaponXp": 33000.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"Dragunov": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 1.0,
"shots": 2.0,
"startingWeaponXp": 36200.0,
"deaths": 1.0,
"xpEarned": 0.0
},
"Holger-26": {
"hits": 4.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 22.0,
"startingWeaponXp": 77500.0,
"deaths": 0.0,
"xpEarned": 180.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

View File

@ -0,0 +1,103 @@
{
"utcStartSeconds": "GMT: Friday, October 13, 2023 08:14:12 AM",
"utcEndSeconds": "GMT: Friday, October 13, 2023 08:17:03 AM",
"map": "mp_m_cage",
"mode": "Gunfight",
"matchID": "14763503065632813798",
"duration": "2 Minutes 51 Seconds 0 Milliseconds",
"playlistName": null,
"version": 1,
"gameType": "mp",
"result": "win",
"winningTeam": "allies",
"gameBattle": false,
"team1Score": 6,
"team2Score": 1,
"isPresentAtEnd": true,
"playerStats": {
"kills": 9.0,
"medalXp": 2035.0,
"matchXp": 597.0,
"averageSpeedDuringMatch": 0.0,
"scoreXp": 975.0,
"accuracy": 0.3684210526315789,
"wallBangs": 0.0,
"shotsLanded": 28.0,
"score": 975.0,
"totalXp": 3607.0,
"headshots": 1.0,
"assists": 2.0,
"rank": 54.0,
"scorePerMinute": 277.2511848341232,
"distanceTraveled": 149.00363,
"deaths": 3.0,
"kdRatio": 3.0,
"shotsMissed": 48.0,
"timePlayed": 211.0,
"executions": 0.0,
"suicides": 0.0,
"seasonRank": 10.0,
"nearmisses": 42.0,
"percentTimeMoving": 0.0,
"miscXp": 0.0,
"longestStreak": 8.0,
"damageDone": 904.0,
"shotsFired": 76.0,
"damageTaken": 459.0
},
"weaponStats": {
"1911": {
"hits": 5.0,
"kills": 2.0,
"headshots": 0.0,
"loadoutIndex": 2.0,
"shots": 16.0,
"startingWeaponXp": 33000.0,
"deaths": 0.0,
"xpEarned": 360.0
},
"VLK Rogue": {
"hits": 1.0,
"kills": 0.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 2.0,
"startingWeaponXp": 64200.0,
"deaths": 0.0,
"xpEarned": 45.0
},
"X16": {
"hits": 3.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 3.0,
"shots": 8.0,
"startingWeaponXp": 34600.0,
"deaths": 0.0,
"xpEarned": 180.0
},
"AUG": {
"hits": 6.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 0.0,
"shots": 23.0,
"startingWeaponXp": 77500.0,
"deaths": 2.0,
"xpEarned": 180.0
},
"Kilo 141": {
"hits": 6.0,
"kills": 1.0,
"headshots": 0.0,
"loadoutIndex": 5.0,
"shots": 11.0,
"startingWeaponXp": 107700.0,
"deaths": 1.0,
"xpEarned": 270.0
}
},
"allPlayers": null,
"Gunfight": false,
"privateMatch": false
}

File diff suppressed because it is too large Load Diff

View File

@ -1,8 +1,10 @@
import sys
import json
import os
import argparse
from cod_api import API, platforms
import asyncio
import datetime
# Prevent Async error from showing
if os.name == 'nt':
@ -251,8 +253,15 @@ replacements = {
# Initiating the API class
api = API()
COOKIE_FILE = 'cookie.txt'
DIR_NAME = 'stats'
MATCH_DIR_NAME = 'matches'
def get_and_save_data(player_name=None):
def save_to_file(data, filename, dir_name='stats'):
"""Utility function to save data to a JSON file."""
with open(os.path.join(dir_name, filename), 'w') as json_file:
json.dump(data, json_file, indent=4)
def get_and_save_data(player_name=None, all_stats=False, season_loot=False, identities=False, maps=False):
# Create the stats directory if it doesn't exist
DIR_NAME = 'stats'
if not os.path.exists(DIR_NAME):
@ -273,26 +282,42 @@ def get_and_save_data(player_name=None):
# Login with sso token
api.login(api_key)
# Retrieve data from API
player_stats = api.ModernWarfare.fullData(platforms.Activision, player_name)
match_info = api.ModernWarfare.combatHistory(platforms.Activision, player_name)
season_loot = api.ModernWarfare.seasonLoot(platforms.Activision, player_name)
map_list = api.ModernWarfare.mapList(platforms.Activision)
identities = api.Me.loggedInIdentities()
# Save results to a JSON file inside the stats directory
with open(os.path.join(DIR_NAME, 'stats.json'), 'w') as json_file:
json.dump(player_stats, json_file, indent=4)
with open(os.path.join(DIR_NAME, 'match_info.json'), 'w') as json_file:
json.dump(match_info, json_file, indent=4)
with open(os.path.join(DIR_NAME, 'season_loot.json'), 'w') as json_file:
json.dump(season_loot, json_file, indent=4)
with open(os.path.join(DIR_NAME, 'map_list.json'), 'w') as json_file:
json.dump(map_list, json_file, indent=4)
with open(os.path.join(DIR_NAME, 'identities.json'), 'w') as json_file:
json.dump(identities, json_file, indent=4)
# First, determine if any specific optional arguments were given
if not (all_stats or season_loot or identities or maps):
# If no specific optional arguments are given, then default behavior:
player_stats = api.ModernWarfare.fullData(platforms.Activision, player_name)
match_info = api.ModernWarfare.combatHistory(platforms.Activision, player_name)
save_to_file(player_stats, 'stats.json')
save_to_file(match_info, 'match_info.json')
elif all_stats:
# If the all_stats argument is given:
player_stats = api.ModernWarfare.fullData(platforms.Activision, player_name)
match_info = api.ModernWarfare.combatHistory(platforms.Activision, player_name)
player_stats = api.ModernWarfare.fullData(platforms.Activision, player_name)
match_info = api.ModernWarfare.combatHistory(platforms.Activision, player_name)
season_loot_data = api.ModernWarfare.seasonLoot(platforms.Activision, player_name)
map_list = api.ModernWarfare.mapList(platforms.Activision)
identities_data = api.Me.loggedInIdentities()
save_to_file(player_stats, 'stats.json')
save_to_file(match_info, 'match_info.json')
save_to_file(season_loot_data, 'season_loot.json')
save_to_file(map_list, 'map_list.json')
save_to_file(identities_data, 'identities.json')
else:
# For other specific optional arguments:
if season_loot:
season_loot_data = api.ModernWarfare.seasonLoot(platforms.Activision, player_name)
save_to_file(season_loot_data, 'season_loot.json')
if identities:
identities_data = api.Me.loggedInIdentities()
save_to_file(identities_data, 'identities.json')
if maps:
map_list = api.ModernWarfare.mapList(platforms.Activision)
save_to_file(map_list, 'map_list.json')
# Save results to a JSON file inside the stats directory
def recursive_key_replace(obj, replacements):
if isinstance(obj, dict):
new_obj = {}
@ -331,24 +356,114 @@ def sort_data(data):
data[key] = sort_data(value)
return data
def replace_time_and_duration_recursive(data):
"""
Recursively replace epoch times for specific keys in a nested dictionary or list.
"""
if isinstance(data, list):
for item in data:
replace_time_and_duration_recursive(item)
elif isinstance(data, dict):
for key, value in data.items():
if key == "utcStartSeconds":
data[key] = epoch_to_human_readable(value)
# For EST conversion:
# data[key] = epoch_to_human_readable(value, "EST")
elif key == "utcEndSeconds":
data[key] = epoch_to_human_readable(value)
# For EST conversion:
# data[key] = epoch_to_human_readable(value, "EST")
elif key == "duration":
data[key] = convert_duration(value)
else:
replace_time_and_duration_recursive(value)
def epoch_to_human_readable(epoch_timestamp, timezone='GMT'):
if isinstance(epoch_timestamp, str):
return epoch_timestamp # Already converted
dt_object = datetime.datetime.utcfromtimestamp(epoch_timestamp)
if timezone == 'GMT':
date_str = dt_object.strftime("GMT: %A, %B %d, %Y %I:%M:%S %p")
elif timezone == 'EST':
dt_object -= datetime.timedelta(hours=4) # Using 4 hours for EST conversion instead of 5?
date_str = dt_object.strftime("EST: %A, %B %d, %Y %I:%M:%S %p")
else:
raise ValueError("Unsupported timezone.")
return date_str
def convert_duration(milliseconds):
if isinstance(milliseconds, str) and "Minutes" in milliseconds:
return milliseconds # Already converted
seconds, milliseconds = divmod(milliseconds, 1000)
minutes, seconds = divmod(seconds, 60)
return f"{minutes} Minutes {seconds} Seconds {milliseconds} Milliseconds"
def beautify_data():
file_path = "stats.json"
file_path = (os.path.join(DIR_NAME, 'stats.json'))
with open(file_path, 'r') as file:
data = json.load(file)
data = recursive_key_replace(data, replacements)
data = sort_data(data)
with open(file_path, 'w') as file:
json.dump(data, file, indent=4)
print(f"Keys sorted and replaced in {file_path}!")
print(f"Keys sorted and replaced in {file_path}.")
def beautify_match_data():
file_path = "match_info.json"
file_path = (os.path.join(DIR_NAME, 'match_info.json'))
with open(file_path, 'r') as file:
data = json.load(file)
replace_time_and_duration_recursive(data)
data = recursive_key_replace(data, replacements)
with open(file_path, 'w') as file:
json.dump(data, file, indent=4)
print(f"Keys replaced in {file_path}!")
print(f"Keys replaced in {file_path}.")
def split_matches_into_files():
"""
Split the matches in match_info.json into separate files.
"""
MATCHES_DIR = os.path.join(DIR_NAME, MATCH_DIR_NAME)
# Create matches directory if it doesn't exist
if not os.path.exists(MATCHES_DIR):
os.makedirs(MATCHES_DIR)
# Load the match_info data
with open(os.path.join(DIR_NAME, 'match_info.json'), 'r') as file:
data = json.load(file)
matches = data.get('data', {}).get('matches', []) # Correct the key to access matches
# Check if data needs cleaning
sample_match = matches[0] if matches else {}
if (isinstance(sample_match.get("utcStartSeconds"), int) or
isinstance(sample_match.get("utcEndSeconds"), int) or
isinstance(sample_match.get("duration"), int)):
print("Cleaning match data...")
replace_time_and_duration_recursive(data)
# Save the cleaned data back to match_info.json
with open(os.path.join(DIR_NAME, 'match_info.json'), 'w') as file:
json.dump(data, file, indent=4)
# Split and save each match into a separate file
for idx, match in enumerate(matches):
# Create a copy of the match to ensure we don't modify the original data
match_copy = dict(match)
# Remove player subkey to avoid the cascading data, if you want to exclude more, add them here
match_copy.pop('player', None)
file_name = f"match_{idx + 1}.json"
with open(os.path.join(MATCHES_DIR, file_name), 'w') as match_file:
json.dump(match_copy, match_file, indent=4)
print(f"Matches split into {len(matches)} separate files in {MATCHES_DIR}.")
def main():
# Define the block of quote text to display in the help command
@ -360,21 +475,48 @@ def main():
- Enter the value when prompted
"""
parser = argparse.ArgumentParser(description="COD Data Tool", epilog=help_text, formatter_class=argparse.RawDescriptionHelpFormatter)
parser = argparse.ArgumentParser(description="Detailed Modern Warfare (2019) Statistics Tool", epilog=help_text, formatter_class=argparse.RawDescriptionHelpFormatter)
# Add arguments for your commands
parser.add_argument("--replace-data", action="store_true", help="Beautify the data in stats.json")
parser.add_argument("--replace-match-data", action="store_true", help="Beautify the match data in match_info.json")
parser.add_argument("--player-name", type=str, help="Player's username (with #1234567)")
# Group related arguments
group_data = parser.add_argument_group("Data Fetching Options")
group_cleaning = parser.add_argument_group("Data Cleaning Options")
# Add arguments for Data Fetching Options
group_data.add_argument("-p", "--player_name", type=str, help="Player's username (with #1234567)")
group_data.add_argument("-a", "--all_stats", action="store_true", help="Fetch all the different types of stats data")
group_data.add_argument("-sl", "--season_loot", action="store_true", help="Fetch only the season loot data")
group_data.add_argument("-i", "--identities", action="store_true", help="Fetch only the logged-in identities data")
group_data.add_argument("-m", "--maps", action="store_true", help="Fetch only the map list data")
# Add arguments for Cleaning Options
group_cleaning.add_argument("-c", "--clean", action="store_true", help="Beautify all data")
group_cleaning.add_argument("-sm", "--split_matches", action="store_true", help="Split the matches into separate JSON files within the 'matches' subfolder")
group_cleaning.add_argument("-csd", "--clean_stats_data", action="store_true", help="Beautify the data and convert to human-readable strings in stats.json")
group_cleaning.add_argument("-cmd", "--clean_match_data", action="store_true", help="Beautify the match data and convert to human-readable strings in match_info.json")
args = parser.parse_args()
if args.replace_data:
# Custom error handling
# try:
# args = parser.parse_args()
# except SystemExit:
# # Check if 'player_name' is in sys.argv, if not, raise exception
# if '--player_name' not in sys.argv and '-p' not in sys.argv:
# print('You must specify a player name!')
# # Otherwise, re-raise the error or print the default error message.
# sys.exit(1)
if args.split_matches:
split_matches_into_files()
elif args.clean_stats_data:
beautify_data()
elif args.clean_match_data:
beautify_match_data()
elif args.clean:
beautify_data()
elif args.replace_match_data:
beautify_match_data()
else:
get_and_save_data(args.player_name)
get_and_save_data(args.player_name, args.all_stats, args.season_loot, args.identities, args.maps)
if __name__ == "__main__":
main()