-- CONFIGURATION -- what should happen when someone enteres a bad word -- "delete": delete the message -- "kick": kick the player and delete the message local mode = "kick" -- kick message (if 'mode' is set to 'kick') local kickmessage = "You Were Kicked for Foul Language." -- blacklisted words (in lowercase) local blacklist = { "ass", "anus", "arse", "arsehole", "ass", "ass-hat", "ass-jabber", "ass-pirate", "assbag", "assbandit", "assbanger", "assbite", "assclown", "asscock", "asscracker", "asses", "assface", "assfuck", "assfucker", "assgoblin", "asshat", "asshead", "asshole", "asshopper", "assjacker", "asslick", "asslicker", "assmonkey", "assmunch", "assmuncher", "assnigger", "asspirate", "assshit", "assshole", "asssucker", "asswad", "asswipe", "axwound", "bampot", "bastard", "beaner", "bitch", "bitchass", "bitches", "bitchtits", "bitchy", "blow job", "blowjob", "bollocks", "bollox", "boner", "brotherfucker", "bullshit", "bumblefuck", "butt plug", "butt-pirate", "buttfucka", "buttfucker", "camel toe", "cameltoe", "carpetmuncher", "chesticle", "chinc", "chink", "choad", "chode", "clit", "clitface", "clitfuck", "clusterfuck", "cock", "cockass", "cockbite", "cockburger", "cockface", "cockfucker", "cockhead", "cockjockey", "cockknoker", "cockmaster", "cockmongler", "cockmongruel", "cockmonkey", "cockmuncher", "cocknose", "cocknugget", "cockshit", "cocksmith", "cocksmoke", "cocksmoker", "cocksniffer", "cocksucker", "cockwaffle", "coochie", "coochy", "coon", "cooter", "cracker", "cuck", "cum", "cumbubble", "cumdumpster", "cumguzzler", "cumjockey", "cumslut", "cumtart", "cunnie", "cunnilingus", "cunt", "cuntass", "cuntface", "cunthole", "cuntlicker", "cuntrag", "cuntslut", "dago", "damn", "deggo", "dick", "dick-sneeze", "dickbag", "dickbeaters", "dickface", "dickfuck", "dickfucker", "dickhead", "dickhole", "dickjuice", "dickmilk", "dickmonger", "dicks", "dickslap", "dicksucker", "dicksucking", "dicktickler", "dickwad", "dickweasel", "dickweed", "dickwod", "dike", "dildo", "dipshit", "doochbag", "dookie", "douche", "douche-fag", "douchebag", "douchewaffle", "dumass", "dumb ass", "dumbass", "dumbfuck", "dumbshit", "dumshit", "dyke", "fag", "fagbag", "fagfucker", "faggit", "faggot", "faggotcock", "fagtard", "fatass", "fellatio", "feltch", "flamer", "fuck", "fuckass", "fuckbag", "fuckboy", "fuckbrain", "fuckbutt", "fuckbutter", "fucked", "fucker", "fuckersucker", "fuckface", "fuckhead", "fuckhole", "fuckin", "fucking", "fucknut", "fucknutt", "fuckoff", "fucks", "fuckstick", "fucktard", "fucktart", "fuckup", "fuckwad", "fuckwit", "fuckwitt", "fudgepacker", "gayass", "gayfuck", "gayfuckist", "gaylord", "gaytard", "gaywad", "goddamn", "goddamnit", "gooch", "gook", "gringo", "guido", "handjob", "hard on", "heeb", "hell", "hoe", "homodumbshit", "honkey", "jackass", "jagoff", "jerk off", "jerkass", "jigaboo", "jizz", "jungle bunny", "junglebunny", "kike", "kooch", "kootch", "kraut", "kunt", "kyke", "lameass", "lardass", "mcfagget", "mick", "minge", "mothafucka", "mothafuckin", "motherfucker", "motherfucking", "muff", "muffdiver", "munging", "negro", "nigaboo", "nigga", "nigger", "niggers", "niglet", "nut sack", "nutsack", "panooch", "pecker", "peckerhead", "penis", "penisbanger", "penisfucker", "penispuffer", "piss", "pissed", "pissed off", "pissflaps", "polesmoker", "poon", "poonani", "poonany", "poontang", "porch monkey", "porchmonkey", "prick", "punann", "punta", "pussies", "pussy", "pussylicking", "puto", "queef", "renob", "rimjob", "sand nigger", "sandnigger", "schlong", "scrote", "shit", "shitass", "shitbag", "shitbagger", "shitbrains", "shitbreath", "shitcanned", "shitcunt", "shitdick", "shitface", "shitfaced", "shithead", "shithole", "shithouse", "shitspitter", "shitstain", "shitter", "shittiest", "shitting", "shitty", "shiz", "shiznit", "skank", "skeet", "skullfuck", "slut", "slutbag", "smeg", "snatch", "splooge", "spook", "suckass", "testicle", "thundercunt", "tit", "titfuck", "tits", "tittyfuck", "twat", "twatlips", "twats", "twatwaffle", "unclefucker", "va-j-j", "vag", "vagina", "vajayjay", "vjayjay", "wank", "wankjob", "wetback", "whore", "whorebag", "whoreface", "wop", } -- END OF CONFIGURATION RegisterNetEvent('chatMessage') AddEventHandler('chatMessage', function(source, author, message) if(IsPlayerAceAllowed(source, "chatfilter:bypass")) then else CancelEvent() local finalmessage = message:lower() finalmessage = finalmessage:gsub(" ", "") finalmessage = finalmessage:gsub("%-", "") finalmessage = finalmessage:gsub("%.", "") finalmessage = finalmessage:gsub("$", "s") finalmessage = finalmessage:gsub("€", "e") finalmessage = finalmessage:gsub(",", "") finalmessage = finalmessage:gsub(";", "") finalmessage = finalmessage:gsub(":", "") finalmessage = finalmessage:gsub("*", "") finalmessage = finalmessage:gsub("_", "") finalmessage = finalmessage:gsub("|", "") finalmessage = finalmessage:gsub("/", "") finalmessage = finalmessage:gsub("<", "") finalmessage = finalmessage:gsub(">", "") finalmessage = finalmessage:gsub("ß", "ss") finalmessage = finalmessage:gsub("&", "") finalmessage = finalmessage:gsub("+", "") finalmessage = finalmessage:gsub("¦", "") finalmessage = finalmessage:gsub("§", "s") finalmessage = finalmessage:gsub("°", "") finalmessage = finalmessage:gsub("#", "") finalmessage = finalmessage:gsub("@", "a") finalmessage = finalmessage:gsub("\"", "") finalmessage = finalmessage:gsub("%(", "") finalmessage = finalmessage:gsub("%)", "") finalmessage = finalmessage:gsub("=", "") finalmessage = finalmessage:gsub("?", "") finalmessage = finalmessage:gsub("!", "") finalmessage = finalmessage:gsub("´", "") finalmessage = finalmessage:gsub("`", "") finalmessage = finalmessage:gsub("'", "") finalmessage = finalmessage:gsub("%^", "") finalmessage = finalmessage:gsub("~", "") finalmessage = finalmessage:gsub("%[", "") finalmessage = finalmessage:gsub("]", "") finalmessage = finalmessage:gsub("{", "") finalmessage = finalmessage:gsub("}", "") finalmessage = finalmessage:gsub("£", "e") finalmessage = finalmessage:gsub("¨", "") finalmessage = finalmessage:gsub("ç", "c") finalmessage = finalmessage:gsub("¬", "") finalmessage = finalmessage:gsub("\\", "") finalmessage = finalmessage:gsub("1", "i") finalmessage = finalmessage:gsub("3", "e") finalmessage = finalmessage:gsub("4", "a") finalmessage = finalmessage:gsub("5", "s") finalmessage = finalmessage:gsub("0", "o") local lastchar = "" local output = "" for char in finalmessage:gmatch(".") do if(char ~= lastchar) then output = output .. char end lastchar = char end local send = true for i in pairs(blacklist) do if(output:find(blacklist[i])) then if(mode == "delete") then --message already deleted elseif(mode == "kick") then DropPlayer(source, kickmessage) end send = false break end end if(send) then TriggerClientEvent("chatMessage", -1, author, {255,255,255}, message) end end end)