RU/outputChatBox

From Multi Theft Auto: Wiki
Revision as of 10:39, 21 August 2012 by Wielebny (talk | contribs) (Default outputChatBox colors are not 255,255,255 but 231,217,176)
Jump to navigation Jump to search

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

Синтаксис

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

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)

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