Code Monkey home page Code Monkey logo

hotsstats's Introduction

HotsStats

This tool shows players MMR and other useful stats during the loading screen in Heroes of the Storm. Blizzard commented that they are not going to ban players for using this app.

Installation

  • Requirements:
    • Windows Vista or higher
    • .NET Framework 4.5 or higher
  • Set HotS video mode to Windowed (Fullscreen) to allow other windows to be displayed on top of HotS client
  • Download "Setup.exe" from Releases page (you don't need to download other files listed there)
  • Run the "Setup.exe"

Screenshots

Screenshot1 Screenshot2 Screenshot3

Available stats

Stage 1 - loading screen

At this point we are able to extract only the current region and BattleTags. We don't know the current map or the heroes being played. So we can show only general stats:

  • MMR
  • Games played
  • Average team MMR
  • Clickable link to HotsLogs profile

Stage 2 - during game after 1:00 mark

This is when the well documented replay file is created. Now we know current map, heroes and hero levels. We can also pull additional stats from Hotslogs. Here is what we may be able to display for each player in full table:

  • Hero level
  • Hero win rate
  • Map win rate
  • Win rate with current role and sub-role
  • Current team composition win rate (yay less whining about comps!)

This window functions like built-in stats that can be shown with Shift-Tab hotkey. I'd be happy to move those stats to loading screen if we find a way to get map and heroes data from battlelobby file (or maybe use OCR).

- What about advanced stats during match?

-- No there will not be any dynamic stats within this project because 1. You can't obtain this info manually and 2. Going down this road leads to all sorts of unfair tools like map hacks.

Stage 3 - after match ended

Now that we have a full replay file we can display tons of detailed stats like damage taken, self healing, objective counters (collected/lost coins, damage done to immortals etc). I hope that with help of the community we can develop an extensive replay analyzer lib that can be used by this app and hotslogs.

Development details

Here's how the app currently works. During loading screen the game creates the battlelobby and tracker files. Battlelobby is one of a few replay files not documented by Blizzard. Since I have no idea about the file structure I just search for anything that looks like a battle tag. If anyone finds how to extract current map and heroes from this file it would be awesome. Detailed info about replay files can be found on wiki page

Then I get MMR from HotsLogs JSON API. For more stats such as total games count and heroes win rate we have to parse HTML profile.

Code style

While I'm the only one actively developing this project I use coding style that I like. Later on if there will be more contributors I plan to convert it to common conventions. Currently I use tabs spaces for indentation and C style brackets.

hotsstats's People

Contributors

andrei-ivanovici avatar lezzi avatar lucaskolstad avatar poma avatar wailord avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.