
Скриншот:

Список функций:
- ShowPlayerChat(playerid) - показать чат игроку
- HidePlayerChat(playerid) - скрыть чат игроку
- SendClientMessageInChat(playerid, string[]) - отправить текст игроку в чат
- SendClientMessageToAllInChat(string[]) - отправить текст всем игрокам в чат
- ClearChat(playerid) - очистить чат игроку
- ClearAllChat() - очистить чат всем игрокам
Не советую заменять стандартный чат моим, но например для админ чата или для логов кто вышел/зашел вполне подходит.
Плюсы чата:
- Поддержка русских символов (должен быть установлен руссификатор)
- Текст автоматически режется и не даёт тексту выйти за пределы чата.
- Не даёт отправлять пустые сообщения.
- Удаляет лишние пробелы автоматически.
- Всего 9 строк, текст хорошо читается.
- Использован PlayerText, вместо простых текст драйвов.
- Можно использовать коды ~r~, ~b~ и т.п. для смены цвета. При отправке лишнего символа ~ текст не отправится.
Минусы чата:
- Всего влезает 66 символов.
- Много переменных, 9 строк по 68 символов для каждого игрока + текст драйвы.
- Нужен руссификатор
В инклуд подключены функции: trimSideSpaces, spaceGroupsToSpaces, IsEmptyString.
Вообще чат мне очень нравится, сделал себе отдельный админ-чат + вывод туда сообщений что кто-то пытался читкануть.
http://pastebin.com/uQTsSizb
Пример использования:
Code
public OnPlayerText(playerid, text[])
{
new name[24]; GetPlayerName(playerid, name, MAX_PLAYER_NAME);
new string[128]; format(string, 128, "~h~~g~%s~w~: %s", name, text);
if(!SendClientMessageInChat(playerid, string))
return (SendClientMessage(playerid, -1, "Ошибка: В тексте есть запрещённые символы или он пуст.")-1);
return 0;
}
{
new name[24]; GetPlayerName(playerid, name, MAX_PLAYER_NAME);
new string[128]; format(string, 128, "~h~~g~%s~w~: %s", name, text);
if(!SendClientMessageInChat(playerid, string))
return (SendClientMessage(playerid, -1, "Ошибка: В тексте есть запрещённые символы или он пуст.")-1);
return 0;
}