Перехват сообщений сервера.

Тема в разделе "Программирование / Скриптинг", создана пользователем Тед Лисов, 13 июл 2015.

  1. Тед Лисов

    Тед Лисов

    Сообщения:
    2
    Симпатии:
    0
    Я хочу перехватить сообщения типа "Say @" от сервера, но блокировать их не получается. Сообщение просто дублируется. Возможно ли это? Кто может что подскажет?
    Код прилагается.
    public OnPluginStart()
    {
    AddCommandListener(HookServerChat, "say");
    }

    public Action:HookServerChat(client, const String:command[], args)
    {
    if (client == 0)
    {
    if (args < 1)
    {
    ReplyToCommand(client, "[SM] Usage: say <message>");
    return Plugin_Handled;
    }
    decl String:text[192];
    GetCmdArgString(text, sizeof(text));
    CPrintToChatAll("{white}[{lime}FoxWorld{white}] %s", text);
    return Plugin_Handled;
    }
    return Plugin_Continue;
    }
     
  2. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    PHP:
    #include <sourcemod>

    public OnPluginStart()
    {
        
    AddCommandListener(Server_Say"say");
    }

    public 
    Action:Server_Say(client, const String:command[], args)
    {
        if (
    client == && args 1)
        {
            
    decl String:text_console[192];
            
    GetCmdArgString(text_consolesizeof(text_console));
            
    PrintToServer("Console %s"text_console);
            
    PrintToChatAll("Console: %s"text_console);
            return 
    Plugin_Handled;
        }
        return 
    Plugin_Handled;
    }

    PHP:
    #include <sourcemod>
    #include <csgo_colors>

    public OnPluginStart()
    {
        
    AddCommandListener(Server_Say"say");
    }

    public 
    Action:Server_Say(client, const String:command[], args)
    {
        if (
    client == && args != 0)
        {
            
    decl String:text_console[192];
            
    GetCmdArgString(text_consolesizeof(text_console));
            
    PrintToServer("Console %s"text_console);
            
    CGOPrintToChatAll("{RED}Console{DEFAULT}: {GREEN}%s"text_console);
            return 
    Plugin_Handled;
        }
        return 
    Plugin_Continue;
    }
     
  3. Тед Лисов

    Тед Лисов

    Сообщения:
    2
    Симпатии:
    0
    Проблему вообще не решает.
    Решение нашел, say @ = sm_say. basechat переписал.
     
  4. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Так ты о sourcemod sm_say говорил? С того и нужно было начинать...