ValveSoftware / Dota2-Gameplay

Public Bug Tracker for Dota2
1.48k stars 85 forks source link

How can I get live pick data for a ranked game? #14915

Open secoldPrivate opened 8 months ago

secoldPrivate commented 8 months ago

Description

Hi,

I'm trying to build a pick helper for dota 2. I notice overwolf has this strange API where they can stream ranked game picks AS they happen! Live! And it almost never fails/gets it wrong.

I cannot see an API for this or any possible way this can be done. How is this black magic done?

I have implemented a OCR solution where I literally take screenshots of the hero pick line at the top of the screen.. and it works.. maybe 85% of the time, but it's a pain, it's slow, and it makes me sad that Overwolf has a better solution but no one will spill the beans on how it's done. Not even Jeff. :(.

I've been asking for years, there's a post from years ago here and still; no info on how it's done. Very sad. Please Mr Hill, how is this done? Is reading the game's memory the only option? Surely in your divine grace, and love of tinkerers you have implemented an API to show live hero picks.

I don't want to know the player's name, I don't want his details. I just want to build a nice picking helper that doesn't require the user to frantically find and type the names of heroes into another window during the pick phase.

A simple wish I have is if GSI just outputs the player slot and the heroID as the picks happen (as they are revealed to the client). Maybe something as simple as:

[{slot:1, hero: 11}, {slot:2, hero: 41},{slot:9, hero:23}, {slot:7, hero: 14}]

image

Example Match ID (and possibly Timestamp)

No response

Screenshots

No response

secoldPrivate commented 8 months ago

Anyone?