Commit Graph

334 Commits

Author SHA1 Message Date
shavit
487135f85a Allowed using all keys in limited styles after touching ladder (#800).
Key restriction is added again after touching the ground.
ConVar to disable this is `shavit_core_simplerladders`
2019-05-28 18:44:28 +03:00
shavit
70dd8f7c9c Added tracking for map completions (#804). 2019-05-28 18:32:24 +03:00
shavit
26dd200408 Changed "No Speed Limit" zones to "Custom Speed Limit" (#797). 2019-05-14 04:56:26 +03:00
shavit
a7c743cf29 Added custom airaccelerate zones and some natives. (#797)
Shavit_GetZoneData, Shavit_GetZoneFlags, and Shavit_InsideZoneGetID
2019-05-14 04:27:39 +03:00
shavit
058b88b98c Added zone flags and data to mapzones table. 2019-05-14 03:25:15 +03:00
shavit
1fe1196342 Optimizations to migrations
* Deletes invalid times/chat records before adding the new constraints.
* Use of `ip` index while converting the IP addresses.
* Limit IP conversion transaction to 10k queries to prevent memory leak on large datasets.
2019-05-13 05:36:12 +03:00
shavit
29c57b4fca Fixed workshop migration applying 3 times 2019-05-12 23:38:00 +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
shavit
203644d1d2 Added prespeed setting 2 which also respect shavit_core_nozaxisspeed. 2019-04-17 22:57:37 +03:00
shavit
271b669d47 Fixed !r not triggering stop timer warning. 2019-04-15 03:03:09 +03:00
shavit
b88915ba18 Added "force_groundkeys" style property. 2019-04-15 03:01:06 +03:00
shavit
c61e646785 Added shavit_misc_stoptimerwarning 2019-04-14 23:25:17 +03:00
shavit
30264ef092 Added Shavit_OnStopPre 2019-04-14 23:25:13 +03:00
shavit
bac741e7f8 Added teleport parameter to Shavit_ResumeTimer 2019-04-14 22:45:19 +03:00
shavit
3150225755 Added Shavit_CanPause 2019-04-14 22:45:19 +03:00
shavit
40d443180e Disabled timer from starting before cookies are loaded. 2019-03-27 22:02:30 +02:00
shavit
39572abfd9 Added persisting timer data (#757). 2019-03-27 19:50:03 +02:00
shavit
4388409e0a Fixed HSW strafe counter breaking. 2019-03-27 14:21:17 +02:00
shavit
12005e8c18 Rewrote queries to support ONLY_FULL_GROUP_BY (#764). 2019-03-27 10:27:50 +02:00
shavit
538429e36c Changed !style to show records per track (#754). 2019-03-25 13:52:16 +02:00
shavit
bbccdcf28a Removed ancient table migration code (#758).
Should speed up initial load after map change by a lot! I believe this is now useless.
2019-03-25 10:20:23 +02:00
shavit
463b8a857b Major optimizations to database structure.
* in table `playertimes` add `time` to the `map` index - it should look like this:
```sql
INDEX `map` (`map`, `style`, `track`, `time`)
```

* in all tables, change all CHAR(x) to VARCHAR(x). the following are the changes:
- `chat.auth VARCHAR(32)`
- `chat.ccname VARCHAR(128)`
- `chat.ccmessage VARCHAR(16)`
- `users.auth VARCHAR(32)`
- `users.country VARCHAR(32)`
- `users.ip VARCHAR(64)`
- `maptiers.map VARCHAR(128)`
- `playertimes.auth VARCHAR(32)`
- `playertimes.map VARCHAR(128)`
- `playertimes.date VARCHAR(16)`
- `mapzones.map VARCHAR(128)`
2019-03-25 09:33:34 +02:00
shavit
7365cbcb53 Added "kzcheckpoints" mode (#759). 2019-03-25 02:48:50 +02:00
shavit
79a6fef09c Added "enabled" and "inaccessible" style settings. (#761) 2019-03-24 23:10:00 +02:00
shavit
bf37674812 Implemented Shavit_ChangeClientStyle forward. 2019-03-08 09:37:37 +02:00
shavit
08f0224759 Added menu ordering for styles (#681).
Also added Shavit_GetOrderedStyles ofc.
2019-02-24 17:05:39 +02:00
shavit
c767a375b3 Added sm_wipeplayer. (#568) 2019-02-24 15:54:52 +02:00
shavit
b264f50705 Fixed commands erroring at IsClientInGame when ran from console/rcon. 2019-02-24 14:07:21 +02:00
shavit
5468a94243 Separated unset start zone message per track (#735). 2019-02-22 19:36:48 +02:00
shavit
942d6d9675 Added Shavit_IsPaused. 2019-02-22 17:11:55 +02:00
shavit
26534c1d18 Added shavit_core_nochatsound 2018-12-27 07:42:17 +02:00
shavit
3114eec03f Got rid of the cached cvars bullshit
protip: don't follow hosties' coding conventions that shit sucks mad dick
2018-12-27 06:42:02 +02:00
shavit
7f81c9d6c0 unicode -> general 2018-12-27 06:14:50 +02:00
shavit
cf1fce9bc3 Fixed CS:GO chat colors. 2018-12-26 23:07:05 +02:00
shavit
f999073ee2 Structified replay plugin, doubled #pragma dynamic
First chat color in CS:GO is broken.. pending fix
2018-12-26 21:50:42 +02:00
shavit
2ab6c57e1f Refactored whole plugin to use enum structs
SourceMod 1.10 is now a requirement.
2018-12-24 00:31:50 +02:00
shavit
a5513eb14b changed default collation of user inputs to utf8mb4_unicode_ci (#691) 2018-11-03 13:05:49 +02:00
shavit
bb3ac308ca prefer utf8mb4 but fallback to utf8 if not support (#691) 2018-11-03 10:26:04 +02:00
shavit
5c22149b93 Deprecated halftime for timescale.
There's backwards compatibility of course. Untested but should work..
2018-10-16 22:24:34 +03:00
shavit
8fb3f0d23f prac mode alert thing !hud
[Promising] Promises : cud u make a setting to disable this:
[Promising] Promises : [ Timer ] WARNING: You're now in practice mode. Your times WILL NOT be saved and will be only displayed to you!
2018-10-11 19:16:13 +03:00
shavit
29415315b9 Fixed loading issue with rankings module. 2018-10-02 16:40:33 +03:00
shavit
d1d594503e Dropped dynamic arrays for strings, unless necessary. 2018-09-23 04:16:23 +03:00
shavit
81dbdedfba Added !deletemap (#668) 2018-09-15 17:26:11 +03:00
shavit
482cd86c8c Fixed low gravity styles.
thanks @strafe!!!
2018-09-13 23:28:45 +03:00
shavit
b6ca23d9f0 reduced size to 32 blablabla yes the usual things sql error nairda 2018-06-26 19:30:18 +03:00
shavit
8a98fe96b9 Unrestricted movement when noclipping. 2018-05-09 19:55:15 +03:00
shavit
06250b7fe0 Assigned style ID 0 on connect, merged style gameplay setting updates.
Should solve the out-of-bound error.
2018-05-07 18:53:17 +03:00
shavit
07434d085d Fixed chat printing error. 2018-05-07 18:25:13 +03:00
shavit
f2887fabfa Changed default +left/right block behavior.
* 1 now blocks movement, 2 also stops timer.
2018-05-03 17:00:23 +03:00
shavit
4bcfae7e94 Don't show perf% for old records. 2018-05-02 13:54:01 +03:00
shavit
8c25086471 Added perfect jump% measuring for scroll styles.
* Added `oldtime` and `perfs` parameters for forwards that missed them.
* Added `iMeasuredJumps` and `iPerfectJumps` to snapshots.
* Added a database migration to add `perfs` column.
* Added perfect jumps% to CS:S keyhint HUD. Not necessary in CS:GO due to annoying limitations.
* Added perfect jumps% to WR menu.
* Added `Shavit_GetPerfectJumps` native.
2018-05-02 12:21:38 +03:00
shavit
c1b93bfdff Opt-in to per-plugin adminmenu integration rather.
Rather than creating the category via core and then adding items on it.
2018-05-02 10:23:43 +03:00
shavit
fabc24ca6f Added style permissions. (#622)
* Added `Shavit_HasStyleAccess` native.
* Added `permissions` setting to styles. Use like "p;style_tas" for example. First section is the flag needed, and the second section is the override for it.
2018-04-26 18:56:31 +03:00
shavit
3681cb2f3d Added shavit_core_defaultstyle.
Usage: style ID. Add an exclamation mark as the prefix to ignore style coookies.
2018-04-19 03:38:16 +03:00
shavit
fdeceabcf0 Fixed CS:S HUD breaking apart after adding new styles without restart. 2018-03-20 04:32:47 +02:00
shavit
8d350bc012 Added plugin name to logs. 2018-03-15 01:40:04 +02:00
shavit
b46c7eadd7 Added Shavit_LogMessage native. 2018-03-15 00:06:12 +02:00
shavit
f04257597d Updated minimum forwardmove/sidemove values. 2018-03-10 18:23:53 +02:00
shavit
6059b19cb2 Removed some core cvars where style settings exist.
shavit_core_autobhop
shavit_core_blockleftright
shavit_core_nostaminareset

Use the appropriate style settings for them instead.
2018-03-10 18:23:18 +02:00
shavit
36686e37b0 Fixed restart not removing pause status. (#590) 2018-02-04 15:38:38 +02:00
shavit
8f51d4c964 Added mouse[2] to OnUserCmdPre. 2018-01-31 05:48:59 +02:00
shavit
cb7bbce676 Changed block_pstrafe's behavior.
* Changed default (1) to block button inconsistencies.
* Made the duration of inconsistencies less annoying.
* Changed the first option to 2, which stops the timer on inconsistencies.
2018-01-28 20:57:22 +02:00
shavit
52b9c1e81f Allowed pausing in practice mode.
It was disabled before due to the mess with time calculation. Shouldn't be problematic now.
2018-01-28 20:54:15 +02:00
shavit
9a49977e10 Fixed a few leftover issues from the frametime change.
* Fixed time not being loaded via snapshots.
* Fixed practice mode not being set to false upon restart.
2018-01-26 08:05:53 +02:00
shavit
53456ffe38 Implemented GetGameFrameTime usage. (#440)
* Made pausing better.
* Added `Shavit_OnTimeIncrement` and `Shavit_OnTimeIncrementPost`. Use this for proper timescaling/save state usage.
2018-01-26 05:58:53 +02:00
shavit
917fe7e683 Fixed style changes not restarting with built in zones. (#582) 2018-01-22 18:58:17 +02:00
shavit
009c849a6c Fixed !b and !bend for built in zones. (#582) 2018-01-22 18:53:32 +02:00
shavit
1fcb7993fe Added oldtime parameter to Shavit_OnFinish 2018-01-16 10:15:41 +02:00
shavit
fd06555188 Fixed prestrafe limit being wrong.
290 is apparently the accepted absolute maximum, so yeah.
2017-12-30 03:21:17 +02:00
shavit
2a6b3182d5 Rewrite autobhop code.
This commit uses a different method of autobhop.

Benefits over the old one:
* Doesn't break with unusual trigger_push setups (i.e. bhop_arcane_v1, bhop_cutekittenz, bhop_ml - or any map with badges' "unbreakable boosters" prefab).
* Doesn't modify the usercmd, therefore other plugins can see the jump button being in use.
2017-12-23 16:37:14 +02:00
shavit
990bbb802d Added slide zones (#558) 2017-12-16 10:27:02 +02:00
shavit
cfde142e92 Added TF2 support. (#549)
Tested most of the things in-game, should be good to go!
2017-12-10 09:30:08 +02:00
shavit
3b947e9b30 Added sSpecialString (specialstring) to style config (#543) 2017-12-09 23:35:41 +02:00
shavit
5b34eaf3a4 Fixed compilation on SourceMod 1.9 2017-12-09 23:24:35 +02:00
shavit
d26ad819a6 Adjusted snapshots' behavior and timer start conditions
It feels smoother now, nothing major.
2017-12-01 00:05:56 +02:00
shavit
e36d917f6d Update table creation queries. 2017-11-23 22:20:33 +02:00
shavit
1d84cfe866 Default convar usage changes, see commit description.
`shavit_misc_prespeedlimit`'s behavior was changed and is now `shavit_misc_prestrafelimit`. The value determines the maximum allowed prestrafe in the start zone *added* to the style's run speed. So i.e., Scroll can prestrafe up to 280 (in reality, 278) and Normal can up to 290.

The default settings for `shavit_core_blockprejump` and `shavit_misc_prespeed` were changed due to this commit.
`shavit_misc_createspawnpoints`'s default setting was changed to 6 as 32 didn't make much sense.
2017-11-22 18:24:45 +02:00
shavit
cb250ee861 CallOnStyleChanged() where needed (#536) 2017-11-21 03:05:59 +02:00
shavitush
5a51b109ac Fix recent HSW issues. (#529) 2017-11-19 01:03:47 +02:00
shavitush
da2d08d9fe Allow all movements on ladders. (#530) 2017-11-19 00:59:29 +02:00
shavit
35104f6d78 Added KZ support. (#472)
Going by KZ-Climb standards - climb_startbutton, climb_endbutton etc. Only supports one bonus due to the plugin's nature.
2017-11-17 11:18:45 +02:00
shavit
c3db507b85 S/HSW exploit fix 2017-11-03 01:14:27 +02:00
shavit
a1629d839c Add indexes, VARCHAR >> CHAR(n).
BIG optimization.
2017-10-29 18:08:44 +02:00
shavitush
70e885c25f Restructured files. 2017-10-24 01:05:09 +03:00