Color Chat Processor

Ядро плагина Color Chat Processor git

Версия Дата выпуска Скачивания Оценка  
git 551 0.00 звёзд 0 оценок Скачать
  • Переписано ядро, внесено изменение в структуру проекта, изменено и разбито API
  • Обработчики вынесены в опциональные модули
  • Добавлена возможность виртуализации канала (nyood/ccprocessor) *
  • Шаблоны сообщений перемещены из конфигов в ccp_engine.phrases
  • Библиотеки с переводами переименованы
  • Не совместим с модулями под ядро <v3.4.0

* - вещь довольно полезная, просто предоставляет возможность формировать отдельный канал на основе одного из имеющихся.
Но, увы, сейчас существует проблема с наследованием стандартных значений.
  • Убраны не нужные пункты из конфига
  • Убрана фильтрация пустых сообщений (вынесено в Модуль плагина - [CCP] Space Messages (Empty))
  • Незначительные изменения в API (требуется рекомпил)
- Исправлено Invalid client index при отправке радио сообщения.
  • Возвращена обработка SayText. В частности, этот канал использует LVLRanks.
  • Удалено логирование
  • Мелкие правки
- Исправлено битовое смещение, влияющие на конечное значение отправителя сообщения
  • Исправлено исключение GoTV из списка получателей
  • В форвард cc_proc_MsgUniqueId добавлен параметр message

Последовательность вызова функций:
  1. cc_proc_OnDefMsg - optional
  2. cc_proc_MsgUniqueId
  3. cc_proc_RebuildClients
  4. cc_proc_RebuildString
  5. cc_proc_RebuildString_Post

NOTE:
Небольшая ремарка касательно GoTV, cc_proc_RebuildClients и CS:GO.
Перед изменением списка получателей необходимо убедиться, что это сообщение для игроков.

Зачем?
Когда игрок отправляет сообщение в чат, формируется:
  1. Сообщение для GoTV (он там единственный получатель)
  2. Сообщение для остальных игроков
- Изменено API
- Теперь части сообщения формируются на языке получателя
- Переписана логика радио канала, это должно исправить ситуации, когда сообщение формировалось неверно*. Большая часть радио команд вынесена в файл перевода: nyood/ccprocessor
- Исправлена работа с Chat Wheel сообщениями. Требования: nyood/ccp-modules
- Убрано значение префиксов по-умолчанию, т.к. большинство не вкурсе что это.

Радио команды:
102694497-3dae3080-4243-11eb-89ce-57de584499ed.png
  • Внесены изменения в API:
    • удален натив сс_clear_allcolors
    • изменен форвард cc_proc_RebuildString
      • Теперь это хук.
      • Возвращаемое значение Action: Plugin_Continue, Plugin_Handled, Plugin_Stop*
      • Plugin_Stop - немедленно завершает обработку части сообщения и блокирует его отправку, форвард cc_proc_RebuildString_Post не будет вызван.
      • Plugin_Handled - завершает обработку части сообщения и блокирует его отправку, после вызова форварда cc_proc_RebuildString_Post
  • Внесены изменения в ключи конфига.
  • Добавлена возможность оставлять пустые сообщения от сервера (space messages)
  • Исправлена логическая ошибка, когда тип сообщения сравнивался с частью шаблона...

Текущие ошибки:
  • Обработчик не умеет работать с ChatWheel...
- Дописан конструктор: формирование значений по-умолчанию *
- Изменены переводы
- Обновлены конфиги

* - Обработчик полноценно формирует вид сообщения по-умолчанию.
Гибкая конфигурация каждой части сообщения вынесена в файлы перевода.
Опциональные части помечены (optional) - означает, что реализация части может быть упущена без внутренних ошибок.
Обязательные части могут не иметь значения по-умолчанию, если они не требуются

Части шаблона:
DEF_STATUSCO, DEF_STATUS имеют 3 состояния: {
    A - Alive, D - Died, S - Server => (DEF_STATUSCO_A и т.п.)
}

DEF_TEAMCO, DEF_TEAM имеют по 3 состояния на каждый тип сообщения (опционально): {
    P - Private team messages ( B - Blue Team, R - Red Team, S - Spec Team) [DEF_TEAMCO_P_B и т.п.],
    A - All messages ( B - Blue Team, R - Red Team, S - Spec Team) [DEF_TEAMCO_A_B и т.п.],
    R - Radio messages ( B - Blue Team, R - Red Team, S - Spec Team) [DEF_TEAMCO_R_B и т.п.],
    S - Server messages ( B - Blue Team, R - Red Team, S - Spec Team) [DEF_TEAMCO_S_S и т.п.],
    C - Change name messages ( B - Blue Team, R - Red Team, S - Spec Team) [DEF_TEAMCO_C_B и т.п.]
}

DEF_PREFIXCO, DEF_PREFIX имеют 2 состояния: {
    U - User message => (DEF_PREFIX_U и т.п.)
    S - Server message => (DEF_PREFIXCO_S и т.п.)
}

DEF_NAMECO имеет 2 состояния: {
    U - User message => (DEF_NAMECO_U)
    S - Server message => (DEF_NAMECO_S)
}

DEF_MSGCO имеет 2 состояния: {
    U - User message => (DEF_MSGCO_U)
    S - Server message => (DEF_MSGCO_S)
}
- Для ядра исправлен сборщик релизных пакетов
- Для модулей он добавлен

Актуальные релизы:
Сверху Снизу