diff options
| author | aura <nw@moneybot.cc> | 2026-02-17 23:42:09 +0100 |
|---|---|---|
| committer | aura <nw@moneybot.cc> | 2026-02-17 23:42:09 +0100 |
| commit | 5e2eb7d67ae933b7566f1944d0bb7744da03d586 (patch) | |
| tree | 054acff1113270a9cd07933df760f3768c1b6853 /sourcemod/scripting/include/movementapi.inc | |
| parent | 341db13a008dc12bb22ceb50452d93d01476308c (diff) | |
move source stuff to its own folder
Diffstat (limited to 'sourcemod/scripting/include/movementapi.inc')
| -rw-r--r-- | sourcemod/scripting/include/movementapi.inc | 663 |
1 files changed, 0 insertions, 663 deletions
diff --git a/sourcemod/scripting/include/movementapi.inc b/sourcemod/scripting/include/movementapi.inc deleted file mode 100644 index 290c3f2..0000000 --- a/sourcemod/scripting/include/movementapi.inc +++ /dev/null @@ -1,663 +0,0 @@ -/* - MovementAPI Plugin Include - - Website: https://github.com/danzayau/MovementAPI -*/ - -#if defined _movementapi_included_ - #endinput -#endif -#define _movementapi_included_ - -#include <movement> - - - -/* - Terminology - - Takeoff - Becoming airborne, including jumping, falling, getting off a ladder and leaving noclip. - - Landing - Leaving the air, including landing on the ground, grabbing a ladder and entering noclip. - - Perfect Bunnyhop (Perf) - When the player has jumped in the tick after landing and keeps their speed. - - Duckbug/Crouchbug - When the player sucessfully lands due to uncrouching from mid air and not by falling - down. This causes no stamina loss or fall damage upon landing. - - Jumpbug - This is achieved by duckbugging and jumping at the same time. The player is never seen - as 'on ground' when bunnyhopping from a tick by tick perspective. A jumpbug inherits - the same behavior as a duckbug/crouchbug, along with its effects such as maintaining - speed due to no stamina loss. - - Distbug - Landing behavior varies depending on whether the player lands close to the edge of a - block or not: - - 1. If the player lands close to the edge of a block, this causes the jump duration to - be one tick longer and the player can "slide" on the ground during the landing tick, - using the position post-tick as landing position becomes inaccurate. - - 2. On the other hand, if the player does not land close to the edge, the player will - be considered on the ground one tick earlier, using this position as landing position - is not accurate as the player has yet to be fully on the ground. - - In scenario 1, GetNobugLandingOrigin calculates the correct landing position of the - player before the sliding effect takes effect. - - In scenario 2, GetNobugLandingOrigin attempts to extrapolate the player's fully on - ground position to make landing positions consistent across scenarios. -*/ - - - -// =====[ FORWARDS ]===== - -/** - * Called when a player's movetype changes. - * - * @param client Client index. - * @param oldMovetype Player's old movetype. - * @param newMovetype Player's new movetype. - */ -forward void Movement_OnChangeMovetype(int client, MoveType oldMovetype, MoveType newMovetype); - -/** - * Called when a player touches the ground. - * - * @param client Client index. - */ -forward void Movement_OnStartTouchGround(int client); - -/** - * Called when a player leaves the ground. - * - * @param client Client index. - * @param jumped Whether player jumped to leave ground. - * @param ladderJump Whether player jumped from a ladder. - * @param jumpbug Whether player performed a jumpbug. - */ -forward void Movement_OnStopTouchGround(int client, bool jumped, bool ladderJump, bool jumpbug); - -/** - * Called when a player starts ducking. - * - * @param client Client index. - */ -forward void Movement_OnStartDucking(int client); - -/** - * Called when a player stops ducking. - * - * @param client Client index. - */ -forward void Movement_OnStopDucking(int client); - -/** - * Called when a player jumps (player_jump event), including 'jumpbugs'. - * Setting velocity when this is called may not be effective. - * - * @param client Client index. - * @param jumpbug Whether player 'jumpbugged'. - */ -forward void Movement_OnPlayerJump(int client, bool jumpbug); - -/** - * Called before PlayerMove movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnPlayerMovePre(int client, float origin[3], float velocity[3]); - -/** - * Called after PlayerMove movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnPlayerMovePost(int client, float origin[3], float velocity[3]); - -/** - * Called before Duck movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnDuckPre(int client, float origin[3], float velocity[3]); - -/** - * Called after Duck movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnDuckPost(int client, float origin[3], float velocity[3]); - -/** - * Called before LadderMove movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnLadderMovePre(int client, float origin[3], float velocity[3]); - -/** - * Called after LadderMove movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnLadderMovePost(int client, float origin[3], float velocity[3]); - -/** - * Called before FullLadderMove movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnFullLadderMovePre(int client, float origin[3], float velocity[3]); - -/** - * Called after FullLadderMove movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnFullLadderMovePost(int client, float origin[3], float velocity[3]); - -/** - * Called after the player jumps, but before jumping stamina is applied and takeoff variables are not set yet. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnJumpPre(int client, float origin[3], float velocity[3]); - -/** - * Called after the player jumps and after jumping stamina is applied and takeoff variables are already set here. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnJumpPost(int client, float origin[3], float velocity[3]); - -/** - * Called before AirAccelerate movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnAirAcceleratePre(int client, float origin[3], float velocity[3]); - -/** - * Called after AirAccelerate movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnAirAcceleratePost(int client, float origin[3], float velocity[3]); - -/** - * Called before WalkMove movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnWalkMovePre(int client, float origin[3], float velocity[3]); - -/** - * Called after WalkMove movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnWalkMovePost(int client, float origin[3], float velocity[3]); - -/** - * Called before CategorizePosition movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnCategorizePositionPre(int client, float origin[3], float velocity[3]); - -/** - * Called after CategorizePosition movement function is called. - * Modifying origin or velocity parameters will change player's origin and velocity accordingly. - * - * @param client Client index. - * @param origin Player origin. - * @param velocity Player velocity. - * @return Plugin_Changed if origin or velocity is changed, Plugin_Continue otherwise. - */ -forward Action Movement_OnCategorizePositionPost(int client, float origin[3], float velocity[3]); - -// =====[ NATIVES ]===== - -/** - * Gets whether a player's last takeoff was a jump. - * - * @param client Client index. - * @return Whether player's last takeoff was a jump. - */ -native bool Movement_GetJumped(int client); - -/** - * Gets whether a player's last takeoff was a perfect bunnyhop. - * - * @param client Client index. - * @return Whether player's last takeoff was a perfect bunnyhop. - */ -native bool Movement_GetHitPerf(int client); - -/** - * Gets a player's origin at the time of their last takeoff. - * - * @param client Client index. - * @param result Resultant vector. - */ -native void Movement_GetTakeoffOrigin(int client, float result[3]); - -/** - * Gets a player's velocity at the time of their last takeoff. - * - * If sv_enablebunnyhopping is 0, CS:GO may adjust the player's - * velocity after the takeoff velocity has already been measured. - * - * @param client Client index. - * @param result Resultant vector. - */ -native void Movement_GetTakeoffVelocity(int client, float result[3]); - -/** - * Gets a player's horizontal speed at the time of their last takeoff. - * - * If sv_enablebunnyhopping is 0, CS:GO may adjust the player's - * velocity after the takeoff velocity has already been measured. - * - * @param client Client index. - * @return Player's last takeoff speed. - */ -native float Movement_GetTakeoffSpeed(int client); - -/** - * Gets a player's 'tickcount' at the time of their last takeoff. - * - * @param client Client index. - * @return Player's last takeoff 'tickcount'. - */ -native int Movement_GetTakeoffTick(int client); - -/** - * Gets a player's 'cmdnum' at the time of their last takeoff. - * - * @param client Client index. - * @return Player's last takeoff 'cmdnum'. - */ -native int Movement_GetTakeoffCmdNum(int client); - -/** - * Gets a player's origin at the time of their last landing with the distbug fixed. - * - * @param client Client index. - * @param result Resultant vector. - */ -native void Movement_GetNobugLandingOrigin(int client, float result[3]); - -/** - * Gets a player's origin at the time of their last landing. - * - * @param client Client index. - * @param result Resultant vector. - */ -native void Movement_GetLandingOrigin(int client, float result[3]); - -/** - * Gets a player's velocity at the time of their last landing. - * - * @param client Client index. - * @param result Resultant vector. - */ -native void Movement_GetLandingVelocity(int client, float result[3]); - -/** - * Gets a player's horizontal speed at the time of their last landing. - * - * @param client Client index. - * @return Last landing speed of the player (horizontal). - */ -native float Movement_GetLandingSpeed(int client); - -/** - * Gets a player's 'tickcount' at the time of their last landing. - * - * @param client Client index. - * @return Player's last landing 'tickcount'. - */ -native int Movement_GetLandingTick(int client); - -/** - * Gets a player's 'cmdnum' at the time of their last landing. - * - * @param client Client index. - * @return Player's last landing 'cmdnum'. - */ -native int Movement_GetLandingCmdNum(int client); - -/** - * Gets whether a player is turning their aim horizontally. - * - * @param client Client index. - * @return Whether player is turning their aim horizontally. - */ -native bool Movement_GetTurning(int client); - -/** - * Gets whether a player is turning their aim left. - * - * @param client Client index. - * @return Whether player is turning their aim left. - */ -native bool Movement_GetTurningLeft(int client); - -/** - * Gets whether a player is turning their aim right. - * - * @param client Client index. - * @return Whether player is turning their aim right. - */ -native bool Movement_GetTurningRight(int client); - -/** - * Gets result of CCSPlayer::GetPlayerMaxSpeed(client), which - * is the player's max speed as limited by their weapon. - * - * @param client Client index. - * @return Player's max speed as limited by their weapon. - */ -native float Movement_GetMaxSpeed(int client); - -/** - * Gets whether a player duckbugged on this tick. - * - * @param client Client index. - * @return Whether a player duckbugged on this tick. - */ -native bool Movement_GetDuckbugged(int client); - -/** - * Gets whether a player jumpbugged on this tick. - * - * @param client Client index. - * @return Whether a player jumpbugged on this tick. - */ -native bool Movement_GetJumpbugged(int client); - -/** - * Get the player's origin during movement processing. - * - * @param client Client index. - * @param result Resultant vector. - */ -native void Movement_GetProcessingOrigin(int client, float result[3]); - -/** - * Get the player's velocity during movement processing. - * - * @param client Param description - * @param result Resultant vector. - */ -native void Movement_GetProcessingVelocity(int client, float result[3]); - -/** - * Set the player's takeoff origin. - * - * @param client Client index. - * @param origin Desired origin. - */ -native void Movement_SetTakeoffOrigin(int client, float origin[3]); - -/** - * Set the player's takeoff velocity. - * - * @param client Client index. - * @param origin Desired velocity. - */ -native void Movement_SetTakeoffVelocity(int client, float velocity[3]); - -/** - * Set the player's landing origin. - * - * @param client Client index. - * @param origin Desired origin. - */ -native void Movement_SetLandingOrigin(int client, float origin[3]); - -/** - * Set the player's landing velocity. - * - * @param client Client index. - * @param origin Desired velocity. - */ -native void Movement_SetLandingVelocity(int client, float velocity[3]); - -// =====[ METHODMAP ]===== - -methodmap MovementAPIPlayer < MovementPlayer { - - public MovementAPIPlayer(int client) { - return view_as<MovementAPIPlayer>(MovementPlayer(client)); - } - - property bool Jumped { - public get() { - return Movement_GetJumped(this.ID); - } - } - - property bool HitPerf { - public get() { - return Movement_GetHitPerf(this.ID); - } - } - - public void GetTakeoffOrigin(float buffer[3]) { - Movement_GetTakeoffOrigin(this.ID, buffer); - } - - public void GetTakeoffVelocity(float buffer[3]) { - Movement_GetTakeoffVelocity(this.ID, buffer); - } - - public void SetTakeoffOrigin(float buffer[3]) - { - Movement_SetTakeoffOrigin(this.ID, buffer); - } - - public void SetTakeoffVelocity(float buffer[3]) - { - Movement_SetTakeoffVelocity(this.ID, buffer); - } - - property float TakeoffSpeed { - public get() { - return Movement_GetTakeoffSpeed(this.ID); - } - } - - property int TakeoffTick { - public get() { - return Movement_GetTakeoffTick(this.ID); - } - } - - property int TakeoffCmdNum { - public get() { - return Movement_GetTakeoffCmdNum(this.ID); - } - } - - public void GetLandingOrigin(float buffer[3]) { - Movement_GetLandingOrigin(this.ID, buffer); - } - - public void GetLandingVelocity(float buffer[3]) { - Movement_GetLandingVelocity(this.ID, buffer); - } - - public void SetLandingOrigin(float buffer[3]) - { - Movement_SetLandingOrigin(this.ID, buffer); - } - - public void SetLandingVelocity(float buffer[3]) - { - Movement_SetLandingVelocity(this.ID, buffer); - } - - property float LandingSpeed { - public get() { - return Movement_GetLandingSpeed(this.ID); - } - } - - property int LandingTick { - public get() { - return Movement_GetLandingTick(this.ID); - } - } - - property int LandingCmdNum { - public get() { - return Movement_GetLandingCmdNum(this.ID); - } - } - - property bool Turning { - public get() { - return Movement_GetTurning(this.ID); - } - } - - property bool TurningLeft { - public get() { - return Movement_GetTurningLeft(this.ID); - } - } - - property bool TurningRight { - public get() { - return Movement_GetTurningRight(this.ID); - } - } - - property float MaxSpeed { - public get() { - return Movement_GetMaxSpeed(this.ID); - } - } - - public void GetProcessingVelocity(float buffer[3]) - { - Movement_GetProcessingVelocity(this.ID, buffer); - } - - public void GetProcessingOrigin(float buffer[3]) - { - Movement_GetProcessingOrigin(this.ID, buffer); - } -} - - - -// =====[ DEPENDENCY ]===== - -public SharedPlugin __pl_movementapi = -{ - name = "movementapi", - file = "movementapi.smx", - #if defined REQUIRE_PLUGIN - required = 1, - #else - required = 0, - #endif -}; - -#if !defined REQUIRE_PLUGIN -public void __pl_movementapi_SetNTVOptional() -{ - MarkNativeAsOptional("Movement_GetJumped"); - MarkNativeAsOptional("Movement_GetHitPerf"); - MarkNativeAsOptional("Movement_GetTakeoffOrigin"); - MarkNativeAsOptional("Movement_GetTakeoffVelocity"); - MarkNativeAsOptional("Movement_GetTakeoffSpeed"); - MarkNativeAsOptional("Movement_GetTakeoffTick"); - MarkNativeAsOptional("Movement_GetTakeoffCmdNum"); - MarkNativeAsOptional("Movement_GetLandingOrigin"); - MarkNativeAsOptional("Movement_GetLandingVelocity"); - MarkNativeAsOptional("Movement_GetLandingSpeed"); - MarkNativeAsOptional("Movement_GetLandingTick"); - MarkNativeAsOptional("Movement_GetLandingCmdNum"); - MarkNativeAsOptional("Movement_GetTurning"); - MarkNativeAsOptional("Movement_GetTurningLeft"); - MarkNativeAsOptional("Movement_GetTurningRight"); - MarkNativeAsOptional("Movement_GetMaxSpeed"); - MarkNativeAsOptional("Movement_GetProcessingOrigin"); - MarkNativeAsOptional("Movement_GetProcessingVelocity"); - MarkNativeAsOptional("Movement_SetTakeoffOrigin"); - MarkNativeAsOptional("Movement_SetTakeoffVelocity"); - MarkNativeAsOptional("Movement_SetLandingOrigin"); - MarkNativeAsOptional("Movement_SetLandingVelocity"); -} -#endif
\ No newline at end of file |
