Hey guys.
The whitelist server I play on has been using the sm_checkpoints plugin that XTN posted. There was a pretty major bug in it (which seems like its been there since 2013) where the eye angles were being saved incorrectly. I set out to fix that and added a few features I wanted, adding horizontal speed to a checkpoint, a basic practice mode, saving checkpoints while spectating and a clone of sm_saveloc from the KSF timer.
This is my first time coding in Sourcepawn so be nice if there are some bugs!
EDIT: Also if you have previously used XTN's version on your server you will need to start with a blank checkpoint database since I have changed the table schema.
If you used sqlite go to addons\sourcemod\data\sqlite and delete checkpoints.sq3
If you used MySQL you can just drop database and remake it, or drop the 3 tables.
https://github.com/wseagar/sm_checkpoints
sm_checkpoints 1.1 changelog
Bug fixes:
Saves eye angles correctly
sm_save <checkpoints #> now works correctly
Modifications:
Moved most of the plugin to new sourcepawn 1.7 syntax
sm_save - You can now save checkpoints while spectating a player/bot
sm_save - Now saves the time into the run
sm_save - Now prints a string to console which can be used to recreate the checkpoint
"Successfully saved checkpoint #5/5
To recreate use sm_saveloc -2272.03|-9218.47|14386.36|28.99|125.09|0.00|-173.81|195.21|83.24|10.12 "
Features:
sm_saveloc <"x|y|z|pitch|yaw|roll|velx|vely|velz|time" > [<checkpoint #>] - Used to recreate a checkpoint based on a input string. Optional paramater to specifiy the checkpoint number to overwrite, defaults to the next avaliable.
sm_addspeed <speed> [<checkpoint #>] - Adds or subtracts horizontal speed to your current cp or one specifed by <checkpoint #>
sm_printcps - Prints the sm_saveloc strings for saved checkpoints
Practice Mode: (No hud yet, just prints your time to chat when you finish)
When you teleport to a checkpoint you now will enter practice mode.
Upon arriving at shavit endzone your time since last TP will be printed and your time since exiting the startzone.
If you created your first checkpoint with the timer stopped that time will be your start time.