Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lua
Войти
Регистрация
Восстановить пароль
 
Bookkc1
3 / 3 / 0
Регистрация: 01.11.2012
Сообщений: 769
#1

Блокировка сообщения с совпадением

22.03.2018, 20:39. Просмотров 127. Ответов 2
Метки нет (Все метки)

В общем, пишу один скрипт. Скрипт для игрового сервера, блокировка рекламы в чате. Вот его пример...

Код
local Register = {
				 "http://",
				 }

local function ChatSystem(event, player, msg, _, lang)
    
	
	for i, v in ipairs(Register) do
	
	if (msg:sub(1, Register[i]:len()) == Register[i]) then

		return false
	
    end
	
	end
end

RegisterPlayerEvent(18, ChatSystem)
Сейчас этот скрипт блокирует любой текст в чате который начинается с http:// , а мне нужно что бы он блокировал чат если совпадение будет в середине сообщения. Я думаю вся суть в этой строке

Код
msg:sub(1, Register[i]:len()) == Register[i]
Помогите, а ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.03.2018, 20:39
Ответы с готовыми решениями:

Блокировка записи и вывод предупреждающего сообщения
Здравствуйте! Подскажите, как реализовать в форме следующее действие: имеется...

Сообщения через Indy. Блокировка порта роутером.
Доброго времени суток всем участникам форума! Краткое описание проблемы....

Поиск на листе с частичным совпадением
Доброго времени, суток! Подскажите, почему у меня не работает find??? Ниже...

Вывод нескольких значений с определенным совпадением
По номеру заказа несколько совпадений бывает и ниже представленный код выводит...

Трабл с совпадением ip-адресов в удаленной сети
Привет! Имеется следующая проблема. Существует удаленная сеть и несколько...

2
vantfiles
32 / 32 / 16
Регистрация: 07.05.2013
Сообщений: 128
23.03.2018, 16:15 #2
Если я правильно понял, то как-то так:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
local bad_name = {
    "http://",
    "www.",
    ".ru",
    ".com",
}
 
local function ChatSystem( event, player, msg, _, lang )
 
    for i = 1, #bad_name do
        if msg:find( bad_name[ i ] ) ~= nil then
           return false
        end
    end
 
end
0
Bookkc1
3 / 3 / 0
Регистрация: 01.11.2012
Сообщений: 769
23.03.2018, 16:58  [ТС] #3
Спасибо, но твой вариант не работал, подправил свой благодаря твоему иии работает!!!

local Register = {
"http://",
".ru",
}
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
local function ChatSystem(event, player, msg, _, lang)
    
    
    for i, v in ipairs(Register) do
    
        if msg:find( Register[ i ] ) ~= nil then
        return false
    
    end
    
    end
end
 
RegisterPlayerEvent(18, ChatSystem)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2018, 16:58

Удаление слов с совпадением нечетных букв
Вводим слова до тех пор пока не введем "." После введения удалить слова у...

Поиск через textbox c частичным совпадением
Привет всем, помогите реализовать нормальный поиск с частичным совпадением...

Выборка записей с совпадением (в строке несколько слов)
Есть таблица (смотрите вложение) Мне надо выбрать все строки, где в столбце...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru