csgo
csgo copied to clipboard
How can i decode information from RequestFullMatchInfo?
Hello. Need help, please guys :) There are 2 questions that i dont understand.
-
I use
response = cs.wait_event('full_match_info', timeout=30, raises=False)
for get the game data from user last match. But whats the format i getting on response? I tried to usestr(response[0])
and next decode byjson.loads()
, but i get an json decode error. How can i decode this data to dict or something like that??? (wrote down) -
How the sites like csgostats.gg and other get the all info about match? like flashes, flash assists, jumpshots, the accuracy with AK-47, grenade damage etc. I can get only kill, assists, headshots and score (very little info) via
cs.request_full_match_info()
. Is it possible to get more data via that python module?
The response data i want to decode or something like that:
msgrequestid: 9147
accountid: 1185931041
servertime: 1614835709
matches {
matchid: 3467736107796398755
matchtime: 1614790460
watchablematchinfo {
server_ip: 181
tv_port: 1806964191
tv_spectators: 0
cl_decryptdata_key_pub: 8411663965113195703
}
roundstatsall {
reservation {
account_ids: 325391327
account_ids: 55022319
account_ids: 199873381
account_ids: 92583876
account_ids: 97254842
account_ids: 354762908
account_ids: 138651512
account_ids: 841090319
account_ids: 183710739
account_ids: 119649041
}
etc
guys, please. Cant do anything without your help T_T
- You can easily decode the response by using the same library ValvePython uses to encode its responses.
from google.protobuf.json_format import MessageToDict
match_info = MessageToDict(response[0])
for match in match_info['matches']:
for match_round in match['roundstatsall']:
print(match_round)
- Sadly you won't get stats like csgostats from this. They use a similar methode to get the demo url from a sharecode, eg:
demo_url = game_info['matches'][0]['roundstatsall'][-1]['map']
then they download set demo an use their own parser, another public or the Valve made one to get all the information they want
- You can easily decode the response by using the same library ValvePython uses to encode its responses.
from google.protobuf.json_format import MessageToDict match_info = MessageToDict(response[0]) for match in match_info['matches']: for match_round in match['roundstatsall']: print(match_round)
- Sadly you won't get stats like csgostats from this. They use a similar methode to get the demo url from a sharecode, eg:
demo_url = game_info['matches'][0]['roundstatsall'][-1]['map']
then they download set demo an use their own parser, another public or the Valve made one to get all the information they want
Thx for your reply. Now i understand. But there is a new question. I know nothing about C, C# or C++. Is there any working python library for getting stats like csgostats get? I saw some frameworks, but its so outdated...