Commit Graph

106 Commits

Author SHA1 Message Date
rtldg
6c5be61344 try to consistently use lowercase mapnames and PLATFORM_MAX_PATH for mapname buffers 2021-08-08 15:55:09 +00:00
rtldg
b68aba6fd2 reorganize some things to stop looping so much when a player joins 2021-08-01 18:07:06 +00:00
rtldg
fea39ce643 make Shavit_OnDatabaseLoaded run after migration like it's supposed to and attempt to use it for things 2021-07-30 08:17:31 +00:00
rtldg
435a23f065 move avg/max vel & perfs to another message so the buffer doesn't get cut off anymore 2021-07-23 08:54:57 +00:00
rtldg
ca6ad88b7b fix 2 completions bug thing the better way 2021-07-15 07:37:57 +00:00
rtldg
7b4d2f5b23 fix bug that'd give 2 completions on first map finish 2021-07-13 08:49:35 +00:00
rtldg
a6be0127ee add exact_time_int to playertimes to deal with floating point imprecision 2021-07-11 07:16:00 +00:00
rtldg
6f058127c4 make all plugins require dhooks so there's error spam due to them not loading 2021-07-06 02:22:35 +00:00
rtldg
02fb3e2f7e unadd chatstrings_t parameter from Shavit_OnChatConfigLoaded because it's not worth having 2021-05-29 02:03:21 +00:00
rtldg
3be13005e6 add chatstrings_t param to Shavit_OnChatConfigLoaded. add Shavit_GetStyleStringsStruct. add Shavit_GetChatStringsStruct. 2021-05-08 13:00:19 +00:00
rtldg
021d5172ae stage churn 2021-05-06 03:36:31 +00:00
rtldg
2873cbe422 remove vel2d from stagetimes and separate stage time wr and pb tables 2021-05-06 02:18:43 +00:00
rtldg
94a27a954e add Shavit_GetClientLastStage, Shavit_GetStageWR, and Shavit_GetStagePB 2021-05-01 00:42:41 +00:00
rtldg
ecc2d8d2c0 use the wr table view in some more places 2021-04-30 07:30:45 +00:00
rtldg
96281d2f85 more wip stage stuff 2021-04-30 07:06:18 +00:00
BoomShot
2697e6c5b1 boomshot stages stuff
Move remaining shavit-rankings dependent calls (#1043)

If the shavit-rankings plugin isn't loaded, the calls to its natives will cause an exception and the client's messages will not be formatted correctly.

Add native for getting the number of stages

Implemented native for getting number of stages and allowed practice mode to view stage times.

Added WR stage time comparisons for when a user enters a stage zone.

It's important that the stage zone number starts at two. It may be preferred to remove the user input of stage numbers and just auto increment as stages are added. Stage 1 should be the start zone and just have any additional stages increment from there. I'll readdress this if it's necessary.

Add translations for WR stage time comparison messages

Accidentally undid a change from a previous commit.

I didn't have a merge conflict, so I'm unsure why it got replaced.

Combine stage time translations into one

Implemented suggestions to translations and changed the stagetimes table

The stagetimes table no longer uses auth as a primary key, so it will now replace the old WR stage time.
However, the auth is still stored, so it can be used to reference the player and potentially a players PB.

Update callback name for replacing stage time for logging.
2021-04-19 15:49:47 +00:00
rtldg
cb39acc33b remove stylesettings_t and break 3rd party plugins 2021-04-08 21:19:18 +00:00
rtldg
45ad54c41e use IsValidClient instead of IsClientInGame in my new loop 2021-03-20 15:07:30 +00:00
rtldg
94c38ad34c print worse time messages to spectators 2021-03-19 10:10:35 +00:00
rtldg
9700482045 remove unused parameter 'track' from ShowWRStyleMenu() 2021-03-18 10:11:19 +00:00
rtldg
bf7f68faec change all menus to display for at least 5 minutes 2021-03-14 00:03:10 +00:00
rtldg
dcb9595f1a show wrs and blank styles on !wr notcurrentmap 2021-03-13 22:50:44 +00:00
rtldg
c9cf2802c6 add another view because mysql 5.6 gives "View's SELECT contains a subquery in the FROM clause" 2021-03-11 01:21:52 +00:00
rtldg
8d6e730bee make my wrrank/wrcount queries work with mysql 5.6/5.7
also my DeleteWR() query that used variables to be fancy is unneeded and just breaks sqlite compatibility
have you noticed that i've been winging it with all the sql stuff?
2021-03-10 08:50:33 +00:00
rtldg
ee11fa10d4 add Shavit_DeleteWR. refactor run deletion & wipeplayer 2021-03-04 05:53:41 +00:00
deadw1nter
2d9c1037a0 better implementation from rellog, huge shoutout to him 2021-03-01 18:08:20 +08:00
deadw1nter
7477c7780f A shitty implementation 2021-03-01 17:41:59 +08:00
Joe
b62352835f
Merge branch 'very_good_yes' into delete_replay 2021-03-01 02:12:30 +00:00
Joe
27dfcd740f add timestamp to finish-forwards. add Shavit_ShouldSaveReplayCopy and Shavit_OnReplaySaved 2021-02-27 19:39:21 +00:00
Joe
4b97af25d8 add avg/max velocity to run completion message 2021-02-26 20:41:58 +00:00
Joe
5351e49e76 spread avg/max velocity into as many places as possible 2021-02-26 18:28:40 +00:00
deadw1nter
6ae4ce15d9 Add mapname param to OnWRDeleted 2021-02-24 20:04:34 +08:00
kidfearless
7c5298f721 fixup compile errors 2020-12-04 07:51:23 -07:00
kidfearless
200ffd16f8 Removed shavit_getstylesettings from shavit-wr 2020-12-04 07:48:57 -07:00
Joe
a1e60b39fa
Multiple bonuses (#982)
* cleanup GetTrackName()

* a few more changes to change mod_zone_bonus & add Track_Bonus_Last

* fix undefined symbol sTrack

* fixup !bwr for multiple bonuses

* fix GetTrackName() after I broke it

* add bonus number param to help text of sm_bwr

* fix !wr after I broke it adding !bwr [bonus number]

* ignore checkpoint zones for now because nothing is ready for them

* update points for bonus #2 through #8 at same time

so instead of something like `9 (track count) * 22 (style count)` queries, it'll do `3 (main, bonus1, rest of bonuses) * 22 (style count)` queries and the rest of the bonuses on the recalc all in the same query
2020-11-30 09:40:45 -07:00
kidfearless
c52c3c3e79
Add account id validation when deleting replays
* Fixed bugs

* Make it optional

* no empty line

* Update shavit-core.sp

* How can I didn't notice this before
2020-11-10 12:40:53 -07:00
Joe
c40ab49fac
Wr suggestions (#972)
* make !wr say map not found when map not found...

* use translation string for 'map was not found'

* stockify GuessBestMapName() and also use in sm_tier

* fix formatting

Co-authored-by: KiD Fearless <kidfearless1@gmail.com>
2020-10-17 15:41:43 -06:00
Q
1ec04b4993 no empty line 2020-08-20 09:59:30 +08:00
Q
d4d51c752d Fixed bugs 2020-08-20 09:44:27 +08:00
Dustin
06aa539d9e
Added Shavit_GetClientCompletions (#908)
* Added Shavit_GetClientCompletionss

* Misc. changes

Co-authored-by: KiD Fearless <kidfearless1@gmail.com>
2020-07-10 22:01:28 -06:00
Kyle
e75617e191 Fix admin menu
Fix for adminmenu late load or reload
2020-03-07 13:28:31 +08:00
KiD Fearless
3283a26d45 Added Convar_class methodmaps for timer convars 2020-01-22 17:16:37 -07:00
Dustin
0c7a0702d0
removed ] that was to much 2019-08-16 19:26:44 +02:00
shavit
a66d75e9db Added failsafe to prevent data loss when players finish maps without cache being loaded (#813). 2019-07-24 15:34:46 +03:00
shavit
89d33d91d4 Added Shavit_OnFinishMessage forward (#821).
(and changed PB cache to only update after the finish message is sent to the players)
2019-07-24 15:19:49 +03:00
shavit
fd121092c8 Refactored database handles so that there are multiple instead of a single one. 2019-05-31 17:32:03 +03:00
shavit
0650d20eff Removed ancient SetPrefix code and put it in a stock function instead. 2019-05-31 17:03:27 +03:00
shavit
70dd8f7c9c Added tracking for map completions (#804). 2019-05-28 18:32:24 +03:00
shavit
25ca9f72da Removed gI_RecordAmount for a more elegant solution. 2019-05-23 22:16:33 +03:00
shavit
547f90ef62 Added automatic database migrations and revamped overall database structure.
Now I can push database migrations without making the plugin's users do the querying on their own.

List of migrations:
* **Converted all SteamIDs in the database from SteamID3 to Steam Account ID format. The difference is simply stripping of the [U:1: prefix and ] suffix. This change speeds up the queries and reduces the database's size by a lot.**
* Removal of `workshop/` paths from all map names in the database.
* Added index to `lastlogin` to speedup the filtering I added to rankings with `shavit_rankings_llrecalc`.
* Removed `country` from database. It was completely unnecessary.
* Converted IP addresses from plaintext to a single 4 bytes integer.
* Converted `date` of records from a string to integer.
2019-05-12 07:57:04 +03:00