Что нового?
Добавлена обработка сообщений движка от сервера:
Обработка задевает лишь основной ключ сообщения, что позволяет убрать необходимость перевода большинства ключей в качестве параметров.
Под такие ключи была выделена отдельная библиотека:
ccp_defmessage.phrases
.
Теперь такие ключи вы можете форматировать, как вам будет угодно.
Основной синтаксис заполнения не изменен, но имеет отличие: наличие параметров при отсутствии определяющего ключа
"#format"
.
Наличие параметров и их положение по прежнему определяются вами.
Сами же параметры, а именно порядковый номер
{N}
, в библиотеке соответствуют порядку и количеству их в нативных файлах перевода игры
resource/csgo_{language}.txt // для CS:GO
, где имеют вид
%sN
.
Символ N - обозначает порядковый номер параметра, например:
%s1
.
Обычно, для сообщений в чат используется не больше 3х параметров и содержит несколько управляющих однобайтовых символов:
SOH, BEL ...
.
Что это нам дает:
Большая часть игр имеет такие сообщения. К ним же относятся и сообщения, которые уведомляют о различных трансляциях, выпавших/полученных предметах(ItemDrop, ItemSell, ItemCraft). Это позволяет манипулировать ими: форматировать их под единый шаблон, блокировать их или не изменять.
В чем минус:
Фразы привязаны к языку сервера, указанного в
core.cfg
Упрощение поиска:
Для упрощение поиска таких фраз добавлена утилита:
emessage_keys.sp - обычная запись в логах с ключем и состояниями(имеет ли перевод и есть ли перевод под язык сервера соответственно).