Запрет команды с аргументом | CSS:OB

Strangelove

Добрая душа
Сообщения
77
Реакции
35
Операционная система
Linux
Привет. К примеру, нужно запретить "buy primammo" , но при этом не мешать использовать команды "buy" с иными аргументами. Как?
Попробовал SMAC'ом(smac_addcmd "buy primammo" kick), но там не то пальто. Сразу весь buy блокирует.
Так же попробовал всякие команд блокеры с AM, но результат в лучшем случае тот же, что и со смаком.
 
Решение
@Strangelove, думаю, как-то так (не особо уверен):

C++:
public void OnPluginStart()
{
    AddCommandListener(CL_Buy, "buy");
}

public Action CL_Buy(int iClient, const char[] cCommand, int iArgs)
{
    char cArg[32];
    GetCmdArg(1, cArg, sizeof(cArg));

    if (StrEqual(cArg, "primammo", false))
        return Plugin_Handled;

    return Plugin_Continue;
}

Grey83

не пишу плагины с весны 2022
Сообщения
8,822
Реакции
5,261
какую цель преследуете?
я вот нифига не понял на кой ляд это может быть необходимо
 

Strangelove

Добрая душа
Сообщения
77
Реакции
35
какую цель преследуете?
я вот нифига не понял на кой ляд это может быть необходимо

Не сочтите за грубость, но не хочу отвечать на этот вопрос развернуто. Есть одна проблема, и она решается или так(блокировкой конкретного аргумента), или исправлением плагина, который автор уже давно забросил.
 

Jugheadbomb

CTFPlayer
Сообщения
169
Реакции
24
@Strangelove, думаю, как-то так (не особо уверен):

C++:
public void OnPluginStart()
{
    AddCommandListener(CL_Buy, "buy");
}

public Action CL_Buy(int iClient, const char[] cCommand, int iArgs)
{
    char cArg[32];
    GetCmdArg(1, cArg, sizeof(cArg));

    if (StrEqual(cArg, "primammo", false))
        return Plugin_Handled;

    return Plugin_Continue;
}
 
Решение

Strangelove

Добрая душа
Сообщения
77
Реакции
35
@Strangelove, так может проще плагин исправить?
Может не проще, но точно правильнее. Увы только у меня нет желания сейчас инвестировать еще и в это.
Сам автор был последний раз онлайн в 2015.

@Strangelove, думаю, как-то так (не особо уверен):

C++:
public void OnPluginStart()
{
    AddCommandListener(CL_Buy, "buy");
}

public Action CL_Buy(int iClient, const char[] cCommand, int iArgs)
{
    char cArg[32];
    GetCmdArg(1, cArg, sizeof(cArg));

    if (StrEqual(cArg, "primammo", false))
        return Plugin_Handled;

    return Plugin_Continue;
}

Вот, благодарю. Проверил - работает.
 

Strangelove

Добрая душа
Сообщения
77
Реакции
35
Т.е. исходник у тебя отсутствует?

Присутствует, и даже выложен здесь на hlmod. Я отпишу детали в ЛС, а там если инициатива позволяет, предпримешь меры. Эксплоит там конечно обалденный.
 

Денис навныко

Участник
Сообщения
116
Реакции
5
Присутствует, и даже выложен здесь на hlmod. Я отпишу детали в ЛС, а там если инициатива позволяет, предпримешь меры. Эксплоит там конечно обалденный.
А мне можно подробнее об этом что за дыра что б закрыть?
 
Сверху Снизу