While I don't have a usecase for it ( I used to, then scrapped it )
I figured out a method to slightly or immensely increase your speed, but not to a target value, nor to a target player.
You could try to decrease the players speed.
It works by setting the next expiration of healthshot ( gives speed boost ) to 0.04 every frame, to ensure you don't get a blue screen.
It might show a side effect of a blue screen, but I cannot see it.
Code:
#include <sourcemod>
#define PLUGIN_VERSION "1.0"
#pragma newdecls required
#pragma semicolon 1
public void OnGameFrame()
{
for(int i=1;i <= MaxClients;i++)
{
if(!IsClientInGame(i))
continue;
else if(!IsPlayerAlive(i))
continue;
else if(IsFakeClient(i))
continue;
// Setting the expiration to higher will cause blue screen.
SetEntPropFloat(i, Prop_Send, "m_flHealthShotBoostExpirationTime", GetGameTime() + 0.04);
}
}
Using the cvar:
healthshot_healthboost_speed_multiplier 50
Will result in 357.29 units of speed according to cl_showpos 1 when running with a knife.
__________________
I am available to make plugins for pay.
Discord: Eyal282#1334