Skip to content

Releases: Letaryat/poor-sharptimer

Pre-release 0.3.1h

04 Nov 06:15
Compare
Choose a tag to compare
Pre-release 0.3.1h Pre-release
Pre-release
  • improve afk detection
  • adjust spectator afk logic
  • add logic to detect endtouch on fake zone (and start timer then)
  • invalidate timer on fake start entry (THIS FIXES THE CHECKPOINT ERROR)
  • clear currentmapcheckpoint on respawn just to make sure
  • allow disabling remote_data and fallback to local data (new config.cfg)
  • disable max completions logic when !importpoints
  • pass the mapname (and tier) through !importpoints
  • fix one given key error
  • suppress the other one
  • suppress trigger_teleport hook exception on disconnected player
  • streamline fastforward style

Pre-release 0.3.1g

02 Nov 17:48
Compare
Choose a tag to compare
Pre-release 0.3.1g Pre-release
Pre-release

!! update en.json !!

  • ignore max completions limit if player beats pb
  • add cfg variable to modify HUD updates per second
  • add afk management options
  • actually maybe probably fix bot collision

Pre-release 0.3.1f

24 Oct 15:39
Compare
Choose a tag to compare
Pre-release 0.3.1f Pre-release
Pre-release
  • fix bot collision
  • fix bot chatter
  • commit missing variable

Pre-release 0.3.1e

24 Oct 00:58
Compare
Choose a tag to compare
Pre-release 0.3.1e Pre-release
Pre-release
  • remove max free points message
  • add max completions to point calculations
  • make points formula configurable

Pre-release 0.3.1d

23 Oct 16:47
Compare
Choose a tag to compare
Pre-release 0.3.1d Pre-release
Pre-release
  • adjust/fix replaybot spawning
  • stopreplay if player changes team

Pre-release 0.3.1c

21 Oct 18:24
Compare
Choose a tag to compare
Pre-release 0.3.1c Pre-release
Pre-release
  • adds configurable bonus point multiplier
  • removes some legacy points stuff
  • fix some points logic
  • default to T1 if tier not specified

@M-archand contributions

  • address OnSyncTick exception

Pre-release 0.3.1b

20 Oct 23:44
Compare
Choose a tag to compare
Pre-release 0.3.1b Pre-release
Pre-release
  • rework !importpoints to scrape every single record instead of just current map
  • deprecate !databasetojson

So, to upgrade to new points, you can now do !resetpoints followed by !importpoints

Pre-release 0.3.1a

20 Oct 19:54
Compare
Choose a tag to compare
Pre-release 0.3.1a Pre-release
Pre-release

initial new points testing
It is highly recommended to wipe ALL player points with !resetpoints

What's changed?

The old points system has been removed
The new points system was implemented by following the CSGO SurfTimer methodology

How does it work?

you can refer to their github readme here

First, each completion is given a baseline set of points, listed below

  • Tier 1: 25
  • Tier 2: 50
  • Tier 3: 100
  • Tier 4: 200
  • Tier 5: 400
  • Tier 6: 600
  • Tier 7: 800
  • Tier 8: 1000

Then, we calculate max points based on the following formulas, which take in to account tier and completions

  • Tier 1: WR = MAX(250, (58.5 + (1.75 * Number of Completes) / 6))
  • Tier 2: WR = MAX(500, (82.15 + (2.8 * Number of Completes) / 5))
  • Tier 3: WR = MAX(750, (117 + (3.5 * Number of Completes) / 4))
  • Tier 4: WR = MAX(1000, (164.25 + (5.74 * Number of Completes) / 4))
  • Tier 5: WR = MAX(1250, (234 + (7 * Number of Completes) / 4))
  • Tier 6: WR = MAX(1500, (328 + (14 * Number of Completes) / 4))
  • Tier 7: WR = MAX(1750, (420 + (21 * Number of Completes) / 4))
  • Tier 8: WR = MAX(2000, (560 + (30 * Number of Completes) / 4))

Next, we grab the top ten players, check if the current completion is within it, and distribute points accordingly

  • Rank 1 = WR
  • Rank 2 = WR * 0.8
  • Rank 3 = WR * 0.75
  • Rank 4 = WR * 0.7
  • Rank 5 = WR * 0.65
  • Rank 6 = WR * 0.6
  • Rank 7 = WR * 0.55
  • Rank 8 = WR * 0.5
  • Rank 9 = WR * 0.45
  • Rank 10 = WR * 0.4

Finally, if the player is not in the top 10, we check if they are above the 50th percentile, in a set of 5 groups

  • Group 1 (top 3.125%) = WR * 0.25
  • Group 2 (top 6.25%) = (Group 1) / 1.5
  • Group 3 (top 12.5%) = (Group 2) / 1.5
  • Group 4 (top 25%) = (Group 3) / 1.5
  • Group 5 (top 50%) = (Group 4) / 1.5

