GithubHelp home page GithubHelp logo

drekdrek / grinding-stats Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 5.0 184 KB

Openplanet plugin which shows statistics

Home Page: https://openplanet.dev/plugin/grindingstats

License: MIT License

AngelScript 100.00%
grinding openplanet statistics stats timer trackmania

grinding-stats's Introduction

Hi there πŸ‘‹

πŸ”­ I’m currently working on:

  • Grinding stats, a plugin for openplanet that keeps track of some stats
  • Dayhist, a website for keeping track of Spotify Daylists

πŸ“« How to reach me:

grinding-stats's People

Contributors

dequubi avatar drekdrek avatar kartoffelvieh avatar tigergorilla2 avatar titisee5 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

grinding-stats's Issues

make progress transferable between devices

I play on different devices and want my grind stats to show up when i switch device. I assume data is stored locally and that there's no access to the in game account but it would be a nice feature

Implausible/Incorrect Total & Session time

Discord chat link

In my session today i played about 2 hours and when i chcked grindingstats (it only shows when i press F3) i saw it only showed 50 seconds for total time and session time.

I literally showed Total time: 0:00:55, 287 resets, 17 finishes at some point.

The logfile shows that it`s implausible.

In line 237 at 09:54:12 Splitspeeds logs that it enters a new map, 6xEcwWkjpitcDpQ2jIbEXTya7hk
In line 367 at 12:06:07 Grindingstats writes finishes 17 resets 286 time 97281 respawns 15

Here's the json after the session
6xEcwWkjpitcDpQ2jIbEXTya7hk.json

And that's the whole OP log file
grindingstats-log.txt

Feature Request: Track List

I would love a list of all tracks (probably in a settings tab) where I can see all tracks with the grinding-stats.

Additional:

  • sort by column
  • search by track name

Use case:
For example, I would like to have a list of all tracks of one campaign and see which track I haven't grinded that much (by time) and probably can improve easily.

Recap crashed game TMT

When opening recap game crashes.

Trackmania Turbo

[ Debug] [10:57:20] [GrindingStats] Assertion failed: '"p >= Data && p < DataEnd"'
[ Debug] [10:57:20] [GrindingStats] Assertion failed: '"idx >= 0 && idx < _Count"'

does not save time on map

Everytime I am on a server, campaign or matchmaking, it never saves the time I have spent on the map and this is with the recently updated version from 2 months ago as well.

Total timer being weird in TM2.

Hi, so first of all, this is a awesome plugin but there's a weird bug with the total time where it sometimes doubles the time when you go out of the map (usually exiting the game) and coming back to the same map. I think it might be something to do with the session timer getting added on the total time for some reason, this is the only logical guess I can think of anyway.

Anyway thanks, hope to see this fixed soon!

Getting the map name from its file name?

Hi!

Is there an easy way to reconcile a JSON file from the "Grinding Stats" folder to the map it belongs to?

While browsing the code (I am not an ActionScript developer), I assume this line is responsible for naming the file using the map's IdName?

Timer stops when disabling HUD while it is paused

So I only noticed this because I have a weird habit when playing the game:
I usually turn HUD off when driving and when I "give up" I turn it on again for a short moment (to look at plugins, time left on server etc.) and then turn it off again.
When playing the campaign yesterday I noticed that on a track with length ~1 minute I had >10 finishes, but the grinding stats timer was below 5 minutes, which is impossible of course. I tested a bit and saw that every time I "give up" and restart the track, the timer stops for a short while, which is a nice feature but as it turns out the timer does not start again if I turn of the HUD while it is stopped. If I wait a short moment until the timer starts running again and then turn the HUD off it seems to work fine, but turning the HUD off while the timer is paused makes it so the timer does not "un-pause" itself.
I also tested this in the case that the grinding stats window stays visible, even if HUD is off, and the same error occurs.
On the other hand if the HUD stays off between resetting and starting a new run, the timer does not pause itself at all, it just keeps going the whole time.
I really like the plugin and hope that there is an easy way to fix this :) (sorry for long paragraph xD)

add some sort of campaign support?

It would be cool to if the plugin would track the overall grind on a campaign too.

https://trackmania.io/api/campaigns/0 will return the official ones + extra so thatΒ΄s relatively easy to get for the foreseeable future. If you want to implement other campaigns via the api, not my decision.

Maybe other custom campaigns could be added manually using the id?

Maybe you would add a flag or campaignid to the json so yo can quickly recognize if a map is part of a campaign to avoid extensive loops. (watch out: maps can be part of several campaigns)

Idk if the time should be part of the hud but it would be cool if it was accessible via the Openplanet drop down menuu or so.

add option to not save data if not really played

don't save if the timer is under 5 seconds, which will always be true if they haven't moved since they started.

This will prevent false stats if a player loads into a map to watch a ghost, or check their stats, etc.

Standing respawn increments number of respawns by two

A flying respawn increments the number of respawns by one (intended behavior).
A standing respawn (press two times respawn button in quick succession) increments the number of respawns by two.

Could be fixed in a relatively stupid way (did not find a better method :D) using Time::get_Now().

  1. initialise a variable with Time::get_Now() (when plugin is loaded)
  2. When respawn is requested, check if Time::get_Now() - variable is lower than 1000 (--> 1sec) and only treat as another respawn is it is higher than that
  3. set variable again to Time::get_Now()

move files to PluginStorage

This has been discussed in the discord but I don't see an issue for it here. It should be fairly simple to move the files over if they're detected outside of PluginStorage and start using the new folder within

Turbo: plugin turns on in replay editor

Basically what title says.

It doesn't seem to save the stats on exit. Rather, it just keeps counting session time until you enter an actual track, where it resets back to zero.

P.S. guess I lied in my PR, sorry
image

add cam 7 time

Currently it seems the plugin only counts time as long as the car is moving, For RPG maps for instance, I think time spent in cam 7 looking for the route makes sense to be included in playtime. I can help in detecting movement in cam 7 if needed, I have a plugin that messes with this

times can be negative

there used to be a bug where times could be saved as negative, this leads to a really out of wack time in the file

things to do:

  • add an option to reset a map's data from the settings
  • add an option in recap to delete a map's setting, maybe by shift clicking a map's name (will need a confirmation message)

Blank sessions stats when playing a map for the first time

This started with version 2.0.9, currently using the latest version (2.0.10).

When playing a map for the very first time, the Session Finishes and Session Resets are just blank and stay that way for the whole time. They only appear after reloading the map and only if there actually was a reset or finish during the previous session. Otherwise, the respective stat stays blank.

If Show Duplicates is enabled, the stats are displayed normally. So it seems like they are only blank while the session stat equals the total stat.

Show Duplicates disabled Show Duplicates enabled
stats_missing_no_dup stats_shown_with_dup

Error Message in logs + lost hours

image
This is the error message that i am getting in the openplanet logs.
Also i lost over 1.2k hours without any, also on maps, that i even played on the same day. On all of the lost maps, it doesn't want to count anymore.
little comparison of what i had before and after:
image
image
you can see pretty good that there are some maps missing on the 2nd one.
Thank you for any help/solution! :)

Little update: seems like i was wrong about the lost maps not counting anymore. they still do. but they won't appear in the recap which is the main problem.

Exporting data to be used as a dependency

Lokulicious and I have created our own plugin Discord Rivalry Ping. https://openplanet.dev/plugin/discordrivalryping. This plugin sends a message via a discord webhook when you beat your clubmates. We also send the grinding stats in this message. Currently we are running the grinding stats plugin within our plugin, but we would like to be able to use your plugin as a dependency. The data we use are the session and total stats for time, resets and respawns. It would also be nice if the Timer::to_string() method could be exported since we use this as well.

Show hour on Total time and Session Time even when it is 0

Hi, this is just something that used to be configurable but I think it got removed. I lock my grinding stats in the right corner of the screen and since the hours don't show up when it is under 00 I can't fit it correctly to the edge of the screen because the witdh is lower than is usually is when the hours is >= 1.
As another alternative you could also provide ways for us to manually configure the width and height of the window but since I believe that's more complicated I would be grateful if the "Show hour when 0" made its way back into the plugin (which is a great one btw!)

Regarding whether you choose to update it or not thanks for you time and work! πŸ™Œ

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.