ui
Цвет и всё, что связано с выводом текста на клиент. Один и тот же цвет пишется одинаково во всех каналах, а канал берёт ближайшее, что умеет нарисовать: HUD — как есть, меню — из четырёх кодов, чат — из трёх тегов.Теги цвета в чате
Внутри строки чата действует своя разметка — это не то же самое, что полеcolor.
{team} берёт цвет от отправителя. По умолчанию отправитель — сам получатель,
поэтому каждый видит {team} в цвете своей команды; задаётся через opts.from
у p:chat.
Синий и красный доступны только через живого игрока из нужной команды: своего
выбора цвета в протоколе чата нет.
Длина строки
Каждый канал заканчивается фиксированным буфером и обрезает лишнее молча.
Считает
lib/text.lua:
Кириллица
.lua обычно лежат в UTF-8, и современный клиент CS 1.6 так их и рисует. По
умолчанию модуль ничего не конвертирует.
Старые клиенты ждут однобайтовый CP1251. Для них есть cvar cslua_cp1251 1: с
ним валидный UTF-8 переводится в CP1251, а строка, которая UTF-8 не является,
уходит нетронутой. Символы, которых в CP1251 нет, заменяются на ?.
Конвертация касается только сообщений игрокам, включая текст меню. print пишет
в лог сервера как есть, всегда.
ui.color
Разбирает цвет в\{ r, g, b \}.
Аргументы
Возвращает
Пример
color значение
можно передавать и без разбора — их читает сам модуль.
Палитра
ui.palette — таблица имя → { r, g, b }.