Round End Auto Bunnyhopping

Round End Auto Bunnyhopping 1.1.3

Prohor072

Добрая душа
Сообщения
56
Реакции
21
да, reb.sp - это исходный код, а reb.smx- это сам плагин)
reb.smx- кидаете в папку: addons/sourcemod/plugins и перезагружаете сервер.
А reb.sp можете никуда не кидать,но если сильно хочется,то кидайте по такому пути: addons/sourcemod/scripting
Спасибо
 

Tavian

Участник
Сообщения
1,184
Реакции
119
Очень годно. Работает даже если есть бхоп плагин в випе. Перекрывает его и дает буст скорости !
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Очень годно. Работает даже если есть бхоп плагин в випе. Перекрывает его и дает буст скорости !
Плагин выставляет переменные на сервере, которые доступны всем, вип, шоп, или другой плагин, который не влияет на данные переменные будет спокойно работать поверх этого плагина, ставя себя на "нижний приоритет"
"sv_enablebunnyhopping","sv_autobunnyhopping","sv_airaccelerate","sv_staminajumpcost","sv_staminalandcost"

Один минус есть, он не записывает в буфер исходное положение переменных, а попросту выставляет статичный
sName[6] == 's' ? SetValue(0, 12):SetValue(1, 999);
Сообщения автоматически склеены:

Вот версия с исправлением этого "недочёта"
C++:
#pragma semicolon 1

ConVar g_hConVars[5];
int g_hBuffInt[3];
float g_hBuffFloat[2];

public Plugin myinfo =
{
    name = "Roun End Bhoping",
    author = "Saints",
    description = "Round End Gravity",
    version = "1.2",
}

public void OnPluginStart()
{
    static const char sConVars[][] = {"sv_enablebunnyhopping","sv_autobunnyhopping","sv_airaccelerate","sv_staminajumpcost","sv_staminalandcost"};
    for (int i; i <= 4; i++)
    {
        g_hConVars[i] = FindConVar(sConVars[i]);
        g_hConVars[i].Flags &= ~FCVAR_NOTIFY;
    }

    HookEvent("round_start", RoundStart, EventHookMode_PostNoCopy);
    HookEvent("round_end", RoundEnd, EventHookMode_PostNoCopy);
}

public void RoundEnd(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    g_hBuffInt[0] = GetConVarInt(g_hConVars[0]);
    g_hConVars[0].SetInt(1);
    g_hBuffInt[1] = GetConVarInt(g_hConVars[1]);
    g_hConVars[1].SetInt(1);
    g_hBuffInt[2] = GetConVarInt(g_hConVars[2]);
    g_hConVars[2].SetInt(999);
    g_hBuffFloat[0] = GetConVarFloat(g_hConVars[3]);
    g_hConVars[3].SetInt(0);
    g_hBuffFloat[1] = GetConVarFloat(g_hConVars[4]);
    g_hConVars[4].SetInt(0);

    PrintToChatAll(" \x04Автобаннихоп активирован.");
}

public void RoundStart(Event hEvent, const char[] sName, bool bDontBroadcast)
{
    g_hConVars[0].SetInt(g_hBuffInt[0]);
    g_hConVars[1].SetInt(g_hBuffInt[1]);
    g_hConVars[2].SetInt(g_hBuffInt[2]);
    g_hConVars[3].SetFloat(g_hBuffFloat[0]);
    g_hConVars[4].SetFloat(g_hBuffFloat[1]);
    PrintToChatAll(" \x02Автобаннихоп отключен.");
}
 
Последнее редактирование:
Сверху Снизу