• Chat filter i made doesn't work, no Error messages
    6 replies, posted
  • Avatar of Ningaglio
  • this is my code, for some reason, it doesnt work File in autorun/server/chat_filter.lua [CODE]hook.Add("PlayerSay", "chat_filter", function( player, strText ) local tab = {} if ( IsValid( player ) ) then table.insert( tab, player ) else table.insert( tab, "Console" ) end local incomplete = string.Explode( strText, " ") local pre_table = util.KeyValuesToTable( file.Read( "meisno/reham.txt" ) ) local function apartk() for k,v in ipairs(pre_table) do return k end end local function apartv( K ) for k,v in ipairs(pre_table) do if k == K then return v end end end for k,v in ipairs(incomplete) do local value = tostring(v) if value == apartK() then value = apartv( k ) end end local complete = string.Implode( incomplete , " " ) table.insert( tab, Color( 255, 255, 255 ) ) table.insert( tab, ": "..complete ) chat.AddText( unpack(tab) ) return true end) [/CODE] Code in data/meisno/reham.txt [CODE]"CHAT_FILTER" { "fuck" "F***" "shit" "S***" "GMT" "Narb" }[/CODE]
  • Avatar of nicatronTg
  • Test it in a listen server first, it's got to be erroring somewhere or not functioning. Server errors aren't visible unless you host the server or you are the server. Next, I somehow remember that this conflicts with commands, but oh well. Anyhow, someone wrote a censor for me a while back. Also, use [lua] tags not [code] tags in the future.
  • Avatar of Overv
  • That is not how you would use PlayerSay to alter the text. If you want to filter the word 'fuck' in chat text, you would do this: [lua]hook.Add( "PlayerSay", "Filter", function( ply, txt ) return string.replace( txt, "fuck", "****" ) end )[/lua] You were trying to needlessly call chat.AddText, which does not exist serverside.
  • [QUOTE=H0rsey;21264069]Are you sure to use string.replace?[/QUOTE] Yes he is. He just forgot to capitalize it [lua] hook.Add( "PlayerSay", "Filter", function( ply, txt ) return string.Replace( txt, "fuck", "****" ) end ) [/lua]
  • Avatar of MakeR
  • Use [b][url=http://wiki.garrysmod.com/?title=String.gsub]String.gsub [img]http://wiki.garrysmod.com/favicon.ico[/img][/url][/b] instead, it is faster.