Alright, I have my proof-of-concept. I wanted it to time both the crouch time and the time between uncrouching and jumping, but the latter part proved harder than I expected because I couldn't find an additional animation event to hook into (doing either one individually would be easy, it's doing both at the same time that's hard). So this proof of concept only measures the crouch time.
I'd appreciate some help testing and improving this before I go posting it wider. If you'd like to help me out, here's how to install the timer:
-Paste
this into your HudPlayerHealth.res.
-Paste
this into your HUD animations file (usually either hudanimations_tf.txt or hudanimations_custom.txt).
-Either in-game or in your config, add this script or something similar:
alias +crouch "+duck; voice_menu_1"
alias -crouch "-duck; voice_menu_1"
bind shift +crouch
This will add a horizontal bar to your HUD. When you press shift (or whatever your crouch key is) this bar will start filling. When you release shift, the bar will stop. There is a line in the bar to indicate, in theory, the optimal time to release for a ctap (based on protist's post). Unfortunately the bar will reset when you press crouch again, so if you want to take a good look at it don't crouch in the air. The way this works, for the curious, is that opening and closing the voice menu trigger HUD animation events, and I use those events to start and stop the timer.
What I'd like to know is:
1. Is the timer accurate? I believe it should be since HUD animations are all client-side and don't rely on flaky wait commands.
2. Is the line accurate? Honestly I don't really think so, I'd really like feedback on if and how it should be adjusted. The ideal would be if you can do a perfect ctap and then take a screenshot of what the bar looks like.
3. Any other feedback or suggestions for improvements.