HudMsg Channel Manager 2016-11-17

Данный плагин регистрирует для каждого запроса свой канал, чтобы небыло конфликтов с каналами HudMsg

  1. inklesspen
    Поддерживаемые игры:
    • CS: Source
    • DOD: Source
    Данный плагин регистрирует для каждого запроса свой канал, чтобы небыло конфликтов с каналами HudMsg
    PHP:
    /********************************
    *    Event for register channels
    *********************************/
    forward void HMCM_OnLoadChannels()

    /********************************
    *    Get special number of channel
    *    @return        number of channel
    *********************************/
    native int HMCM_Register()

    Показывает в углах игрока текст
    PHP:
    #pragma newdecls requlred // Правила 2015, новый синтаксис

    // Подключаем библиотеки
    #include <sourcemod>
    #include <hmc_manager> // Подключаем библиотеку плагина HudMsg Channel Manager

    // Массивы для хранения позиции
    float HudMsg_pos1[2] = {0.1750.8}
    float HudMsg_pos2[2] = {0.1750.8}

    // Массив для хранения каналов
    int iChannels[2][2]

    public 
    void OnPluginStart()
    {
        
    // Создаем команду для показа сообщений
        
    RegConsoleCmd("sm_show_hudmsg"SHM)
     
        
    // Регистрируем новые каналы
        
    RegisterALLChannels()
    }

    // Ловим обновление каналов
    public void HMCM_OnLoadChannels()
    {
        
    // Регистрируем новые каналы
        
    RegisterALLChannels()
    }

    public 
    Action SHM(int clientint args)
    {
        
    // Создаем цикл
        
    for(int l 0;l<=1;l++) {for(int b 0;b<=1;b++)
        {
            
    // Выдаем доп.инфу для ShowHudText
            
    SetHudTextParamsEx(HudMsg_pos1[l], HudMsg_pos2[b], 10.0, {255,1,1,255}, {1,255,255,1}, 00.00.00.0)
            
    // Выдаем текст игроку
            
    ShowHudText(clientiChannels[l][b], "Channel: %i"iChannels[l][b])
         
            
    // Выдаем игроку то-же сообщение, но в чат
            
    PrintToChat(client"Channel: %i"iChannels[l][b])
        }}
        return 
    Plugin_Handled
    }

    void RegisterALLChannels()
    {
        
    // Под циклом регистрируем каналы
        
    for(int l 0;l<=1;l++) for(int b 0;b<=1;b++)    iChannels[l][b] = HMCM_Register()
    }
    Аналог команды sm_say, но только через HudMsg
    PHP:
    #pragma newdecls requlred // Правила 2015, новый синтаксис

    // Подключаем библиотеки
    #include <sourcemod>
    #include <hmc_manager> // Подключаем библиотеку плагина HudMsg Channel Manager

    // Массивы для хранения позиции
    float HudMsg_pos1[2] = {0.1750.8}
    float HudMsg_pos2[2] = {0.1750.8}

    // Массив для хранения каналов
    int iChannels[2][2]

    public 
    void OnPluginStart()
    {
        
    // Создаем команду для показа сообщений
        
    RegConsoleCmd("sm_show_hudmsg"SHM)
     
        
    // Регистрируем новые каналы
        
    RegisterALLChannels()
    }

    // Ловим обновление каналов
    public void HMCM_OnLoadChannels()
    {
        
    // Регистрируем новые каналы
        
    RegisterALLChannels()
    }

    public 
    Action SHM(int clientint args)
    {
        
    // Создаем цикл
        
    for(int l 0;l<=1;l++) {for(int b 0;b<=1;b++)
        {
            
    // Выдаем доп.инфу для ShowHudText
            
    SetHudTextParamsEx(HudMsg_pos1[l], HudMsg_pos2[b], 10.0, {255,1,1,255}, {1,255,255,1}, 00.00.00.0)
            
    // Выдаем текст игроку
            
    ShowHudText(clientiChannels[l][b], "Channel: %i"iChannels[l][b])
         
            
    // Выдаем игроку то-же сообщение, но в чат
            
    PrintToChat(client"Channel: %i"iChannels[l][b])
        }}
        return 
    Plugin_Handled
    }

    void RegisterALLChannels()
    {
        
    // Под циклом регистрируем каналы
        
    for(int l 0;l<=1;l++) for(int b 0;b<=1;b++)    iChannels[l][b] = HMCM_Register()
    }
    Требования:
    SourceMod 1.8 (Компилился под эту версию)
    Установка:
    Закинуть файлы в addons/sourcemod/
    Ice_Sochi нравится это.