Kawumm

Race Checkpoints - EXPERIMENTAL

5 posts in this topic

Race Checkpoints / Split Times - EXPERIMENTAL

This widget records and displays checkpoint split times, speeds and distances in race mode.

Workshop Link: http://steamcommunity.com/sharedfiles/filedetails/?id=825648470

Installation

  1. In the game, go to Options -> Addons -> Explore Workshop
  2. Search for "Race Checkpoints"
  3. Click Install
  4. Go to Options -> Widgets
  5. Go to "CheckpointTable" and/or "CheckpointDelta" widget and make sure the "visible" checkbox is ticked

For the addon to work the mapper has to include TriggerVolumes which display the Messages "Checkpoint 1", "Checkpoint 2", "Checkpoint 3", etc. You can try the widget on any of the maps listed below. There is 1 storage slot for each player on each map. If you want to store the checkpoints of your (or the person you just spectated) active run, type ui_checkcore_store 1 into console (can also be bound to a key) after the run is completed.

Use tips

  • You can scroll through recorded runs by different players by using "ui_checkcore_next 1" and "ui_checkcore_previous 1" (can be bound to keys)
  • If you don't like the Checkpoint messages and/or beeps you can deactive the original "Message" widget and use the "MessageQuiet" widget as replacement.

 

Maps with Checkpoints

 

Settings

  • CheckCore - Enabled: This is needed for any Checkpoint widget to work. Only disable if you want to turn everything off.
  • CheckCore - Autosave faster runs: Automatically saves the newest run, if it was faster than the stored record. If you disable this you will have to store each run manually with "ui_checkcore_store 1" in console.
  • CheckCore - Save runs to config file: Saves recorded data to your game.cfg, so it stays persistant even if you close your game.
  • CheckCore - Strict checkpoint messages: If this is disabled the widget will accept every message event as a checkpoint. This will allow you to use checkpoints on maps which have a different message texts, for example "Hello! This is a checkpoint!". However it also allows for triggering a checkpoint twice or in the wrong order, and it makes it impossible to distinguish between checkpoint messages and non-checkpoint messages. So it's preferable to use checkpoints in a strict format.
  • ---
  • CheckpointTable - Show speeds: Display or hide movement speed.
  • CheckpointTable - Show distances: Display or hide move distance
  • CheckpointTable - Show delta times: Display or hide the current checkpoint data compared to the stored run.
  • CheckpointTable - Use total measurements: If this is enabled, all measurements will be taken from RACE START to active checkpoint. If this is disabled, all measurements will be taken from last checkpoint to active checkpoint.
  • CheckpointTable  - hide during run: Hides the widget while doing your run.

 


How to add Checkpoints to your map

  1. Decide where you want to have checkpoints, a good default would be narrow chokepoints of your map that everyone has to go through. Try to keep the map segments logical and not just put checkpoints in random spots. Also keep in mind that players can come up with crazy shortcuts.
  2. Place TriggerVolumes to mark the checkpoint zones. Make sure they are big enough so people don't run past them or (rocket) jump over them.
  3. Attach a "Message" to each TriggerVolume with the text "Checkpoint #", where # is the the number of the checkpoint in order of traversal, starting with 1. You can have 2 or more checkpoints with the same number, if you have alternative paths. Just make sure the player has to traverse the map from Checkpoint 1 to Checkpoint 2 to 3 to 4 etc. without skipping any checkpoint number

 

Merry Christmas!

14a603f743d4bcb5e8e5e1547d6370ae.png

 

Jaguar, slobo^-, seekax and 6 others like this

Share this post


Link to post
Share on other sites

Just a small update, thanks to Mad-Jihad for valueable feedback and everyone who is testing this as a mapper or player.

Update 1.1

- Checkpoint message now just needs to start with "Checkpoint #" (previously exactly match it). So if you like, you can put additional information in the Checkpoint message.  
- ui_checkpoints_autosave cvar added. Set this to 1 and it will automatically save the newest run, if it was faster than the stored record.
- fixed the faulty line when standing inside a start brush
- switching players when spectating should reset the table now instead of undefined results.

slobo^- and MAD_JIHAD like this

Share this post


Link to post
Share on other sites

Seems useful - I'm going to check it out after getting my computer back from the repair.

Share this post


Link to post
Share on other sites

Bigger update this time! Thanks to everyone giving feedback and thanks again to Mad-Jihad for adding even more Checkpoint maps and to Thorec for taking the time to test the changes! Installation instructions have been updated in the original post.

Update 1.2:

  • I seperated backend and frontend. This makes it easier to do changes on how data is displayed.
  • The checkpoint table is a seperate widget now, with display settings in the options menu. The corresponding CVars have been removed.
  • Other CVar settings have been moved to the "CheckCore" options menu.
  • In CheckpointTable, the display order of checkpoints was reversed.
  • Added "CheckpointDelta" widget, since some people asked for a simpler presentation of checkpoint data. This displays time difference every time you reach a checkpoint.
  • Added "MessageQuiet" widget. This is a replacement for the original "Message" widget to give you the possibility of hiding/muting checkpoint messages. This is optional and can also be used without the other checkpoint widgets.
  • Added multiple store slot support (now: 1 slot per player per map). You can "scroll" through the store slots by using ui_checkcore_next 1/ui_checkcore_previous 1 (I bound those to numpadadd/numpadsubtract keys). The currently loaded slot will be displayed by the CheckpointTable widget on top of the table.
  • New command: ui_checkcore_clearall 1. Clears all recorded runs from memory and config. Since this widget can generate quite a lot of data over time, this might come in handy sometimes.
MAD_JIHAD, Monti, slobo^- and 2 others like this

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now