local ev = require 'samp.events'
local blacklisted_words = {'блять', 'хуй', 'пиздец'} -- сюда добавлять нужные слова
function ev.onSendChat(text)
text = string.nlower(text)
for k, v in pairs(blacklisted_words) do
if text:find(v) then
sampAddChatMessage('Сообщение не отправлено (запрещенное слово: "{ff004d}'..v..'{ffffff}")', -1)
return false
end
end
end
function ev.onSendCommand(cmd)
cmd = string.nlower(cmd)
for k, v in pairs(blacklisted_words) do
if cmd:find(v) then
sampAddChatMessage('Сообщение не отправлено (запрещенное слово: "{ff004d}'..v..'{ffffff}")', -1)
return false
end
end
end
-- https://www.blast.hk/threads/13380/post-401197
--Чтобы работало хоть на капс, хоть на обычные сообщения
local lower, sub, char = string.lower, string.sub, string.char
local concat = table.concat
-- initialization table
local lu_rus, ul_rus = {}, {}
for i = 192, 223 do
local A, a = char(i), char(i + 32)
ul_rus[A] = a
lu_rus[a] = A
end
local E, e = char(168), char(184)
ul_rus[E] = e
lu_rus[e] = E
function string.nlower(s)
s = lower(s)
local len, res = #s, {}
for i = 1, len do
local ch = sub(s, i, i)
res[i] = ul_rus[ch] or ch
end
return concat(res)
end