#pragma semicolon 1
#pragma newdecls required
#include <sdkhooks>
#define KNIFE_SPEED 1.3 // Значение скорости с ножом
char sWeapon[16];
public void OnPluginStart()
{
for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i))
{
GetClientWeapon(i, sWeapon, sizeof(sWeapon));
CheckWeapon(i, sWeapon);
SDKHook(i, SDKHook_WeaponSwitchPost, OnWeaponSwitch);
}
HookEvent("round_freeze_end", Event_Start, EventHookMode_PostNoCopy);
}
public void Event_Start(Event event, const char[] name, bool dontBroadcast)
{
for(int i = 1; i <= MaxClients; i++) if(IsClientInGame(i) && GetClientTeam(i) > 1 && IsPlayerAlive(i))
{
GetClientWeapon(i, sWeapon, sizeof(sWeapon));
CheckWeapon(i, sWeapon);
}
}
public void OnClientPutInServer(int client)
{
SDKHook(client, SDKHook_WeaponSwitchPost, OnWeaponSwitch);
}
public void OnWeaponSwitch(int client, int weapon)
{
GetEdictClassname(weapon, sWeapon, sizeof(sWeapon));
CheckWeapon(client, sWeapon);
}
stock void CheckWeapon(int client, const char[] weapon)
{
// Значение скорости по умолчанию 1.0
SetEntPropFloat(client, Prop_Data, "m_flLaggedMovementValue", strncmp(weapon, "weapon_knife", 12) ? 1.0 : KNIFE_SPEED);
}