#define MAXCLICK 20 // сколько раз можно нажать на кнопку
#define MAXTIME 5.0 // через сколько секунд разрешаем снова тыкать на кнопку
int g_iJumps[MAXPLAYERS + 1];
public void OnPluginStart()
{
HookEvent("round_start", OnRoundStart);
}
public Action OnRoundStart(Event hEvent, const char[] sName, bool bDontBroadcast)
{
for (int i = 1; i <= MaxClients; i++)
{
g_iJumps[i] = 0;
}
}
public Action OnPlayerRunCmd(int iClient, int& iButtons, int& iImpulse, float fVel[3], float fAng[3], int& iWeapon, int& iSubType, int& iCmdNum, int& Tick, int& iSeed, int iMouse[2])
{
if (IsClientInGame(iClient) && !IsFakeClient(iClient) && iButtons & IN_JUMP)
{
static float fTimeButton[MAXPLAYERS + 1];
float fTime = GetGameTime();
if (fTime < fTimeButton[iClient] + MAXTIME) g_iJumps[iClient] = 0;
if (g_iJumps[iClient] < MAXCLICK)
{
g_iJumps[iClient]++;
fTimeButton[iClient] = fTime;
}
return Plugin_Handled;
}
return Plugin_Continue;
}