RU/outputChatBox
This template is no longer in use as it results in poor readability.
Эта функция выводит текстовую строку в окно чата. Можно осуществлять вывод как в чат отдельных игроков, так и всех сразу.
Дополнительно можно использовать строки с цветовыми кодами, передавая параметр colorCoded равным 'true'. Пример:
outputChatBox ( "#FF0000Hello #00FF00World", getRootElement(), 255, 255, 255, true )
Это будет отображено в чате, как: Hello World
Синтаксис
bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] )
Обязательные аргументы
- text: Текстовая строка, которая будет отправлена в окно чата.
Дополнительные аргументы
Примечание. При использовании необязательных аргументов Вам может потребоваться предоставить все аргументы перед тем аргументом, который Вы хотите использовать. Для более подробной информации ознакомьтесь с необязательными аргументами.
- visibleTo: Задает, кому будет виден чат. Все игроки-потомки этого элемента увидят сообщение. См. visibility.
- r: Целое число - количество красного компонента в цвете текста (0 - 255, по умолчанию 231).
- g: Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию 217).
- b: Целое число - количество синего компонента в цвете текста (0 - 255, по умолчанию 176).
- colorCoded: Логическая переменная, которая определяет, будут ли использоваться строковые теги вида '#RRGGBB'.
'Примечания': Если указан один из цветовых компонентов, то обязательно указывать и остальные. visibleTo может быть объектом типа Team, тогда текст будет показан всем игрокам этой команды. Формат #RRGGBB допускает в записи шестнадцатеричных чисел только заглавные буквы A-F.
bool outputChatBox ( string text [, int r=231, int g=217, int b=176, bool colorCoded=false ] )
Обязательные аргументы
- text: Текстовая строка, которая будет отправлена в окно чата.
Дополнительные аргументы
Примечание. При использовании необязательных аргументов Вам может потребоваться предоставить все аргументы перед тем аргументом, который Вы хотите использовать. Для более подробной информации ознакомьтесь с необязательными аргументами.
- r: Целое число - количество красного компонента в цвете текста (0 - 255, по умолчанию 231).
- g: Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию 217).
- b: Целое число - количество синего компонента в цвете текста (0 - 255, по умолчанию 176).
- colorCoded: Логическая переменная, которая определяет, будут ли использоваться строковые теги вида '#RRGGBB'.
Вывод
Возвращает true, если сообщение было успешно отправлено. Возвращает false, если были переданы некорректные аргументы.
Пример
Пример 1: Вывод сообщения всем пользователям.
x = 5 y = 10 -- Отображает сообщение outputChatBox ( "I have " .. x .. " apples and " .. y .. " oranges." )
Пример 2: В этом пример происходит вывод простого цветного текста "Красный Белый", где слово "Красный" красного цвета, а "Белый" - белого.
outputChatBox ( "Красный #FFFFFFБелый", getRootElement(), 255, 0, 0, true )
Пример 3: Этот пример позволяет игрокам писать в чат текстом того же цвета, что и их ник.
function colouredChat ( message, theType ) if theType == 0 then --если это обычный чат, а не /me или командный cancelEvent() --останавливаем встроенный в МТА вывод сообщения message = string.gsub(message, "#%x%x%x%x%x%x", "") --убираем любые шестнадцатеричные метки с помощью функции string.gsub из lua local r,g,b = getPlayerNametagColor ( source ) --выясняем, какого цвета ник игрока local chatterName = getPlayerName ( source ) --выясняем имя --выводим сообщение в чат, при этом ник игрока будет написан его цветом, а остальной текст белым outputChatBox ( chatterName..":#FFFFFF "..message, getRootElement(), r, g, b, true ) end end
Пример 4: Пишем сообщение в чат игроку под ником someguy.
-- Ищем игрока с именем 'someguy' myPlayer = getPlayerFromNick ( "someguy" ) -- Если игрок с таким именем найден, то ... if ( myPlayer ~= false ) then x = 5 y = 10 -- отправляем ему в чат сообщение outputChatBox ( "I have " .. x .. " apples and " .. y .. " oranges.", myPlayer ) end
Пример 5: Отправляем приветствие игроку, зашедшему на сервер.
function onJoin() outputChatBox ("Добро пожаловать на сервер!", source) end addEventHandler("onPlayerJoin",getRootElement(),onJoin)