How can I get the values inside of PlayerStatsEvent?
bw-leran opened this issue · 4 comments
I'm able to get the normal events out of the replays, but when I print it using the following:
replay = sc2reader.load_replay(
'path_here',
engine=sc2reader.engine.GameEngine(plugins=[ContextLoader(), APMTracker(), SelectionTracker()]))
for r in replay.events:
print(r)
I see the "Stats Update" every 10 seconds like expected, but I can't find a way to actually print out those stats? I'm interested in seeing the player's minerals, vespene gas, etc.
Hope someone can point me in the right direction, thanks!
This should give you some help hopefully. This has all the various attributes for a PlayerStatsEvent.
sc2reader/sc2reader/events/tracker.py
Line 57 in 12634e1
I guess you need to filter the events manually and extract interesting data yourself.
Go to...
sc2reader/sc2reader/events/tracker.py
Lines 277 to 278 in 12634e1
After that add...
def __repr__(self) -> str:
return f"{self.player}: minerals: {self.minerals_current}, vespene: {self.vespene_current}"
Then replace your print loop with...
print("\n".join(repr(event) for event in replay.events))
Now you might want to have a look on sc2reader-plugins, and use PlayerStatsTracker
, then all the interesting infos in PlayerStatsEvent
will be attached to the player objects