RU/outputChatBox

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

[[{{{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)

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