Skip to content

CS2Surf/Timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EVERYONE IS WELCOME TO BUILD UP ON THIS PROJECT AND CONTRIBUTE. ISSUES ARE DISABLED FOR THE TIME BEING

Please join the Discord: https://discord.cs.surf

Timer

Core plugin for CS2 Surf Servers. This project is aimed to be fully open-source with the goal of uniting all of CS2 surf towards building the game mode.

Center HUD Speedometer

Different time formatting is available in the code base but not implemented for players to change it themselves. Refer to PlayerTimer.TimeFormatStyle in codebase

  • Map

    Shown while player starts their Map Run from the map start zone (!r)

    Zone name + Start speed

    Map Run mode:

    Map Start Zone Map Start Zone exit
  • Checkpoints

    Only shown during Map Run after exiting a Checkpoint/Stage zone

    Zone name + Start speed

    Checkpoint comparison:

    Checkpoint Start Zone exit
  • Stages

    Only shown while in Stage Mode, accessed through !s X or !stage X commands

    Zone name + Start speed

    Stage Run mode:

    Stages Start Zone Stages Start Zone exit
  • Bonuses

    Only shown while in Bonus Mode, accessed through !b X or !bonus X commands

    Zone name + Start speed

    Bonus Run mode:

    Bonuses Start Zone Bonuses Start Zone exit
Replays

Currently only accessible through the !spec command and cycling the players. Different time formatting is available in the code base but not implemented for players to change it themselves. Refer to PlayerTimer.TimeFormatStyle in codebase

Replays are saved for all types of runs Map/Stage/Bonus (and future Styles) regardless if they are a World Record or just a Personal Best. No functionality is implemented for replaying PB replays yet, feel free to add and Pull Request it

  • Map
    Spectating Map Replay

    Map Run:

    Map Run Replay
  • Stages
    Spectating Stage Replay

    Stage Run:

    Stages Run Replay
  • Bonuses

    Bonus Replays are also available but no screenshots at the time of writing.

  • Scoreboard
    Currently available replays for the map

    Scoreboard:

    Scoreboard showing all available Replays
Chat Messages
  • Map Run
    Improving a Record

    Timer sends a chat message to all players upon a player beating the Map Record. Missing it sends a message only to the player:

    Beating a Map record
    Checkpoint Comparison

    Timer sends a chat message the player comparing their PB checkpoint times with the current run (value in brackets after the time indicate the Speed):

    Checkpoints Comparison
  • Stage Records
    New Stage record and improving Stage record

    Timer sends a chat message to all players upon a player beating a Stage/Bonus/Map record. Different scenarios for missed/comparing times are also available and shown in chat but only to the player who is doing the run:

    Stage Records and comparisons
  • QOL
    Player Connected + Map Info (!mi / !tier)

    LL is used for Local development and testing:

    Player Connected + Map Info
    Player Rank

    Displays the rank of the player on the current map:

    Player Rank
Player Commands

We recommend making binds using the Console commands, chat commands may flood the server and not always work.

  • Saveloc (Practice Mode)
    Save the current location

    Chat: !saveloc

    Console: css_saveloc

    Teleport to the last saved location

    Chat: !tele

    Console: css_tele

    Teleport to the previous saved location

    Chat: !teleprev

    Console: css_teleprev

    Teleport to the next saved location

    Chat: !telenext

    Console: css_telenext

  • Spectate
    Enter Spectator Mode

    Chat: !spec

    Console: css_spec

    Exiting Spectator Mode

    No command currently available to go back to Play Mode (time may NOT be reset and you will loose your progress post entering Spectator Mode)

    Open team choosing menu M and select CT


Main list with tasks (more details can be found here):

Note: This is not definitive/complete and simply serves as a reference for what we should try to achieve. Subject to change. Bold & Italics = being worked on.

  • Database
    • MySQL database schema (Design Diagram)
    • Plugin auto-create tables for easier setup?
    • Base database class implementation
  • Maps
    • Implement map info object (DB)
    • Zoning
      • Hook zones from map triggers
        • Map start/end zones
        • Stage zones
        • Checkpoint zones (this is each stage for a Staged map)
        • Bonus zones
      • Support for stages/checkpoints
        • Hook to their start/end zones
        • Save/Compare checkpoint times
        • Save Stage times
      • Support for bonuses
        • Hook to their start/end zones
        • Save Bonus times
      • Start/End trigger touch hooks
      • Load zone information automatically from standardised triggers: https://github.com/CS2Surf/Timer/wiki/CS2-Surf-Mapping
      • Support for stages (/rs, teleporting with /s)
      • Support for bonuses (/rs, teleporting with /b #)
      • Start/End touch hooks implemented for all zones
  • Surf configs
    • Server settings configuration
    • Plugin configuration
    • Database configuration
  • Timing
    • Base timer class implementation
    • Base timer HUD implementation
    • Prespeed measurement and display
    • Save/load times
      • Map times
      • Checkpoint times
      • Stage times
      • Bonus times
    • Practice Mode implementation
    • Announce records to Discord
    • Stretch goal: sub-tick timing
  • Player Data
    • Base player class
    • Player stat classes
    • Profile implementation (DB)
    • Points/Skill Groups (DB)
    • Player settings (DB)
  • Replays
    • Personal Best
      • Map Record
      • Stage Record
      • Bonus Record
    • World Record
      • Map Record
      • Stage Record
      • Bonus Record
  • Style implementation (SW, HSW, BW)
  • Paint (?)
  • API Integration (Repo can be found here)

About

Core timer mod for Counter-Strike: 2 Surf Servers.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Contributors 4

  •  
  •  
  •  
  •  

Languages