RU/outputChatBox: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
m (Added link to Czech translation.)
m (prefer normal note)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{RU/Server client function}}
{{RU/Server client function}}
{{Note_box|Не рекомендуется выводить в чат информацию, которая самими чатом (разговором) не является. Для целей отображения вспомогательной информации следует использовать возможности GUI}}
{{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=255, int g=255, int b=255, bool colorCoded=false ] )</syntaxhighlight>
<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, по умолчанию 255).
*'''r:''' Целое число - количество красного компонента в цвете текста (0 - 255, по умолчанию 231).
*'''g:''' Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию 255).
*'''g:''' Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию 217).
*'''b:''' Целое число - количество синего компонента в цвете текста (0 - 255, по умолчанию 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=255, int g=255, int b=255, bool colorCoded=false ] )</syntaxhighlight>
<syntaxhighlight lang="lua">bool outputChatBox ( string text [, int r=231, int g=217, int b=176, bool colorCoded=false ] )</syntaxhighlight>


==Обязательные аргументы==
==Обязательные аргументы==
Line 38: Line 38:
==Дополнительные аргументы==
==Дополнительные аргументы==
{{RU/OptionalArg}}
{{RU/OptionalArg}}
*'''r:''' Целое число - количество красного компонента в цвете текста (0 - 255, по умолчанию 255).
*'''r:''' Целое число - количество красного компонента в цвете текста (0 - 255, по умолчанию 231).
*'''g:''' Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию 255).
*'''g:''' Целое число - количество зеленого компонента в цвете текста (0 - 255, по умолчанию 217).
*'''b:''' Целое число - количество синего компонента в цвете текста (0 - 255, по умолчанию 255).
*'''b:''' Целое число - количество синего компонента в цвете текста (0 - 255, по умолчанию 176).
*'''colorCoded:''' Логическая переменная, которая определяет, будут ли использоваться строковые теги вида '#RRGGBB'.
*'''colorCoded:''' Логическая переменная, которая определяет, будут ли использоваться строковые теги вида '#RRGGBB'.
</section>
</section>

Latest revision as of 08:38, 7 September 2019

[[{{{image}}}|link=|]] Note: Не рекомендуется выводить в чат информацию, которая самими чатом (разговором) не является. Для целей отображения вспомогательной информации следует использовать возможности GUI

Эта функция выводит текстовую строку в окно чата. Можно осуществлять вывод как в чат отдельных игроков, так и всех сразу.

Дополнительно можно использовать строки с цветовыми кодами, передавая параметр colorCoded равным 'true'. Пример:

outputChatBox ( "#FF0000Hello #00FF00World", getRootElement(), 255, 255, 255, true )

Это будет отображено в чате, как: Hello World

Синтаксис

Click to collapse [-]
Server
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.

Click to collapse [-]
Client
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, если были переданы некорректные аргументы.

Пример

Click to collapse [-]
Server

Пример 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)

Смотрите также