GM/OnPlayerChat
From Garry's Mod
(Difference between revisions)
m |
|||
Line 3: | Line 3: | ||
|Realm=Client | |Realm=Client | ||
|Predicted=No | |Predicted=No | ||
− | |||
− | |||
}} | }} | ||
{{Arg | {{Arg | ||
Line 31: | Line 29: | ||
}} | }} | ||
{{Example | {{Example | ||
+ | |Description=Code from base gamemode. See garrysmod/gamemodes/base/gamemode/cl_init.lua#L139 | ||
|Code=function GM:OnPlayerChat( player, strText, bTeamOnly, bPlayerIsDead ) | |Code=function GM:OnPlayerChat( player, strText, bTeamOnly, bPlayerIsDead ) | ||
Revision as of 15:27, 4 March 2017
GM:OnPlayerChat( )
Contents |
Description
Called whenever a player sends a chat message. For the serverside equivalent, see GM:PlayerSay.
Arguments
Player ply
The player
Arguments
string text
The message's text
Arguments
boolean teamChat
Is the player typing in team chat?
Arguments
boolean isDead
Is the player dead?
Returns
Should the message be suppressed?
Examples
Example
Code from base gamemode. See garrysmod/gamemodes/base/gamemode/cl_init.lua#L139
function GM:OnPlayerChat( player, strText, bTeamOnly, bPlayerIsDead ) -- -- I've made this all look more complicated than it is. Here's the easy version -- -- chat.AddText( player, Color( 255, 255, 255 ), ": ", strText ) -- local tab = {} if ( bPlayerIsDead ) then table.insert( tab, Color( 255, 30, 40 ) ) table.insert( tab, "*DEAD* " ) end if ( bTeamOnly ) then table.insert( tab, Color( 30, 160, 40 ) ) table.insert( tab, "(TEAM) " ) end if ( IsValid( player ) ) then table.insert( tab, player ) else table.insert( tab, "Console" ) end table.insert( tab, Color( 255, 255, 255 ) ) table.insert( tab, ": "..strText ) chat.AddText( unpack(tab) ) return true end
Examples
Example
How you could create a chat command.
hook.Add( "OnPlayerChat", "HelloCommand", function( ply, strText, bTeam, bDead ) strText = string.lower( strText ) -- make the string lower case if (strText == "/hello") then -- if the player typed /hello then print("Hello world!") -- print Hello world to the console return true -- this suppresses the message from being shown end end )
Output:
Prints "Hello world!" to the console when you type /hello in the chat.