OutputChatBox: Difference between revisions
(Added a note about visibleTo accepting table of players and team element; https://github.com/multitheftauto/mtasa-blue/commit/d2c53c73e327ade55862043af9bd53da64dd351a) |
(Replace note for visibleTo.) |
||
Line 1: | Line 1: | ||
{{Server client function}} | {{Server client function}} | ||
{{Note|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.}} | {{Note|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__ | __NOTOC__ | ||
This outputs the specified text string to the chatbox. It can be specified as a message to certain player(s) or all players. | This outputs the specified text string to the chatbox. It can be specified as a message to certain player(s) or all players. | ||
Line 21: | Line 20: | ||
{{OptionalArg}} | {{OptionalArg}} | ||
*'''visibleTo:''' This specifies who the chat is visible to. Any players in this element will see the chat message. See [[visibility]]. | *'''visibleTo:''' This specifies who the chat is visible to. Any players in this element will see the chat message. See [[visibility]]. | ||
{{New items|5.0157|1.5.7-9.20391| | |||
*'''visibleTo:''' Can also be a table of players or team.}} | |||
*'''r:''' The amount of red in the color of the text. Default value is 231. | *'''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. | *'''g:''' The amount of green in the color of the text. Default value is 217. |
Revision as of 17:33, 10 July 2020
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.
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.
function onJoin() setPedArmor(source, 100) local playerName = getPlayerName(source) outputChatBox("Welcome ".. playerName .." To The Server", source, 0, 154, 255) end addEventHandler("onPlayerJoin", root, onJoin)