Консольные команды в карте

-_-Ecarus-_-

Участник
Сообщения
76
Реакции
2
Видел, что на некоторых картах есть такие сообщения, которые, с помощью плагина, не отключаются.
Перед текстов стоит префикс all.
Вопрос!
Как сделать такие сообщения?
 

DarklSide

Участник
Сообщения
931
Реакции
468
@-_-Ecarus-_-,
Карта с помощью "point_servercommand", отправляет команду: "say @ MESSEAGE",

MESSEAGE -
текст сообщения.

тем временем - стандартный плагин basechat, парсит сообщение и из-за #define CHAT_SYMBOL '@' отправляет всем игрокам,

PHP:
SendChatToAll(client, const String:message[])
{
    new String:nameBuf[MAX_NAME_LENGTH];
    for (new i = 1; i <= MaxClients; i++)
    {
        if (!IsClientInGame(i))
        {
            continue;
        }
        FormatActivitySource(client, i, nameBuf, sizeof(nameBuf));
        PrintToChat(i, "\x04(ALL) %s: \x01%s", nameBuf, message);
    }
}


на некоторых картах есть такие сообщения, которые, с помощью плагина, не отключаются

Поэтому незначительная правка basechat исправит ситуацию.

Например:
PHP:
//basechat.sp
public Action OnClientSayCommand(int client, const char[] command, const char[] sArgs)
{
    if (client < 1)return Plugin_Stop;
        //...
}

Возможно сторонние плагины для блокировки, в настоящем,- больше не потребуются.
 
Последнее редактирование:

-_-Ecarus-_-

Участник
Сообщения
76
Реакции
2
@-_-Ecarus-_-,
Карта с помощью "point_servercommand", отправляет команду: "say @ MESSEAGE",

MESSEAGE -
текст сообщения.

тем временем - стандартный плагин basechat, парсит сообщение и из-за #define CHAT_SYMBOL '@' отправляет всем игрокам,

PHP:
SendChatToAll(client, const String:message[])
{
    new String:nameBuf[MAX_NAME_LENGTH];
    for (new i = 1; i <= MaxClients; i++)
    {
        if (!IsClientInGame(i))
        {
            continue;
        }
        FormatActivitySource(client, i, nameBuf, sizeof(nameBuf));
        PrintToChat(i, "\x04(ALL) %s: \x01%s", nameBuf, message);
    }
}




Поэтому незначительная правка basechat исправит ситуацию.

Например:
PHP:
//basechat.sp
public Action OnClientSayCommand(int client, const char[] command, const char[] sArgs)
{
    if (client < 1)return Plugin_Stop;
        //...
}

Возможно сторонние плагины для блокировки, в настоящем,- больше не потребуются.

Можете скинуть готовый вариант? Просто исходника нету.
 
Сверху Снизу