Raised This Month: $ Target: $400
 0% 

[TF2] Classic Movement (Bunnyhop, Wallstrafing, ...) (v1.0.1, 2017-06-09)


Post New Thread Reply   
 
Thread Tools Display Modes
Author
mphe
New Member
Join Date: Jan 2017
Plugin ID:
5550
Plugin Version:
1.0.1
Plugin Category:
Fun Stuff
Plugin Game:
Team Fortress 2
Plugin Dependencies:
    Servers with this Plugin:
    24 
    Plugin Description:
    This plugin brings back movement as it was in GoldSrc or Quake based games.
    Old 02-27-2017 , 20:19   [TF2] Classic Movement (Bunnyhop, Wallstrafing, ...) (v1.0.1, 2017-06-09)
    Reply With Quote #1

    Classic Movement

    This plugin brings back movement as it was in Quake or Half Life 1 based games.
    It feels and behaves almost exactly like the original.


    Features:
    • Wallstrafing
    • (Proper) Strafe jumps
    • Bunnyhopping
    • Jumping while being fully crouched
    • Double ducking
    • Ground Strafing
    • Whatever movement results by combining any of these above

    This thread only contains a short overview. The full documentation is on GitHub.
    If you plan to use it, I highly recommend reading the full documentation.


    Installation:
    Place classicmovement.smx into your "addons/sourcemod/plugins" folder.


    Cvars:
    Spoiler


    User commands:

    Spoiler


    Tweaking:
    See here


    Interpolation:

    This plugin uses interpolation to simulate higher tickrates. This is important because you need at least 100 fps for proper bunnyhopping, but TF2 servers are locked at a tickrate of 66.66666, which makes you mostly lose speed rather than gaining speed. This is also what makes existing bunnyhop plugins feel "not right".
    Down in the video section you can find a comparison video of bunnyhopping with and without interpolation.

    You can control the simulated tickrate by specifying a frametime using the cm_frametime cvar.
    The frametime is calculated like this:


    For example, for tickrate 100:


    Note that it doesn't feel 100% like a real server at this tickrate. Sometimes you have to tweak the frametime a bit to get closer to the original. For example, a frametime of 0.009 feels more like tickrate 100 than the actual frametime of 0.01.
    To deactivate this functionality (why would you?) set cm_frametime to 0.
    Frametimes higher than 0.015 (66.66666) don't make sense because that's the same frametime the server runs at. Doing this anyway or setting a negative frametime will disable interpolation.

    See here for a more in-depth explanation and usage instructions.


    Further notes:
    • See here
    • I only tested the plugin with TF2, it might work with other games, too
      • CSS/CSGO:
        • Double Ducking - Works in both games
        • Wallstrafing - Doesn't work in both games
        • Bunnyhopping - Somewhat works in CSS, doesn't work in CSGO
    Bugs/Issues:
    • Jump Pads sometimes don't set speed for some reason

    Videos:
    The following videos demonstrate the features of this plugin in comparison to the original Half-Life
    Changelog:
    Code:
    1.0.1 (2017-06-09)
    * Fix FOV being reset after zooming (sniper)
    
    1.0.0 (2017-02-28)
    * Initial release
    Attached Files
    File Type: sp Get Plugin or Get Source (classicmovement.sp - 2555 views - 26.5 KB)

    Last edited by mphe; 10-18-2022 at 07:39.
    mphe is offline
    Patro56
    Member
    Join Date: Jul 2012
    Old 03-04-2017 , 05:48   Re: [TF2] Classic Movement (Bunnyhop, Wallstrafing, ...) (v1.0, 2017-02-28)
    Reply With Quote #2

    So much care put into this plugin forces me to show much love towards the creator. Tested it out and the bhop experience alone became much better. The annoying "jitter" which occured when landing/jumping is finally gone or at least its occurence has been massively reduced, feels (almost) like on a 100 tick CSGO server. At some point I shall try this plugin out on other source games I own and report my results. This is some great stuff right there. Much appreciated.

    EDIT
    Double Ducking - Works in both games
    Wallstrafing - Doesn't work in both games
    Bunnyhopping - Somewhat works in CSS, doesn't work in CSGO

    Last edited by Patro56; 03-04-2017 at 12:49.
    Patro56 is offline
    mphe
    New Member
    Join Date: Jan 2017
    Old 03-05-2017 , 14:47   Re: [TF2] Classic Movement (Bunnyhop, Wallstrafing, ...) (v1.0, 2017-02-28)
    Reply With Quote #3

    Thanks for your reply, glad that you like it.

    Quote:
    Originally Posted by Patro56 View Post
    The annoying "jitter" which occured when landing/jumping is finally gone or at least its occurence has been massively reduced
    Yep, that's a side effect of the way the plugin works. To prevent the engine from capping your speed, the player's maxspeed is increased. That means, whenever you hit the ground, the engine won't clamp your speed but simply applies friction to slow you down. This way the plugin doesn't need to interfere (e.g. by hard resetting your speed) and lets the engine do its job. -> No jittering.
    This only works as long as the speed is below 520, though. There's another hard cap that clamps your speed at 520 as soon as you touch the ground. To bypass this, the plugin will apply friction and hard reset your speed to the calculated value, which might cause jitter.

    Quote:
    Originally Posted by Patro56 View Post
    Double Ducking - Works in both games
    Wallstrafing - Doesn't work in both games
    Bunnyhopping - Somewhat works in CSS, doesn't work in CSGO
    A quick google search revealed that CSS/GO apparently requires another way of setting the player's maxspeed. This would explain why it won't work.
    I have CSS so I will look into it soon-ish, when I have time.

    Edit:
    Looked into it and it seems CSS/GO's movement system interferes with mine. Can't be fixed in a reasonable amount of time, so no support for those.

    Last edited by mphe; 04-15-2017 at 17:03.
    mphe is offline
    torridgristle
    Junior Member
    Join Date: Aug 2020
    Old 11-19-2020 , 13:09   Re: [TF2] Classic Movement (Bunnyhop, Wallstrafing, ...) (v1.0.1, 2017-06-09)
    Reply With Quote #4

    The bhopping in this works much better than I expected, this is fantastic.
    torridgristle is offline
    gdfsgdfg
    Junior Member
    Join Date: Jun 2013
    Old 03-21-2022 , 09:02   Re: [TF2] Classic Movement (Bunnyhop, Wallstrafing, ...) (v1.0.1, 2017-06-09)
    Reply With Quote #5

    Should have had an option to disable wallstrafing oh well.
    gdfsgdfg is offline
    mphe
    New Member
    Join Date: Jan 2017
    Old 10-03-2022 , 07:04   Re: [TF2] Classic Movement (Bunnyhop, Wallstrafing, ...) (v1.0.1, 2017-06-09)
    Reply With Quote #6

    Quote:
    Originally Posted by gdfsgdfg View Post
    Should have had an option to disable wallstrafing oh well.
    It's not possible to disable wallstrafing. It's a side effect of how the movement code works, just like airstrafing etc.
    mphe is offline
    Reply



    Posting Rules
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is On
    Smilies are On
    [IMG] code is On
    HTML code is Off

    Forum Jump


    All times are GMT -4. The time now is 12:51.


    Powered by vBulletin®
    Copyright ©2000 - 2024, vBulletin Solutions, Inc.
    Theme made by Freecode