PDA

Просмотр полной версии : [Вопрос] Варн за рекламу



Nikoo007
30.06.2014, 23:42
Хочу сделать античит на рекламу.
Мне нужно, чтобы за ввод определенных слов выдавался варн.
Как такое сделать, подскажите :3

L0ndl3m
30.06.2014, 23:52
// Глобально
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; // Для того, чтобы не отправилось сообщение
}


Примерно так.

Mr.Ĉђip
30.06.2014, 23:58
Добавляем именно в те места, где в основном рекламят...

В 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; // Для того, чтобы не отправилось сообщение
}


Примерно так.
Спасибо большое.
Помог, все подробно объяснил :)
Закрыто.