Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Создание Антимата

Статус
В этой теме нельзя размещать новые ответы.

slonplutalov

Умник
Привет.
Если вы не хотите, чтобы игроки матерились просто в чат или при каком-то условии, внимательно читаем и повторяем:

Сначала вставляем 2 функции в самый конец мода.
PHP:
replacemats(string[])
{
    new mati;
	mati = strfind(string, "тутпервыймат", true);
	if(mati >= 0)
	{
		for(new i = 0; i < strlen("тутпервыймат"); i++)
		{
			randomsymbol(string, mati+i);
		}
	}
	mati = strfind(string, "тутвтороймат", true);
	if(mati >= 0)
	{
		for(new i = 0; i < strlen("тутвтороймат"); i++)
		{
			randomsymbol(string, mati+i);
		}
	}
}

randomsymbol(str[], sub)
{
	new ran = random(28);
	if(ran == 0) str[sub] = '!';
	if(ran == 1) str[sub] = '@';
	if(ran == 2) str[sub] = '#';
	if(ran == 3) str[sub] = '$';
	if(ran == 4) str[sub] = '%';
	if(ran == 5) str[sub] = '^';
	if(ran == 6) str[sub] = '&';
	if(ran == 7) str[sub] = '*';
	if(ran == 8) str[sub] = '(';
	if(ran == 9) str[sub] = ')';
	if(ran == 10) str[sub] = '_';
	if(ran == 11) str[sub] = '+';
	if(ran == 12) str[sub] = '-';
	if(ran == 13) str[sub] = '=';
	if(ran == 14) str[sub] = '"';
	if(ran == 15) str[sub] = '№';
	if(ran == 16) str[sub] = ';';
	if(ran == 17) str[sub] = ':';
	if(ran == 18) str[sub] = '?';
	if(ran == 19) str[sub] = 'x';
	if(ran == 20) str[sub] = ',';
	if(ran == 21) str[sub] = ''';
	if(ran == 22) str[sub] = '.';
	if(ran == 23) str[sub] = ']';
	if(ran == 24) str[sub] = '[';
	if(ran == 25) str[sub] = '}';
	if(ran == 26) str[sub] = '{';
	if(ran == 27) str[sub] = '<';
	if(ran == 28) str[sub] = '>';
}
Важно: перед randomsymbol(str[], sub) и replacemats(string[]) не нужно вставлять ни stock, ни public
Первая функция служит для розыска по тексту матов, а вторая отвечает за их "замазывание". Допустим, если игрок захочет матернуться, в чат пойдет следующее: "дануна@^#"(Символы всегда будут разные).

Итак, далее если мы хотим, чтобы никто вообще не матерился, ищем
PHP:
public OnPlayerText
и вставляем в самое начало перед всеми new и остальными делами replacemats(text);
Далее ищем
PHP:
public OnPlayerCommandText
и вставляем в самое начало перед всеми new и остальными делами replacemats(cmdtext);
Если же хотите, чтобы кто-то матерился с условиями:
На пример, я хочу, чтобы мне в репорт никто не матерился. Значит, если у меня команда /report Не в диалоге, я вставляю replacemats(cmdtext); после tmp = strtok(cmdtext, idx); и радуюсь результату!
Если возникнут вопросы, я на них отвечу :) Если что, скайп - мой ник на форуме

P.S. Маты вставите свои, на мои антимат форумный ругается.
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу