BHOP

guccigay

Участник
Сообщения
50
Реакции
18
Как сделать ограничитель бхопа на раунд ? У меня маньяк сервер и там bhop в принципе имбалансная вещь,но если сделать ограничение по прыжкам на раунд то будет нормально. Как это сделать ? Перерыл почти всё, нигде не нашёл.
 

RusJJ

Доброе утро девачьки
Сообщения
2,582
Реакции
1,075
А можно вообще не лепить бхоп на маньяк сервер. Зачем?)
 

DeathScore13

пирожок. пирожочек.
Сообщения
734
Реакции
403
сделать ограничение по прыжкам на раунд
C-подобный:
#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;
}
 

guccigay

Участник
Сообщения
50
Реакции
18
C-подобный:
#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;
}
Я хочу добавить его в випку и сделать ограничение по прыжкам випам,куда это вписать надо?(я немножко чайник)
 

DeathScore13

пирожок. пирожочек.
Сообщения
734
Реакции
403
Я хочу добавить его в випку и сделать ограничение по прыжкам випам,куда это вписать надо?(я немножко чайник)
в исходник
 
Сверху Снизу