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

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

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

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

Создание антирекламы

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

K1llers

Дебютант
Данная Антиреклама блокирует чат игрока от нежелательной рекламы айпи адресов чужих серверов. И выводит сообщение Админу о подозрении на рекламу.
Изображение ниже:
Сам Код:
Код:
 new length = strlen(cmdtext);
                while ((idx < length) && (cmdtext[idx] <= ' '))
                {
                        idx++;
                }
                new offset = idx;
                new result[64];
                while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                {
                        result[idx - offset] = cmdtext[idx];
                        idx++;
                }
                result[idx - offset] = EOS;
                if(!strlen(result))
                for(new i;i < strlen(result);i++)
                {
                        new a[2],c=0;
                        for(new j = 0;j < strlen(result);j++)
                        {
                                strmid(a,result,i+j,i+j+1,2);
                                if('0' <= a[0] <= '9')c+=1;
                        }
                        if(c == 10)
                        {
                                PlayerInfo[playerid][pMuteTime] = 20;
                                PlayerInfo[playerid][pMuted] = 1;
                                SendClientMessage(playerid, 0xFFFFFFAA, " Слишком много цифр");
                                SendClientMessage(playerid, 0xFFFFFFAA, " Идет анализ твоего сообщения, ты заткнут(а) на 20 сек");
                                format(string,sizeof(string)," Внимание. %s[%d] пытался отправить текст: %s",sendername, playerid, result);
                                ABroadCast(COLOR_YELLOW,string,1);
                                return true;
                        }
                }
Полный код команды /me Ниже:
Код:
 else if(strcmp(cmd, "/me", true) == 0)
        {
                if(gag[playerid] == 1) return   SendClientMessage(playerid, COLOR_LIGHTRED, "У Вас кляп, вы не можете говорить!");
                if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_GREY, "Вы не вошли!");
                if(PlayerInfo[playerid][pMuted] == 1) return format(string, sizeof(string), "У Вас бан чата! До снятия: %d секунд(ы)",PlayerInfo[playerid][pMuteTime]);
                GetPlayerName(playerid, sendername, sizeof(sendername));
                new length = strlen(cmdtext);
                while ((idx < length) && (cmdtext[idx] <= ' '))
                {
                        idx++;
                }
                new offset = idx;
                new result[64];
                while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                {
                        result[idx - offset] = cmdtext[idx];
                        idx++;
                }
                result[idx - offset] = EOS;
                if(!strlen(result)) return      SendClientMessage(playerid, COLOR_WHITE, " Введите: /me [действие]");
                for(new i;i < strlen(result);i++)
                {
                        new a[2],c=0;
                        for(new j = 0;j < strlen(result);j++)
                        {
                                strmid(a,result,i+j,i+j+1,2);
                                if('0' <= a[0] <= '9')c+=1;
                        }
                        if(c == 10)
                        {
                                PlayerInfo[playerid][pMuteTime] = 20;
                                PlayerInfo[playerid][pMuted] = 1;
                                SendClientMessage(playerid, 0xFFFFFFAA, " Слишком много цифр");
                                Слишком много цифр
                                SendClientMessage(playerid, 0xFFFFFFAA, " Идет анализ твоего сообщения, ты заткнут(а) на 20 сек");
                                format(string,sizeof(string)," Внимание. %s[%d] пытался отправить текст: %s",sendername, playerid, result);
                                ABroadCast(COLOR_YELLOW,string,1);
                                return 1;
                        }
                }
                format(string, sizeof(string), "%s %s", sendername, result);
                ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                SetPlayerChatBubble(playerid,result,COLOR_PURPLE,30.0,10000);
        }
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу