RU/outputChatBox: Difference between revisions
mNo edit summary |
m (prefer normal note) |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{RU/Server client function}} | {{RU/Server client function}} | ||
{{ | {{Note|Не рекомендуется выводить в чат информацию, которая самими чатом (разговором) не является. Для целей отображения вспомогательной информации следует использовать возможности GUI}} | ||
__NOTOC__ | __NOTOC__ | ||
Эта функция выводит текстовую строку в окно чата. Можно осуществлять вывод как в чат отдельных игроков, так и всех сразу. | Эта функция выводит текстовую строку в окно чата. Можно осуществлять вывод как в чат отдельных игроков, так и всех сразу. | ||
Line 12: | Line 12: | ||
==Синтаксис== | ==Синтаксис== | ||
<section name="Server" class="server" show="true"> | <section name="Server" class="server" show="true"> | ||
<syntaxhighlight lang="lua">bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r= | <syntaxhighlight lang="lua">bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] )</syntaxhighlight> | ||
{{RU/OOP||[[игрок|player]]:outputChat}} | |||
==Обязательные аргументы== | ==Обязательные аргументы== | ||
*'''text:''' Текстовая строка, которая будет отправлена в окно чата. | *'''text:''' Текстовая строка, которая будет отправлена в окно чата. | ||
Line 20: | Line 20: | ||
{{RU/OptionalArg}} | {{RU/OptionalArg}} | ||
*'''visibleTo:''' Задает, кому будет виден чат. Все игроки-потомки этого элемента увидят сообщение. См. [[visibility]]. | *'''visibleTo:''' Задает, кому будет виден чат. Все игроки-потомки этого элемента увидят сообщение. См. [[visibility]]. | ||
*'''r:''' Целое число - количество красного компонента в цвете текста (0 - 255, по умолчанию | *'''r:''' Целое число - количество красного компонента в цвете текста (0 - 255, по умолчанию 231). | ||
*'''g:''' Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию | *'''g:''' Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию 217). | ||
*'''b:''' Целое число - количество синего компонента в цвете текста (0 - 255, по умолчанию | *'''b:''' Целое число - количество синего компонента в цвете текста (0 - 255, по умолчанию 176). | ||
*'''colorCoded:''' Логическая переменная, которая определяет, будут ли использоваться строковые теги вида '#RRGGBB'. | *'''colorCoded:''' Логическая переменная, которая определяет, будут ли использоваться строковые теги вида '#RRGGBB'. | ||
'Примечания': | 'Примечания': | ||
Line 31: | Line 31: | ||
</section> | </section> | ||
<section name="Client" class="client" show="true"> | <section name="Client" class="client" show="true"> | ||
<syntaxhighlight lang="lua">bool outputChatBox ( string text [, int r= | <syntaxhighlight lang="lua">bool outputChatBox ( string text [, int r=231, int g=217, int b=176, bool colorCoded=false ] )</syntaxhighlight> | ||
==Обязательные аргументы== | ==Обязательные аргументы== | ||
*'''text:''' Текстовая строка, которая будет отправлена в окно чата. | *'''text:''' Текстовая строка, которая будет отправлена в окно чата. | ||
== | ==Дополнительные аргументы== | ||
{{RU/OptionalArg}} | {{RU/OptionalArg}} | ||
*'''r:''' Целое число - количество красного компонента в цвете текста (0 - 255, по умолчанию | *'''r:''' Целое число - количество красного компонента в цвете текста (0 - 255, по умолчанию 231). | ||
*'''g:''' Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию | *'''g:''' Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию 217). | ||
*'''b:''' Целое число - количество синего компонента в цвете текста (0 - 255, по умолчанию | *'''b:''' Целое число - количество синего компонента в цвете текста (0 - 255, по умолчанию 176). | ||
*'''colorCoded:''' Логическая переменная, которая определяет, будут ли использоваться строковые теги вида '#RRGGBB'. | *'''colorCoded:''' Логическая переменная, которая определяет, будут ли использоваться строковые теги вида '#RRGGBB'. | ||
</section> | </section> | ||
Line 89: | Line 89: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''Пример 5:''' | '''Пример 5:''' Отправляем приветствие игроку, зашедшему на сервер. | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
function onJoin() | function onJoin() | ||
Line 101: | Line 101: | ||
==Смотрите также== | ==Смотрите также== | ||
{{Server functions}} | {{Server functions}} | ||
[[cs:outputChatBox]] | |||
[[en:outputChatBox]] | [[en:outputChatBox]] |
Latest revision as of 08:38, 7 September 2019
Эта функция выводит текстовую строку в окно чата. Можно осуществлять вывод как в чат отдельных игроков, так и всех сразу.
Дополнительно можно использовать строки с цветовыми кодами, передавая параметр 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 ] )
Синтаксис ООП Помогите! Я не понимаю, что это!
- Метод: player:outputChat(...)
Обязательные аргументы
- 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)