OutputChatBox: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
{{Server client function}} | |||
{{Note_box|Avoid outputting text to the chatbox that isn't actually chat, as this can be annoying for players. Output information and status messages to the HUD.}} | |||
__NOTOC__ | |||
This outputs the specified text string to the chatbox. It can be specified as a message to certain player(s) or all players. | |||
It can optionally allow you to embed color changes into the string by setting the colorCoded boolean to true. This allows: | |||
<syntaxhighlight lang="lua"> | |||
outputChatBox ( "#FF0000Hello #00FF00World", getRootElement(), 255, 255, 255, true ) | |||
</syntaxhighlight> | |||
This will display as: '''<span style='color:red;'>Hello</span> <span style='color:green'>World</span> ''' | |||
==Syntax== | |||
<section name="Server" class="server" show="true"> | |||
<syntaxhighlight lang="lua">bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] )</syntaxhighlight> | |||
{{OOP||[[player]]:outputChat}} | |||
==Required Arguments== | |||
*'''text:''' The text string that you wish to send to the chat window. If more than 256 characters it will not be showed in chat. | |||
==Optional Arguments== | |||
{{OptionalArg}} | |||
*'''visibleTo:''' This specifies who the chat is visible to. Any players in this element will see the chat message. See [[visibility]]. | |||
*'''r:''' The amount of red in the color of the text. Default value is 231. | |||
*'''g:''' The amount of green in the color of the text. Default value is 217. | |||
*'''b:''' The amount of blue in the color of the text. Default value is 176. | |||
*'''colorCoded:''' A boolean value determining whether or not '#RRGGBB' tags should be used. | |||
Note: The #RRGGBB format must contain capital letters a-f is not acceptable but A-F is. Default RGB values in this format are: '#E7D9B0'. | |||
</section> | |||
<section name="Client" class="client" show="true"> | |||
<syntaxhighlight lang="lua">bool outputChatBox ( string text [, int r=231, int g=217, int b=176, bool colorCoded=false ] )</syntaxhighlight> | |||
==Required Arguments== | |||
*'''text:''' The text string that you wish to send to the chat window. If more than 256 characters it will not be showed in chat. | |||
==Optional Arguments== | |||
{{OptionalArg}} | |||
*'''r:''' The amount of red in the color of the text. Default value is 231. | |||
*'''g:''' The amount of green in the color of the text. Default value is 217. | |||
*'''b:''' The amount of blue in the color of the text. Default value is 176. | |||
*'''colorCoded:''' A boolean value determining whether or not '#RRGGBB' tags should be used. | |||
Note: The #RRGGBB format must contain capital letters a-f is not acceptable but A-F is. Default RGB values in this format are: '#E7D9B0'. | |||
</section> | |||
==Returns== | |||
Returns ''true'' if the message was displayed successfully. Returns ''false'' if invalid arguments are specified. | |||
==Example== | |||
<section name="Server" class="server" show="true"> | |||
'''Example 1:''' This example displays a chat message to all users. | |||
<syntaxhighlight lang="lua"> | |||
x = 5 | |||
y = 10 | |||
-- Displays the message | |||
outputChatBox ( "I have " .. x .. " apples and " .. y .. " oranges." ) | |||
</syntaxhighlight> | |||
'''Example 2:''' This example outputs a simple colour coded message, "Red White", where the 'White' is in white colour, and 'Red' is in a red colour. | |||
<syntaxhighlight lang="lua"> | |||
outputChatBox ( "Red #FFFFFFWhite", getRootElement(), 255, 0, 0, true ) | |||
</syntaxhighlight> | |||
'''Example 3:''' This example allows for coloured chat, according to a player's nametag. This makes use of colour coded outputs. | |||
<syntaxhighlight lang="lua"> | |||
function colouredChat ( message, theType ) | |||
if theType == 0 then --if its normal chat (not /me or teamchat) then | |||
cancelEvent() --prevent MTA from outputting chat | |||
message = string.gsub(message, "#%x%x%x%x%x%x", "") --remove any hex tags in a player's chat to prevent custom colours by using lua's string.gsub | |||
local r,g,b = getPlayerNametagColor ( source ) --get the player's nametag colour | |||
local chatterName = getPlayerName ( source ) --get his name | |||
--output a message with the name as his nametag colour, and the rest in white. | |||
outputChatBox ( chatterName..":#FFFFFF "..message, getRootElement(), r, g, b, true ) | |||
end | |||
end | |||
addEventHandler("onPlayerChat", getRootElement(), colouredChat) | |||
</syntaxhighlight> | |||
'''Example 4:''' This example displays a chat message to a single user called ''someguy''. | |||
<syntaxhighlight lang="lua"> | |||
-- Find the player element for the player called 'someguy' | |||
myPlayer = getPlayerFromName ( "someguy" ) | |||
-- If a player was found called 'someguy' then... | |||
if ( myPlayer ~= false ) then | |||
x = 5 | |||
y = 10 | |||
-- Display the message | |||
outputChatBox ( "I have " .. x .. " apples and " .. y .. " oranges.", myPlayer ) | |||
end | |||
</syntaxhighlight> | |||
'''Example 5:''' These two functions can speed up typing, and display a message when a player Joins. | |||
<syntaxhighlight lang="lua"> | |||
local msg_red,msg_green,msg_blue = 255,255,0 | |||
function servertalkprivate(message, sendto) | |||
--Talk to one client only | |||
outputChatBox(tostring(message), sendto, msg_red, msg_green, msg_blue, true) | |||
end | |||
function servertalk(message) | |||
--Talk to everyone | |||
servertalkprivate(message, getRootElement()) | |||
end | |||
function onJoin() | |||
servertalkprivate("Welcome to My Server", source) | |||
end | |||
addEventHandler("onPlayerJoin",getRootElement(),onJoin) | |||
</syntaxhighlight> | |||
'''Example 6:''' This can be used to display a message when the player joins and sets its armor to 100. '''(By Bilal135)''' | |||
<syntaxhighlight lang="lua"> | |||
function onJoin() | |||
setPedArmor(source, 100) | |||
outputChatBox("Welcome To The Server", source, 255, 0, 0) | |||
end | |||
addEventHandler("onPlayerJoin", root, onJoin) | |||
</syntaxhighlight> | |||
</section> | |||
==See Also== | |||
{{Server functions}} | |||
[[cs:outputChatBox]] | |||
[[pl:outputChatBox]] | |||
[[ru:outputChatBox]] |
Revision as of 18:42, 1 January 2017
This template is no longer in use as it results in poor readability.
This outputs the specified text string to the chatbox. It can be specified as a message to certain player(s) or all players.
It can optionally allow you to embed color changes into the string by setting the colorCoded boolean to true. This allows:
outputChatBox ( "#FF0000Hello #00FF00World", getRootElement(), 255, 255, 255, true )
This will display as: Hello World
Syntax
bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] )
OOP Syntax Help! I don't understand this!
- Method: player:outputChat(...)
Required Arguments
- text: The text string that you wish to send to the chat window. If more than 256 characters it will not be showed in chat.
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- visibleTo: This specifies who the chat is visible to. Any players in this element will see the chat message. See visibility.
- r: The amount of red in the color of the text. Default value is 231.
- g: The amount of green in the color of the text. Default value is 217.
- b: The amount of blue in the color of the text. Default value is 176.
- colorCoded: A boolean value determining whether or not '#RRGGBB' tags should be used.
Note: The #RRGGBB format must contain capital letters a-f is not acceptable but A-F is. Default RGB values in this format are: '#E7D9B0'.
bool outputChatBox ( string text [, int r=231, int g=217, int b=176, bool colorCoded=false ] )
Required Arguments
- text: The text string that you wish to send to the chat window. If more than 256 characters it will not be showed in chat.
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- r: The amount of red in the color of the text. Default value is 231.
- g: The amount of green in the color of the text. Default value is 217.
- b: The amount of blue in the color of the text. Default value is 176.
- colorCoded: A boolean value determining whether or not '#RRGGBB' tags should be used.
Note: The #RRGGBB format must contain capital letters a-f is not acceptable but A-F is. Default RGB values in this format are: '#E7D9B0'.
Returns
Returns true if the message was displayed successfully. Returns false if invalid arguments are specified.
Example
Example 1: This example displays a chat message to all users.
x = 5 y = 10 -- Displays the message outputChatBox ( "I have " .. x .. " apples and " .. y .. " oranges." )
Example 2: This example outputs a simple colour coded message, "Red White", where the 'White' is in white colour, and 'Red' is in a red colour.
outputChatBox ( "Red #FFFFFFWhite", getRootElement(), 255, 0, 0, true )
Example 3: This example allows for coloured chat, according to a player's nametag. This makes use of colour coded outputs.
function colouredChat ( message, theType ) if theType == 0 then --if its normal chat (not /me or teamchat) then cancelEvent() --prevent MTA from outputting chat message = string.gsub(message, "#%x%x%x%x%x%x", "") --remove any hex tags in a player's chat to prevent custom colours by using lua's string.gsub local r,g,b = getPlayerNametagColor ( source ) --get the player's nametag colour local chatterName = getPlayerName ( source ) --get his name --output a message with the name as his nametag colour, and the rest in white. outputChatBox ( chatterName..":#FFFFFF "..message, getRootElement(), r, g, b, true ) end end addEventHandler("onPlayerChat", getRootElement(), colouredChat)
Example 4: This example displays a chat message to a single user called someguy.
-- Find the player element for the player called 'someguy' myPlayer = getPlayerFromName ( "someguy" ) -- If a player was found called 'someguy' then... if ( myPlayer ~= false ) then x = 5 y = 10 -- Display the message outputChatBox ( "I have " .. x .. " apples and " .. y .. " oranges.", myPlayer ) end
Example 5: These two functions can speed up typing, and display a message when a player Joins.
local msg_red,msg_green,msg_blue = 255,255,0 function servertalkprivate(message, sendto) --Talk to one client only outputChatBox(tostring(message), sendto, msg_red, msg_green, msg_blue, true) end function servertalk(message) --Talk to everyone servertalkprivate(message, getRootElement()) end function onJoin() servertalkprivate("Welcome to My Server", source) end addEventHandler("onPlayerJoin",getRootElement(),onJoin)
Example 6: This can be used to display a message when the player joins and sets its armor to 100. (By Bilal135)
function onJoin() setPedArmor(source, 100) outputChatBox("Welcome To The Server", source, 255, 0, 0) end addEventHandler("onPlayerJoin", root, onJoin)