zmessage - многострочные сообщения
Описание
Небольшая библиотека, которая при превышении лимита символов делит отправляемое сообщение на части так, что оно будет гарантировано отправлено целиком.
"Под капотом" перехватываются функции SendClientMessage, SendClientMessageToAll, SendPlayerMessageToPlayer и SendPlayerMessageToAll. Передаваемая строка в них делится без использования дорогостоящих (format) или опасных (strins) функций, алгоритм довольно оптимальный, так что нет причин беспокоиться о заметном снижении производительности.
Использование
Просто подключите zmessage.inc.
Функции
Эта библиотека предоставляет только одну функцию, которая может быть полезной в некоторых случаях. Несколько примеров использования можно найти здесь.
ZMsg_GetMessages(message[], array[][], const lines = sizeof(array), const line_size = sizeof(array[]))
- Параметры:
- message[]: Оригинальное сообщение, которое должно быть разделено.
- array[][]: Массив, в котором сохраняются разделённые строки.
- lines: Количество строк, которое может быть сохранено в массив array.
- line_size: Количество символов, которое может быть сохранено в одну строку массива array.
- Возвращаемые значения:
Константы
Доступно несколько констант, некоторые из них можно переназначить.
Константа |
Значение по умолчанию |
Можно переназначить? |
Примечание |
ZMSG_MAX_CHAT_LENGTH |
MAX_CHATBUBBLE_LENGTH |
да |
|
ZMSG_MAX_PLAYER_CHAT_LENGTH |
(MAX_CHATBUBBLE_LENGTH / 2) |
да |
|
ZMSG_SEPARATORS_LIST |
' ' |
да |
Используется в операторе case |
ZMSG_HYPHEN_END |
" ¬" |
да |
|
ZMSG_HYPHEN_START |
"» " |
да |
|
Скриншот
https://user-images.githubuserconten...f996a1b1c6.png
Скачать