Добро пожаловать на Pawno-Info.Ru - Портал о программировании v2.0

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы в существующих темах, давать репутацию своим коллегам, получать собственный личный мессенджер и многое другое. Это также быстро и совершенно бесплатно, так чего же вы ждете?

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками - то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Модификации SA

Хотите разнообразить свою игру в San Andrease? Смелее в наш раздел. Отличный сборник готовых решений. Играйте с удовольствием

Ищу скриптера. Оплата

Mike_Evan$

Интересующийся
Пользователь
Регистрация
27 Июн 2016
Сообщения
27
Лучшие ответы
0
Реакции
0
Адрес
vk.com/freat_rp
Нужно фиксануть баг в системе антирекламы +перевести ее с обычного regex на Pawn.Regex. Связь в вк: ссылка удалена СРОЧНО!

Код:
new RegEx:reklamka;



stock IsIpFound(const string[])

{

 if(strfind(string, "vk.com/freat_rp", false) != -1 || strfind(string, "samp-gta.ru", false) != -1) return false;

    if(!reklamka) reklamka= regex_build("(((\\w+):\\/\\/)|(www\\.|\\,|))+(([\\w\\.\\,_-]{2,}(\\s+|\\S+|)(\\s|\\.|\\,|[^0-9])(?i)(info|name|net|org|bg|бел|kg|fm|kz|ua|укр|com|рф|ru))|(([\\d]{1,3}(\\b))(\\s+|\\S+|)(\\.|\\,|\\s|[^0-9])(\\s+|\\S+|)[\\d]{1,3}(\\s+|\\S+|)(\\.|\\,|\\s|[^0-9])(\\s+|\\S+|)[\\d]{1,3}(\\s+|\\S+|)(\\.|\\,|\\s|[^0-9])(\\s+|\\S+|)[\\d]{1,3}))(((\\s+|\\S+|)(\\:|\\;|\\s)(\\s+|\\S+|)[\\d\\s]{2,}(\\b))|\\b)(\\/[\\w\\&amp\\;\\%_\\.\\/\\-\\~\\-]*)?");

    return regex_search_exid(string, reklamka);

}


При вводе данного текста: adwqogdawpldpmiah=w9,d,=um09jpmud9y0n-tbrec8wx65cer7bt89y=i-=p[oiuyuteyctruiyupioppiuytrectry9u-ip[poigcdxfjzj
Сервер крашится.
 
Последнее редактирование:

Behruz03

Интересующийся
Пользователь
Регистрация
28 Июн 2020
Сообщения
86
Лучшие ответы
0
Реакции
8
@Mike_Evan$, ссылку добавь в профиле
 

Behruz03

Интересующийся
Пользователь
Регистрация
28 Июн 2020
Сообщения
86
Лучшие ответы
0
Реакции
8
Замени на свое
Код:
    if(Rekl[playerid] == true && strfind(params[0],"www",true)!=-1 || Rekl[playerid] == true && strfind(params[0],".ru",true)!=-1
    || Rekl[playerid] == true && strfind(params[0],".net",true)!=-1 || Rekl[playerid] == true && strfind(params[0],".com",true)!=-1
    || Rekl[playerid] == true && strfind(params[0],"//htpp",true)!=-1 || Rekl[playerid] == true && strfind(params[0],"http",true)!=-1
     || Rekl[playerid] == true && strfind(params[0],"https",true)!=-1 || Rekl[playerid] == true && strfind(params[0],".org",true)!=-1
     || Rekl[playerid] == true && strfind(params[0],".su",true)!=-1)
    {
        f(string, "Система: Игрок %s получил затычку на 60 минут. Причина: Реклама",sendername(playerid));
        SendAll(C_KICK, string);
        Send(playerid,C_KICK,"Чтобы посмотреть срок затычки, введите "c_Blue"/time ");
        PlayerInfo[playerid][pMuted] = 1;
        PlayerInfo[playerid][pMuteTime] = 60*60;
        SaveAcc(playerid);
    }
 

Mike_Evan$

Интересующийся
Пользователь
Регистрация
27 Июн 2016
Сообщения
27
Лучшие ответы
0
Реакции
0
Адрес
vk.com/freat_rp
Замени на свое
Код:
    if(Rekl[playerid] == true && strfind(params[0],"www",true)!=-1 || Rekl[playerid] == true && strfind(params[0],".ru",true)!=-1
    || Rekl[playerid] == true && strfind(params[0],".net",true)!=-1 || Rekl[playerid] == true && strfind(params[0],".com",true)!=-1
    || Rekl[playerid] == true && strfind(params[0],"//htpp",true)!=-1 || Rekl[playerid] == true && strfind(params[0],"http",true)!=-1
     || Rekl[playerid] == true && strfind(params[0],"https",true)!=-1 || Rekl[playerid] == true && strfind(params[0],".org",true)!=-1
     || Rekl[playerid] == true && strfind(params[0],".su",true)!=-1)
    {
        f(string, "Система: Игрок %s получил затычку на 60 минут. Причина: Реклама",sendername(playerid));
        SendAll(C_KICK, string);
        Send(playerid,C_KICK,"Чтобы посмотреть срок затычки, введите "c_Blue"/time ");
        PlayerInfo[playerid][pMuted] = 1;
        PlayerInfo[playerid][pMuteTime] = 60*60;
        SaveAcc(playerid);
    }
Не поможет, если в тексте заменить одну цифру или букву все равно сервер упадет. Надо именно в этой строчке фиксануть:
Код:
  if(!reklamka) reklamka= regex_build("(((\\w+):\\/\\/)|(www\\.|\\,|))+(([\\w\\.\\,_-]{2,}(\\s+|\\S+|)(\\s|\\.|\\,|[^0-9])(?i)(info|name|net|org|bg|бел|kg|fm|kz|ua|укр|com|рф|ru))|(([\\d]{1,3}(\\b))(\\s+|\\S+|)(\\.|\\,|\\s|[^0-9])(\\s+|\\S+|)[\\d]{1,3}(\\s+|\\S+|)(\\.|\\,|\\s|[^0-9])(\\s+|\\S+|)[\\d]{1,3}(\\s+|\\S+|)(\\.|\\,|\\s|[^0-9])(\\s+|\\S+|)[\\d]{1,3}))(((\\s+|\\S+|)(\\:|\\;|\\s)(\\s+|\\S+|)[\\d\\s]{2,}(\\b))|\\b)(\\/[\\w\\&amp\\;\\%_\\.\\/\\-\\~\\-]*)?");
 
shape1
shape2
shape3
shape4
shape7
shape8
Сверху Снизу