All points are then added to the players total points

Pre-release 0.3.0t

17 Oct 15:57
Compare
Choose a tag to compare
Pre-release 0.3.0t Pre-release
Pre-release
  • made respawnpos less buggy for both mg & surf
  • compile with cs# v281

@deabb additions

  • make use of .HasFlag
  • fix forced speed mult being applied to ladders
  • bump api requirement to v281

0.3.0

19 Oct 20:51
f4dd2b8
Compare
Choose a tag to compare

The QOL Update

⚠️WARNING⚠️DATABASE CFGS HAVE CHANGED

MAKE SURE TO UPDATE YOUR SPECIFIC DATABASE CFG

Release notes

  • added sharptimer_style_points_enabled to disable points rewarded for styles
  • completely refactor db utils for easier modification of dbs
  • added sqlite support
  • added translations (en, fi, fr, nb, pl, sk, sv)
  • added fastforward and sideways styles
  • PlaySound function
  • put command check functions on PlayerChecks.cs
  • enable/disable sound by default
  • change sounds for timer, respawn, checkpoint, checkpoint error, teleport, pb & sr
  • play sr sound for all players
  • fixed missing space on langs
  • enable/disable sr ad option
  • enable/disable messages ad option
  • separate timer for both
  • custom ad messages can be added in cfg/SharpTimer/admessages.txt
  • moved some global vars (potential headache fix!)
  • some styles break on spawn so now style is set when spawned (if player dies or changes team)
  • on map finish only print style if styles are enabled
  • simplified style functions
  • more zone settings
  • added PlayerStats table prefixes
  • EXAMPLE = PlayerStats_EXAMPLE (for multiple servers)
  • damage hook changes
  • allow rank commands while dead/in-spec
  • maxglobalfreepoints math fix
  • !fakezones menu
  • only play sr sound if sounds are enabled
  • fix bonus finish msg in lang
  • use PlaySound method for sounds enabled check
  • add !adminnoclip (for making fake zones easier)
  • fix saving player times to postgres
  • !rank now respects style
  • fix style ranking on hud
  • added sql migrations for easier table updates
  • added more style aliases
  • removed timer from sql check
  • moved sqlcheck to roundstart (to ensure cfg is parsed first)
  • rank command handler respects bonus now
  • made discord style webhook prettier
  • made !stage quietly stop the timer
  • updated jsontodatabase tool to make json -> sqlite transition easier
  • fix all db types not generating PlayerStats on first launch
  • ad messages are only custom now
  • regular ad messages stored in lang
  • print map time to allchat
  • save stage times to db
  • add stage records
  • only save checkpoint times on normal style
  • move admin noclip to cheats perms
  • only save stagetimes when in normal style
  • fixed silly missing comma in stagetime db queries
  • only print stagetime if sr
  • fixed strange timer stopping bug
  • stage time records now in cfg
  • !resetpoints command (WARNING: RESETS ALL PLAYER POINTS TO ZERO)
  • only play sr sound if player sounds enabled
  • moved sqlcheck (fixes weird db bugs)
  • remove unused enabledb variable
  • fixed PlayerStats table references
  • merged !replay and !replaysr
  • remove unused lang
  • fix case of sr time difference not displaying
  • add option to disable stage record broadcasts
  • a slew of options to discord embeds (see updated discord config)
  • setting to disable hud rank icons
  • only show style on hud if styles enabled
  • customizable ranks (see ranks.json)
  • sync % on hud
  • ability to globally enable/disable hud elements
  • added replay bot (REQUIRES STFIXES)
  • remove test message from admessages.txt
  • fix RunCommand-based styles after 8.14.2024 valve "update"
  • fix sync memory leak/redo sync logic
  • fix respawning on 0,0 coords
  • fix replay bot getting kicked
  • disable sv_cheats 0 enforce
  • added color gradient to HUD speed (sharptimer_hud_secondary_color_dynamic true in config.cfg)
  • add ability to disable checkpoint verification (located in config.cfg)
  • fix double respawning
  • reset sync upon leaving startzone
  • remove hide players (broken)
  • remove trigger push (broken, use STFixes)
  • fix gamedata after armory update
  • revert player spawn changes
  • fix bug saving checkpoint times to json for style runs
  • fully custom ranks
  • Cleanup dynamic color format + keyEnabled/hudEnabled
  • made respawnpos less buggy for both mg & surf
  • compile with cs# v281
  • make use of .HasFlag
  • fix forced speed mult being applied to ladders
  • bump api requirement to v281

Many of these changes were made possible by our contributors :)

@exkludera
@razpbrry
@M-archand
@Letaryat
@NordicGamerFE
@deabb
@jvnipers
@B3none
@Julienhqr
@Kanetrix