Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ Timer Public

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

License

Notifications You must be signed in to change notification settings

CS2Surf/Timer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

203 Commits

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

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

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


πŸ”— Dependencies

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 - Data for the PB replays is saved but no functionality to replay them yet is available
      • 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 6

Languages

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /