Просмотр полной версии : [Вопрос] Варн за рекламу
Nikoo007
30.06.2014, 23:42
Хочу сделать античит на рекламу.
Мне нужно, чтобы за ввод определенных слов выдавался варн.
Как такое сделать, подскажите :3
// Глобально
static const
bad_words[][] =
{
"Плохое слово1", "Плохое слово2", "Плохое слово3"
}
;
// Функция
FindBadWords(const text[])
{
for(new i = 0; i < sizeof(bad_words); i++)
if(strfind(text, bad_words[i]) != -1)
return 1;
return 0;
}
// OnPlayerText
if(FindBadWords(text))
{
// Здесь наказание для игрока
return 0; // Для того, чтобы не отправилось сообщение
}
Примерно так.
Добавляем именно в те места, где в основном рекламят...
В public OnPlayerText
if(strfind(text, ".com", true) != -1 || strfind(text, ".ru", true) != -1 || strfind(text, "www", true) != -1 || strfind(text, "http", true) != -1 || strfind(text, ".ucoz", true) != -1 || strfind(text, ".forum2x2", true) != -1 || strfind(text, ".su", true) != -1 || strfind(text, ".clan", true) != -1 || strfind(text, ".narod", true) != -1 || strfind(text, ".рф", true) != -1 || strfind(result, ".org", true) != -1)
{
PINFO[playerid][pWarns] += 1;
}
У меня такой вариант.
Spectrum
01.07.2014, 00:17
есть отличная антиреклама с использованием RegEx плагина, загугли, там уже сам настроишь
Nikoo007
01.07.2014, 00:43
// Глобально
static const
bad_words[][] =
{
"Плохое слово1", "Плохое слово2", "Плохое слово3"
}
;
// Функция
FindBadWords(const text[])
{
for(new i = 0; i < sizeof(bad_words); i++)
if(strfind(text, bad_words[i]) != -1)
return 1;
return 0;
}
// OnPlayerText
if(FindBadWords(text))
{
// Здесь наказание для игрока
return 0; // Для того, чтобы не отправилось сообщение
}
Примерно так.
Спасибо большое.
Помог, все подробно объяснил :)
Закрыто.
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot