• Player disconnect
    6 replies, posted
I have a script that says when a player leaves in the chat but I am not sure where to put it. I want to add it to my server running TTT. [LUA]function GM:PlayerDisconnected(ply) chat.AddText(Color(255, 0, 0)(ply:Name().."has left the server.")) end[/LUA] Thanks!
add it to cl_init.lua since chat.AddText is a client side function.
Put it in "lua/autorun/server" I have mine saved as ply_steamid.lua [code] function FirstSpawn( ply ) PrintMessage( HUD_PRINTTALK, ply:Nick().. " has connected with the SteamID: " ..ply:SteamID() ) end hook.Add( "PlayerInitialSpawn", "playerInitialSpawn", FirstSpawn ) function PlayerDisconnect( ply ) PrintMessage( HUD_PRINTTALK, ply:Nick().. " has disconnected with the SteamID: " ..ply:SteamID() ) end hook.Add( "PlayerDisconnected", "playerDisconnected", PlayerDisconnect ) hook.Add("ChatText", "ChatText", function( filter, name, text ) if (filter == 0) then chat.AddText(text, "Server:") end end) [/code] Edit: Gets rated dumb for posting an entire file for someone -.- thank-you valid members of facepunch
[QUOTE=Richtofen;39985820]Put it in "lua/autorun/server" I have mine saved as ply_steamid.lua [code] function FirstSpawn( ply ) PrintMessage( HUD_PRINTTALK, ply:Nick().. " has connected with the SteamID: " ..ply:SteamID() ) end hook.Add( "PlayerInitialSpawn", "playerInitialSpawn", FirstSpawn ) function PlayerDisconnect( ply ) PrintMessage( HUD_PRINTTALK, ply:Nick().. " has disconnected with the SteamID: " ..ply:SteamID() ) end hook.Add( "PlayerDisconnected", "playerDisconnected", PlayerDisconnect ) hook.Add("ChatText", "ChatText", function( filter, name, text ) if (filter == 0) then chat.AddText(text, "Server:") end end) [/code] Edit: Gets rated dumb for posting an entire file for someone -.- thank-you valid members of facepunch[/QUOTE] Just curious, why did you hook ChatText after?
Richtofen and OP's won't work since chat.AddText is only available clientside, so you will need to use a net message.
[lua] if CLIENT then net.Receive( "chatAddText", function() local tab = net.ReadTable() chat.AddText( unpack(tab) ) end ) return end AddCSLuaFile() util.AddNetworkString( "chatAddText" ) chat = {} function chat.AddText( ... ) local args = {...} if IsValid(args[1]) and args[1]:IsPlayer() then local ply = table.remove(args, 1) net.Start( "chatAddText" ) net.WriteTable( args ) net.Send( ply ) else net.Start( "chatAddText" ) net.WriteTable( args ) net.Broadcast() end end[/lua]
[QUOTE=.\\Shadow};39986751][lua] if CLIENT then net.Receive( "chatAddText", function() local tab = net.ReadTable() chat.AddText( unpack(tab) ) end ) return end AddCSLuaFile() util.AddNetworkString( "chatAddText" ) chat = {} function chat.AddText( ... ) local args = {...} if IsValid(args[1]) and args[1]:IsPlayer() then local ply = table.remove(args, 1) net.Start( "chatAddText" ) net.WriteTable( args ) net.Send( ply ) else net.Start( "chatAddText" ) net.WriteTable( args ) net.Broadcast() end end[/lua][/QUOTE] I get what you guys mean about chat.AddText being client side, but could you please explain what a net message is? :downs:
Sorry, you need to Log In to post a reply to this thread.