Доступ к готовым решениям

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

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

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

Мануал Блокировка сообщения.

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

ToPsxmirex

Компетентный
Писал сегодня блокировку сообщения. Когда написал, то подумал: а ведь можно написать другую систему и решил скинуть то, что уже написал, в паблик. Итак. Представляю вам мою быдло - работу - блокировка сообщений.​

Автор:

- ToPsxmirex

Что блокирует:

- Рекламу сайтов / форумов.
- Рекламу IP.
- Маты / оскорбления.
- Смайлы. ( настройка под OOC )


Использованиет:

PHP:
Пример: if(!GetPlayerMessageBlock(playerid, "by ToPsxmirex", false / true))  return SCM(playerid, COLOR_ERROR, "Ошибка:{FFFFFF} Ваше сообщение заблокировано.");

playerid - ID игрока
string[] - Сообщение игрока
bool: ooc - true - OOC сообщение, false - IC сообщение
Примечание по коду:

- SCMA - сообщение, высылаемое только администрации.
- COLOR_SERVER - Ваш любой цвет.
- COLOR_ERROR - Ваш любой цвет.
- SCM - SendClientMessage.
- String - Ваша любая переменная для хранения текста.


PHP:
GetPlayerMessageBlock(playerid, string[], bool: ooc)
{
	new Var[2];
	for(new i; i < 256; i ++)
	{
	    switch(string[i] == '0' || string[i] == '1' || string[i] == '2' || string[i] == '3' || string[i] == '4' || string[i] == '5' ||
			string[i] == '6' || string[i] == '7' || string[i] == '8' || string[i] == '9')
		{
			case 0: Var[1] ++;
			default:
			{
			    if(Var[1] == 4)
			    {
			        format(String, sizeof(String), "Сервер:{FFFFFF} Произошло блокирование сообщения у %s [ID: %d]. Причина: Реклама IP.", GetPlayerNameEx(playerid), playerid), SCMA(COLOR_SERVER, String);
				    format(String, sizeof(String), "Сервер:{FFFFFF} %s", string), SCMA(COLOR_SERVER, String);
				    return true;
			    }
				Var[1] = 0;
			}
		}
	    if(string[i] == '.')
	    {
			switch(Var[0])
			{
				case 0:
				{
					Var[0] = i;
					continue;
				}
				default:
				{
				    if(i - Var[0] > 4 || i - Var[0] < 2)
					{
						Var[0] = i;
						continue;
					}
				    format(String, sizeof(String), "Сервер:{FFFFFF} Произошло блокирование сообщения у %s [ID: %d]. Причина: Реклама IP.", GetPlayerNameEx(playerid), playerid), SCMA(COLOR_SERVER, String);
				    format(String, sizeof(String), "Сервер:{FFFFFF} %s", string), SCMA(COLOR_SERVER, String);
				    return true;
				}
			}
		}
	}
	if(strfind(string, "www", true) != - 1 || strfind(string, "http", true) != - 1 || strfind(string, "ru", true) != - 1 ||
	    strfind(string, "com", true) != - 1 || strfind(string, "ua", true) != - 1 || strfind(string, "ucoz", true) != - 1 ||
	    strfind(string, "www", true) != - 1 || strfind(string, "forum", true) != - 1)
	{
	    format(String, sizeof(String), "Сервер:{FFFFFF} Произошло блокирование сообщения у %s [ID: %d]. Причина: Реклама сайта/форума.", GetPlayerNameEx(playerid), playerid), SCMA(COLOR_SERVER, String);
		format(String, sizeof(String), "Сервер:{FFFFFF} %s", string), SCMA(COLOR_SERVER, String);
	    return true;
	}
	if(strfind(string, "***а", true) != - 1 || strfind(string, "***", true) != - 1 || strfind(string, "еба", true) != - 1 ||
	    strfind(string, "***", true) != - 1 || strfind(string, "мамку", true) != - 1 || strfind(string, "рак", true) != - 1 ||
	    strfind(string, "ёб", true) != - 1 || strfind(string, "нуб", true) != - 1)
	{
	    format(String, sizeof(String), "Сервер:{FFFFFF} Произошло блокирование сообщения у %s [ID: %d]. Причина: Оскорбление / нецензурные выражения.", GetPlayerNameEx(playerid), playerid), SCMA(COLOR_SERVER, String);
		format(String, sizeof(String), "Сервер:{FFFFFF} %s", string), SCMA(COLOR_SERVER, String);
	    return true;
	}
	if(ooc == true) return false;
	if(strfind(string, ":)", true) != - 1 || strfind(string, "))", true) != - 1 || strfind(string, ":D", true) != - 1 ||
	    strfind(string, "=)", true) != - 1 || strfind(string, "((", true) != - 1 || strfind(string, "С:", true) != - 1)
	{
	    format(String, sizeof(String), "Сервер:{FFFFFF} Произошло блокирование сообщения у %s [ID: %d]. Причина: Смайлы в IC.", GetPlayerNameEx(playerid), playerid), SCMA(COLOR_SERVER, String);
		format(String, sizeof(String), "Сервер:{FFFFFF} %s", string), SCMA(COLOR_SERVER, String);
	    return true;
	}
	return false;
}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу