shavit’s bhoptimer

shavit’s bhoptimer v3.1.2

Версия Дата выпуска Скачивания Оценка  
v3.1.2 411 0.00 звёзд 0 оценок Скачать
3.0.5 152 0.00 звёзд 0 оценок Скачать
3.0.2 91 0.00 звёзд 0 оценок Скачать
v2.6.0 175 0.00 звёзд 0 оценок Скачать
v2.5.7a 114 0.00 звёзд 0 оценок Скачать
v2.5.7 95 5.00 звёзд 1 оценок Скачать
v2.5.6 75 5.00 звёзд 1 оценок Скачать
  • more robust max prestrafe limit thing to replace something from v3.1.1 dd0059f
  • fix crash that came with the player_speedmod hook 0000000
  • added bhop_lowg to mapfixes 7399512
  • small change to prespeed_ez_vel's internal stuff to maybe prevent the -2147483648 velocity thing from happening and freezing you 0000000
Probably the last 3.0.x release as some other things should be added soon that will bump this to 3.1.0.

v3.0.5​

  • The zone intersection checks now block start & end zones from intersecting. 6bcb16b e00b394
  • Fixed a number of things for replay bots using custom-frames
    • Fixed the broken delay parameter in Shavit_StartReplay and friends. fc8b78a
    • Fixed the HUD time when spectating a bot with custom-frames. fc8b78a 11d2ae0
    • Added Shavit_GetReplayCacheName f793352 d798de9
  • Added kz_bhop_izanami to shavit-mapfixes.cfg f5a5f5e
  • Made the WR message2 (avg/max vel & perf percentage) only print for non-autobhop styles. a373329
  • Added Shavit_OnRestartPre to fix using sm_r to respawn from spectator. 3f14b65
    • The return value from Shavit_OnRestart is now ignored.
  • Added shavit_core_disable_sv_cheats to block sv_cheats from being set. 140b43d c5480e7 9f313ee 4da5d52
    • The following commands can only be used by rcon admins now:
      • ent_setpos
      • setpos
      • setpos_exact
      • setpos_player
      • explode <player>
      • explodevector <player> ...
      • kill <player>
      • killvector <player> ...
      • give
      • Also, some of the cheat impulses.
  • The checkpoints menu will now reopen every 0.5s to help people who have bad internet aa78c6f
  • Weapons on the ground will now be removed every 10s if shavit_misc_noweapondrops is enabled. c3ad16b
  • Nobody liked the replay postframes increasing the time at the end of the replay, so it was removed 2eb78a2
  • Changed the wrhrank* family of TEMPORARY tables to be VIEWs instead d4b61a4
  • Made sure sm_closestpos handles are deleted when a replay is unloaded. c8bcd75
    • By the way, the releases page now has linux & windows binaries made from github actions. Thanks @fuckOff1703
  • Prebuilt zones (mod_zone_*) are inserted into the database now so things like !mapsleft work properly for them.
  • Replay Props have been improved so you can now see entities that are outside your AreaNum! 2733faf
  • Added SHAVIT_LOG_QUERIES 2b4d77d

v3.0.0 update notes​


This update breaks plugins using natives with enum structs along with removing some natives. Recompile any plugin that uses shavit.inc. Also stylesettings_t was removed so anything that uses that will need to be changed, but it's easy to fix.​


Also, make sure to post any errors or problems you find in the github issue tracker or in the #timer-support-here channel of the bhoptimer discord Join the bhoptimer Discord Server!


Update Notes TL;DR (the most notable things):​


  • You can now make a total of 8 bonuses.
  • !r now goes to the most recent track. !main/!m was added to go to the main track.
  • Multiple replay bots can be spawned simultaneously. Also you can make replay bots that loop styles & tracks.
  • The !replay menu now has options to skip forwards, skip backwards, and play at 2x speed.
  • The stage times from the WR run will now be saved (if you add stage zones).
  • Support added for hermansimensen/eventqueue-fix to allow timescaling map events and help prevent some map exploits.
  • Postframes added to replays.
  • More efficient time-difference calculation possible with rtldg/sm_closestpos
  • Times should now be slightly more accurate by basing off tick-interval instead of frame-time.

Concommands​


  • added sm_ccadd <steamid> and sm_ccdelete <steamid> to give ccname&ccmsg access via steamid instead of adding them with admin flags or something (#861). commit
  • sm_recalcall and sm_recalcmap should be faster now.
  • added sm_toggleadverts for clients. commit
  • Multiple bonus typo convenience commands added. sm_b1, sm_b2, etc through to sm_b8.
  • Multiple stage typo convenience commands added. sm_s1, sm_s2, etc through sm_s9.
  • !r now resets your timer back to the track you were previously on. !main/!m was added to move you back to the main track
  • sm_p has been changed to be an alias of sm_profile instead of noclip. You'll probably want to use sm_nc now. commit
    • sm_noclip can now be used as an alias of the timer noclip commands. commit
  • sm_loadunzonedmap to load the next unzoned map from the maps folder (doesn't include workshop maps or sub-folders).
  • sm_save will now refresh an open checkpoint menu.

Convars​


  • added shavit_rankings_default_tier. (#1041)
  • renamed shavit_stats_mvprankones to shavit_rankings_mvprankones.
  • renamed shavit_stats_mvprankones_maintrack to shavit_rankings_mvprankones_maintrack.
  • shavit_misc_prespeed gained 5 - Limit horizontal speed to prestrafe but allow prespeeding. commit
  • shavit_hud_timedifference renamed to shavit_replay_timedifference
  • added shavit_replay_timedifference_tick to change often the time/velocity difference values are updated.
  • shavit_misc_hideradar will now force sv_disable_radar on CS:GO. commit
  • added shavit_replay_dynamicbotlimit to set how many replay bots can be spawned by players.
  • added shavit_replay_allowpropbots to enable/disable Prop (prop_physics) Replay Bots.
  • added shavit_core_timeinmessages to print the server time before chat messages and timer messages. commit
  • added shavit_misc_botfootsteps to toggle replay bot footstep sounds. commit, commit2, commit3
  • added {cr} as an option for shavit_misc_clantag
  • added shavit_misc_weaponcommands 3 to give infinite clip ammo (useful for CSS which doesn't have sv_infinite_ammo). commit
  • added shavit_replay_postruntime to set how long postframes should record. commit
  • fixed shavit_misc_godmode 1 (no fall damage) not working (#1051)
    • spectators being aimpunched has been fixed also. commit
  • added shavit_misc_weaponsspawngood to make glocks spawn on burst-fire and USPs to spawn with a silencer on.
  • added shavit_core_pause_movement to allow player movement/noclip while paused. (#1067)
  • added shavit_zones_prebuilt_visual_offset to adjust the visual zones for maps like bhop_amaranthglow and bhop_tranquility
  • added shavit_misc_experimental_segmented_eyeangle_fix to fix segmented replays have bad eye-angles when teleporting to a checkpoint. commit

Misc​


  • Allow !goto/!tpto from start/end zone (#963)
  • only print the stage time message once per stage (#965)
  • allow !resume when not on the ground (#966)
  • Multiple bonuses (1-8) added (#982)
    • Bonus1 settings are copied to any bonuses that don't have settings in shavit-zones.cfg
  • Persistent-data, savestates, and checkpoints have been improved.
    • Can now checkpoint onto a ladder thanks to m_vecLadderNormal.
    • Fixed segmented checkpoints from starting in practice mode sometimes (#1023)
    • Persistent data is now kept when changing map to the same map. This is done because of server hibernation causes map changes a lot on csgo which is annoying.
    • reduced some allocations and ArrayList cloning
    • fixed persistent data & savestates spawning you in the wall if you were ducked in a tunnel.
  • Add support for hermansimensen/eventqueuefix
    • boosters & map outputs can be saved in checkpoints to prevent cheesability
    • events are paused from running when the timer is paused (although this still needs to be worked on)
  • increased top left WR hud buffer size to handle long player names (#1050)
  • changed replay bot score from 2000 to 1337 (#1059)
  • initial DynamicChannels stuff added (which probably doesn't work too well)
  • Fix exploit allowing extra height on spawn. commit
  • Speculative exploit fix for passing through zones or something. commit
  • Speculative fix for timers starting when you're not on the ground. commit
  • Fixed bug that caused style command callbacks to register twice.
  • Improve zone drawing cycle stuff.
  • Various SQL query changes to hopefully improve the speed of some things.
  • Replay bots now do a (jank) jump animation (#1046)
  • Block SHSW on HSW while still allowing +back to be used in the air to stop. (#973)
  • Removed restart warning for segmented styles. commit
  • Fixed player_speedmod and timescaled styles interacting. For example the bhop_voyage hot air balloon level now works timescaled. commit
  • Setspawn/setstart for each player added. !sp / !ss / !delss / !delsp (#1028)
  • Added velocity difference to the HUD from the closest replay time position. commit
  • Removed base.nav by embedding it in shavit-replay.sp.
  • .nav files are now written for all maps on plugin start. commit
  • .nav files can now be loaded without needing to changelevel. commit
  • Show wrs and blank styles on !wr notcurrentmap. commit
  • Menus now stay open forever unless closed.
  • Zone editing and creation modifiers and grid-snap values will now be saved between menu usages. commit
  • Changed TraceRay masks to use MASK_PLAYERSOLID for zone snapping. (#1032)
  • fixed worse-time completion messages not printing for spectators.
  • !keys menu had changed a bit.
    • +left/+right are now visible in the !keys menu (#980)
    • added angle difference arrows (similar btimes) to !keys. commit
    • another commit
  • blocked pausing while ducking. commit
  • fixed csgo team menu being open on join and also needing to be closed twice. commit
  • fix checkpoints not saving timescale. commit
  • The playertimes table added exact_time_int which will be used to save the exact time value since there's some rounding problems with float-formatting & database handling. commit
  • fix bug with shavit-timeleft repeatedly calling Shavit_StopChatSound.
  • The weapon commands, sm_glock, sm_usp, and sm_knife, now have rate-limiting to prevent the server from spawning too many entities and crashing. commit
  • fixed the original zone disappearing if you are editing zones and then cancel. commit
  • Spawns created by shavit_misc_createspawnpoints will only fill in missing spawnpoints now and will not create extra. commit commit2
    • A couple of hooks have been added to make all spawnpoints valid for spawning and to skip "Team is full" checks for bots. commit commit2
  • fixed a bug that'd give 2 completions on initial map finish. commit commit2
    • A migration was added to subtract 1 from all completions in the database to correct older times that were affected. commit
  • The zone start-point and end-point are now blocked from being placed in the same x or y axis. aka: no zero-width zones. commit
  • More radio commands and pinging commands where added to the radio blocklist. commit commit2
  • Shavit_PrintToChatAll changed into a native to decrease some allocations and also to work with Shavit_StopChatSound. commit
  • CS:S and TF2 center hud thing now hides when the scoreboard is open so less flickering is shown. commit
  • reset stamina on landing for csgo easybhop so you don't have to change sv_staminalandcost (unless you want to) commit
  • avg/max velocity added to run completion (2nd) message.
    • calculates based on the velocity from every frame instead of velocity on jump. (so it works well with surf)
  • added support for rtldg/sm_closestpos (C++ extension) to improve closest position finding speed. commit
    • sm_closestpos(0.000006s) -- sourcepawn(0.011590s) (time needed to locate closest position with a long badges replay i had)
  • Added looping, dynamicly spawning, and physics_prop replay bots. commit(there's many more commits, but that's the initial one)
    • Looping bots will repeat any replays on tracks and styles specified for it in shavit-replay.cfg.
    • Dynamic bots allow multiple replay bots to be spawned by different players so replay bot hogging isn't as problematic.
    • Prop replay bots are physics_props that the client spectates and don't take a player slot.
      • Currently does not work well with area portals, func_illusionary stuff, and anything that is generally in a different "area".
    • bot_join_after_player is now used to determine whether to spawn bots in an empty server.
      • Here's some relevant convars to disable CS:GO server hibernation or bot-kicking:
      sv_hibernate_postgame_delay 9999999
      sv_hibernate_punt_tv_clients 0
      sv_hibernate_when_empty 0
      bot_auto_vacate 0
      bot_join_after_player 0
      mp_autokick 0
  • Removed usage of bot_quota and started to call BotAddCommand directly which works really well and is really cool and I love it. bot_quota sucks. commit
  • Replay playback should work a bit better if the tickrate was changed by TickrateControl (#1018).
  • Post-run frames / postframes added to replays. main commit
  • usercmd mousex/mousey and forwardmove/sidemove added to replay file.
  • When spectating replays, the percentage-complete now goes below 0% for preframes and above 100% for postframes.
  • Fixed replay bots teleporting on the last frame of a replay and screwing up prediction.
  • the !replay menu now includes +1s, -1s, +10s, -10s, and 2x speed options to rewind/fastforward. commit
  • Stage stuff: initial commit, and another

Timer configs​


  • shavit-styles.cfg
    • force_timescale added. commit
  • shavit-zones.cfg
    • Zone beams can now be changed for each zone type.
      • beam - the custom beam path for the zone type.
      • vanilla_sprite - whether to use the default sprite or the timer's sprite.
      • no_halo - whether the zone should have a halo drawn for it.
    • Added beam_ignorez to draw zone beams through walls (#618) commit
  • shavit-chat.cfg
    • added w (WR Count) and W (rank out of WR holders) options to the ranks filtering
    • added {pts}, {wrs}, and {wrrank} for chat ranks
  • shavit-replay.cfg
  • shavit-mapfixes.cfg.
    • Sets convars on certain maps.
    • Currently used to adjust prebuilt-zone visual-offsets on a few maps and to disable shavit_misc_resettargetname to the timer doesn't break some maps.

API​


  • Constants, enums, and defines:
    • Added MAX_STAGES
    • There's 8 bonuses now. Track_Bonus (1) through Track_Bonus_Last (8)
    • Removed Replay_Legacy
    • Added Replay_Dynamic and Replay_Prop
    • enums ReplayStatus and ReplayBotType have been de-typed so the values can be used as ints.
    • REPLAY_FORMAT_SUBVERSION is now up to 0x08 (+4)! Progress!
  • Added natives:
    • Shavit_GetStyleSetting, Shavit_GetStyleSettingInt, Shavit_GetStyleSettingBool, Shavit_GetStyleSettingFloat, Shavit_HasStyleSetting, Shavit_SetStyleSettingFloat, Shavit_SetStyleSettingBool, and Shavit_SetStyleSettingInt
      • Any key in configs/shavit-styles.cfg can now be grabbed with these
      • Probably will be used to replace specialstring usage eventually
    • Shavit_WRHolders, Shavit_GetWRHolderRank.
    • Shavit_GetTimesTeleported - Eventually the value from this will be stored in the database.
    • Shavit_SetStart / Shavit_DeleteSetStart.
    • Shavit_GetClosestReplayStyle - Returns the style currently being used for the client's time/velocity difference.
    • Shavit_SetClosestReplayStyle - Can be used to change the style used for the client's time/velocity difference to compare a Normal time to a Segmented time for example.
    • Shavit_GetClosestReplayVelocityDifference - Returns the velocity difference between the client and closest position of the target replay.
    • Shavit_GetStyleStringsStruct - Fills a stylestrings_t as an alternative to Shavit_GetStyleStrings.
    • Shavit_GetChatStringsStruct - Fills a chatstrings_t as an alternative to Shavit_GetChatStrings.
    • Shavit_GetAvgVelocity - Retrieves the player's average (2D) velocity throughout their run.
    • Shavit_GetMaxVelocity - Retrieves the player's highest (2D) velocity throughout their run.
    • Shavit_DeleteWR
    • Shavit_IsReplayEntity - Returns true if the entity is a replay bot client or replay bot physics prop.
    • Shavit_GetReplayStarter - Returns the client who started the replay entity.
    • Shavit_GetReplayButtons - Returns the buttons for the replay's current tick. Added since otherwise there'd be no way to grab a Replay_Prop's buttons. Also angle-difference so we can see it in !keys.
    • Shavit_GetReplayCacheFrameCount - Retrieves the frame count from the replay bot's frame_cache_t.
    • Shavit_GetReplayCacheLength - Retrieves the replay length from the replay bot's frame_cache_t.
    • Shavit_StartReplayFromFrameCache - Can be used to start replay bots with a custom frames. Useful for playing a replay downloaded from a global replay database or something.
    • Shavit_StartReplayFromFile - Can be used to start replay bots with a custom frames. Useful for playing a replay downloaded from a global replay database or something.
    • Shavit_GetClientLastStage - Retrieves the clients highest stage number in their current run.
    • Shavit_GetStageWR - Retrieves the WR run's stage time (if it exists).
    • Shavit_GetLoopingBotByName - Used to find a looping replay-bot client-index from the loop-config name.
  • Stocks:
    • GetSpectatorTarget added to shavit.inc. Target might NOT be a client (like when watching a Replay_Prop)
    • GetTrackName added to shavit.inc.
    • SteamIDToAuth added to shavit.inc. Converts STEAM_0:1:61 and [U:1:123] to 123.
      • Now used by sm_wipeplayer, sm_ccadd, and sm_ccdelete.
  • Changed natives:
    • Shavit_OnStart can NOT stop StartTimer anymore. Use Shavit_OnStartPre to stop StartTimer.
    • Shavit_HijackAngles now has a int ticks parameter.
    • Shavit_GetWRCount now has parameters for style and track.
    • Shavit_GetClosestReplayTime(client, style, track) -> Shavit_GetClosestReplayTime(client)
    • void Shavit_GetReplayBotFirstFrame(int style, float &time) -> float Shavit_GetReplayBotFirstFrame(int entity)
    • Shavit_GetReplayBotIndex(int style) -> Shavit_GetReplayBotIndex(int style, int track)
    • Shavit_GetReplayBotCurrentFrame(int style) -> Shavit_GetReplayBotCurrentFrame(int entity)
    • Shavit_GetReplayTime(int style, int track) -> Shavit_GetReplayTime(int entity)
    • Shavit_StartReplay now returns an replay entity index (int) instead of a bool.
    • Shavit_GetReplayBotFirstFrame renamed to Shavit_GetReplayBotFirstFrameTime
    • Shavit_GetReplayPreFrame renamed to Shavit_GetReplayPreFrames
    • Shavit_GetReplayPostFrame renamed to Shavit_GetReplayPostFrames
    • Shavit_GetReplayCachePreFrame renamed to Shavit_GetReplayCachePreFrames
    • Shavit_GetReplayCachePostFrame renamed to Shavit_GetReplayCachePostFrames
    • Shavit_GetPlayerPreFrame renamed to Shavit_GetPlayerPreFrames
    • Shavit_GetTimeOffset replaced with to Shavit_GetZoneOffset
  • Changed Structures:
    • timer_snapshot_t now includes fAvgVelocity, fMaxVelocity, fTimescale, iZoneIncrement, and fTimescaledTicks.
      • fTimeOffset was replaced with fZoneOffset.
    • cp_cache_t now includes iSteamID, aEvents, aOutputWaits, and vecLadderNormal
      • iTimerPreFrames removed.
  • Removed Structures:
    • stylesettings_t - Use some of the new GetStyleSetting natives.
  • Removed natives:
    • Shavit_GetStyleSettings - Use some of the new Shavit_GetStyleSetting* natives instead.
    • Shavit_GetGameType - Use GetEngineVersion instead.
    • Shavit_GetDB - Use Shavit_GetDatabase instead.
    • Shavit_GetTimer - Use different natives.
    • Shavit_GetWRTime - Use Shavit_GetWorldRecord instead.
    • Shavit_GetPlayerPB - Use Shavit_GetClientPB instead.
    • Shavit_GetPlayerTimerFrame
    • Shavit_SetPlayerTimerFrame
  • Changed forwards:
    • Shavit_OnUserCmdPre no longer has the stylesettings_t parameter. Use some of the Shavit_GetStyleSetting* natives with the option names from shavit-styles.cfg instead. Examples: Shavit_GetStyleSettingBool(style, "unranked") or Shavit_GetStyleSettingInt(style, "prespeed")
    • Shavit_OnTimeIncrement no longer has the stylesettings_t parameter.
    • Shavit_OnTimeIncrementPost no longer has the stylesettings_t parameter.
    • Shavit_OnFinish gained float avgvel, float maxvel, int timestamp
    • Shavit_OnFinish_Post gained float avgvel, float maxvel, int timestamp
    • Shavit_OnFinishMessage now has a message2 parameter that is used to print an extra message to spectators and the player. Curently prints avg/max velocity and perf percentage. commit
    • Shavit_OnWorldRecord gained float avgvel, float maxvel, int timestamp
    • Shavit_OnTopLeftHUD will now run more often so plugins like wrsj can show the SourceJump WR in the top-left all the time.
  • Added forwards:
    • Shavit_ShouldSaveReplayCopy - Called when a player finishes a run and can be used to save a copy of the replay even if it is not a WR.
    • Shavit_OnStartPre - Used to potentially block StartTimer from starting a player's timer. Previously Shavit_OnStart would've been used.
    • Shavit_OnReplaySaved - Called when a replay (WR or copy) has been saved. SourceJump replay uploader should use this now
Edit 1: Included fix for Shavit_SaveCheckpoint native

v2.6.0 update notes​

This update breaks plugins using natives with enum structs. To fix simply recompile broken plugins with latest shavit.inc​

DHooks is no longer an optional requirement for the timer. You will need it installed in order to use the new precise ticking method​

  • GuessBestMapName moved to shavit.inc
  • Tidied up shavit-chatsettings.cfg loading to throw a better exception if not present(Thanks gammacase)
  • Added accountid validation to replay deletion (Thanks deadwinter)
  • PB's are now reset on players if they are connected when their replay is deleted.
  • Times are now incremented after a players movement has been processed in order to more accurately track times and prevent exploits.
  • HUD default values can now be set from a convar.
  • Turn binds now show up in keys panel
  • Players can now enable seeing their rank for the given time in the top left hud.
  • Checkpoints are now stored in an arraylist and can be deleted individually.
  • Radar and flash are now removed constantly to prevent being displayed again.
  • Stamina is now reset inside OnRestart as well.
  • Added OnPlay forward to allow for dynamic wr sounds.
  • Spectate bot if using the !replay command while alive.
  • Implemented a fix for rounds restarting in single round servers into shavit-timelimit.
  • Added enable/disable convars to minor shavit plugins.
  • fix using -1 for shavit_misc_persistdata
  • fix error that happens if you 'sm_tele 0' with no checkpoints
  • don't set FL_ATCONTROLS when dead/spec so you can freecam while paused
  • Added ProcessMovement forwards for easier access.
Big thanks to Gammacase, rtldg, nairdaa, deadwinter, carnifex, and SaengerItsWar for the majority of contributions to the development of the timer this update.

Convars​

  • shavit_core_useoffsets - Calculates more accurate times by subtracting/adding tick offsets from the time the server uses to register that a player has left or entered a trigger.
  • shavit_hud_timedifference - Enabled dynamic time differences in the hud.
    • Recommended to be left off.
  • shavit_hud_specnamesymbollength - Maximum player name length that should be displayed in spectators panel.
  • shavit_hud_default - Default HUD settings as a bitflag
    • see description for bitflag values.
  • shavit_hud2_default - Default HUD2 settings as a bitflag
    • see description for bitflag values.
  • shavit_sounds_enabled - Enables/Disables functionality of the shavit sounds plugin.
  • shavit_timelimit_gamestartfix - If set to 1, will block the round from ending because another player joined. Useful for single round servers.
  • shavit_timelimit_enabled - Enables/Disables functionality of the shavit timelimit plugin.
  • shavit_replay_timedifference_cheap - Disabled 1 - only clip the search ahead to shavit_replay_timedifference_search 2 - only clip the search behind to players current frame 3 - clip the search to +/- shavit_replay_timedifference_search seconds to the players current frame.
    • Recommended value if set is 3.
  • shavit_replay_timedifference_search - Time in seconds to search the players current frame for dynamic time differences 0 - Full Scan
    • Note: Higher values will result in worse performance
    • Recommended value if set is 10.

API​

  • Changed Structures:
    • timer_snapshot_t now contains time and distance offsets.
  • Changed natives:
    • Shavit_DeleteReplay now passes in the accountid to be validated against, 0 to skip.
  • Added natives:
    • Shavit_GetStageZone - Retrieve the zone ID for a given stage number. Will return exception if stage number doesn't have a zone.
    • Shavit_SetClientPB - Sets the cached pb directly for the given client, style and track.
    • Shavit_GetClientCompletions - Retrieves the completions of a player.
    • Shavit_StartReplay - Starts a replay given a style and track.
  • Changed forwards:
    • Shavit_OnWRDeleted - Added accountid of deleted record.
  • Added forwards:
    • Shavit_OnDelete - Called when a player deletes a checkpoint.
    • Shavit_OnPlaySound - Called before a sound is played by shavit-sounds.
    • Shavit_OnProcessMovement - Called before the server & timer handle the ProcessMovement method.
    • Shavit_OnProcessMovementPost - Called After the server handles the ProcessMovement method, but before the timer handles the method.
v2.5.7a update notes
This update breaks plugins using natives with enum structs. To fix simply recompile broken plugins with latest shavit.inc
If you have performance issues after this update, disable dynamic time difference.

  • Added preruns to replays. Thanks @deadw1nter
  • Added dynamic time difference. Thanks again @deadw1nter
  • Implemented hintfix for csgo players to reduce memory leaks.
  • Fix for adminmenu late load or reload. Thanks @Kxnrl
  • Added jump_multiplier and jump_bonus to shavit-styles
  • Increased dynamic memory size
  • Syntax fix for MySQL 8.0
  • Fixed perf jump detection being slightly off
Convars
  • shavit_hud_csgofix - Apply the csgo color fix to the center hud? This will add a dollar sign and block sourcemod hooks to hint message
  • shavit_replay_preruntime - Time (in seconds) to record before a player leaves start zone. (The value should NOT be too high)
  • shavit_replay_prerun_always - Record prerun frames outside the start zone?
  • shavit_misc_restrictnoclip - Should noclip be be restricted?
    • 0 - Disabled
    • 1 - No vertical velocity while in noclip in start zone
    • 2 - No noclip in start zone
  • shavit_zones_box_offset - Offset zone trigger boxes by this many unit
    • 0 - matches players bounding box
    • 16 - matches players center
API
  • Added natives:
    • Shavit_GetReplayStatus - Gets the replay status.
    • Shavit_SaveCheckpoint - Saves a new checkpoint and returns the new checkpoint index.
    • Shavit_GetCurrentCheckpoint - Gets the current checkpoint index.
    • Shavit_SetCurrentCheckpoint - Sets the current checkpoint index.
    • Shavit_GetPlayerPreFrame - Returns the number of preframes in the players current run.
    • Shavit_SetPlayerPreFrame - Sets player's preframe length.
    • Shavit_GetClosestReplayTime - Gets time from replay frame that is closest to client.
    • Shavit_GetPlayerTimerFrame - returns the number of timer preframes in the players current run.
    • Shavit_SetPlayerTimerFrame - Sets player's timer preframe length.
  • Added forwards:
    • Shavit_OnCheckPointMenuMade - Called after the checkpoint menu has been made and before it's sent to the client.
    • Shavit_OnCheckpointMenuSelect - Called when before a selection is processed in the main checkpoint menu.
    • Shavit_OnTimescaleChanged - Called when a clients dynamic timescale has been changed.
v2.5.7 update notes
  • Added preruns to replays. Thanks @deadw1nter
  • Implemented hintfix for csgo players to reduce memory leaks.
  • Fix for adminmenu late load or reload. Thanks @Kxnrl
  • Added jump_multiplier and jump_bonus to shavit-styles
  • Increased dynamic memory size
  • Syntax fix for MySQL 8.0
Convars
  • shavit_hud_csgofix - Apply the csgo color fix to the center hud? This will add a dollar sign and block sourcemod hooks to hint message
  • shavit_replay_preruntime - Time (in seconds) to record before a player leaves start zone. (The value should NOT be too high)
  • shavit_replay_prerun_always - Record prerun frames outside the start zone?
API
  • Added natives:
    • Shavit_GetReplayStatus - Gets the replay status.
    • Shavit_SaveCheckpoint - Saves a new checkpoint and returns the new checkpoint index.
    • Shavit_GetCurrentCheckpoint - Gets the current checkpoint index.
    • Shavit_SetCurrentCheckpoint - Sets the current checkpoint index.
    • Shavit_GetPlayerPreFrame - Returns the number of preframes in the players current run.
    • Shavit_SetPlayerPreFrame - Sets player's preframe length.
  • Added forwards:
    • Shavit_OnCheckPointMenuMade - Called after the checkpoint menu has been made and before it's sent to the client.
    • Shavit_OnCheckpointMenuSelect - Called when before a selection is processed in the main checkpoint menu.
    • Shavit_OnTimescaleChanged - Called when a clients dynamic timescale has been changed.
Сверху Снизу