qrlk

Известный
Автор темы
Друг
411
928
Описание: Думаю, что многих раздражают объявления на RolePlay серверах. Они отвлекают внимание и в большинстве случаев просто бесполезны. Мой ADBLOCK был создан для решения этой проблемы.

Скрипт поддерживает Samp-Rp, Evolve-Rp, Advance RP, Diamond RP, Arizona RP, Trinity RP и ImperiaL RPG:

  • ADBLOCK блокирует показ объявлений в чате.
  • ADBLOCK заносит обработанные объявления в специальный диалог, в котором можно посмотреть ВСЕ объявления / найти нужное из всех по запросу.
  • ADBLOCK блокирует спам от СМИ (свободная строка, эфир и тп)
  • ADBLOCK блокирует дубликаты объяв.
  • ADBLOCK распознает категорию объявления и красит в специальный цвет ("куплю" желтым, "продам" зелёным и так далее).
  • ADBLOCK даёт возможность быстро ответить на объяву смской (если игрок онлайн).
  • ADBLOCK отображает в заголовке активность каждого News и статистику блокирования.
  • ADBLOCK может запустить удобный флудер /ad.

SRP

Evolve

Advance

Diamond

Arizona

Trinity

ImperiaL
Скрывает объявы?

Да​

Да​

Да​

Да​

Да​

Да​

Да​
Красит объявы по категориям?

Да​

Да​

Частично​

Частично​

Частично​

Частично​

Частично​
Считает активность каждого СМИ?

Да​

Да​

Да​

Частично​

Да​

Нет​

Нет​
Блокирует спам от News?

Да​

Да​

Нет​

Нет​

Нет​

Нет​

Нет​
Блокирует дубликаты?

Да​

Да​

Да​

Да​

Да​

Нет​

Да​
Поиск по базе объявлений?

Да​

Да​

Да​

Да​

Да​

Да​

Да​
Флудер подаёт объявы?

Да​

Да​

Нет​

Нет​

Нет​

Нет​

Нет​
Отправляет смс/пм?

Да​

Да​

Наверное​

Наверное​

Нет​

Наверное​

Наверное​
[TBODY] [/TBODY]
Gwk6Y1t.jpg

uRzSTLD.jpg

yi8bap0.jpg

W5hOHsv.jpg

bPktvU7.jpg

F6sZhYh.jpg

DQse6aG.jpg
oYtKtN4.jpg
bSwQvh4.jpg
ohb11Sk.jpg
2tqvAXT.jpg
BRwqKna.jpg
CMVCwmb.jpg

Требования: CLEO 4+, SAMPFUNCS 5.3.3, MoonLoader, SAMP.Lua.
GitLab: click me.
Активация: Скрипт активируется автоматически. У скрипта нет настроек, поэтому автообновление и уведомление при входе можно отключить только вручную, вырезав блокнотом по линии в коде.
  • /ads - открыть диалог скрипта.
  • /tads - вкл/выкл скрытия объяв.
Автор: qrlk.
В группе VK: ссылка.

Если скрипт умирает, обязательно отпишите тут или в группе, приложив к посту файл moonloader.log.
 

Вложения

  • !adblock.lua
    34.4 KB · Просмотры: 1,851
Последнее редактирование:

Romzett1337

Новичок
15
0
Привет.
Как под такой вид обьявлений адаптировать твой скрипт?
[Реклама] Куплю наркотики 1кг писать в пм. [Отправил]: Romzett[57]
 

Alfinity

Известный
94
53
Если объявление повторяется, то оно все равно заносится в диалог, исключи это, там самым повысив кол-во уникальных объявлений.
 
  • Нравится
Реакции: AnWu

qrlk

Известный
Автор темы
Друг
411
928
Привет.
Как под такой вид обьявлений адаптировать твой скрипт?
[Реклама] Куплю наркотики 1кг писать в пм. [Отправил]: Romzett[57]
Напиши мне в пм IP сервера, я переделаю под него.
Если объявление повторяется, то оно все равно заносится в диалог, исключи это, там самым повысив кол-во уникальных объявлений.
Сделаем.
 

qrlk

Известный
Автор темы
Друг
411
928
Обновил скрипт до v1.6:
  • Теперь из /ads можно узнать какая редакция отправила больше всего объявлений (на случай, если нужно подать объяву).
    MZdbOkK.jpg
  • Теперь дубликатов не будет в /ads. Если текст объявления такой же, но ник подавшего другой, то за дубликат не считает.
  • Теперь скрипт игнорирует распространённый спам по типу "Переключайтесь", "Эфир", "101.1 FM" и прочее.
Обновление пройдет автоматически.
 

Вложения

  • !adblock.lua
    6 KB · Просмотры: 63
  • Нравится
Реакции: Lightkiller

qrlk

Известный
Автор темы
Друг
411
928

Вложения

  • !adblock imperial rpg.lua
    4.1 KB · Просмотры: 23
Последнее редактирование:

kizn

\ 0 _ 0 /
Всефорумный модератор
2,407
2,108
Сделай для аризоны, плз
 

qrlk

Известный
Автор темы
Друг
411
928
Обновил скрипт до v1.7:
  • Добавил довольно удобный флудер /ad, потому что могу.
    MpIwDim.jpg

    wgNqhoL.jpg

    ouBGhrb.jpg

    F6sZhYh.jpg
  • Теперь в заголовке /ads отображается статистика работы ADBLOCK: отношение количества заблокированных дубликатов/спама ко всем объявлениям.
Обновление пройдет автоматически.
 

AnWu

Известный
Всефорумный модератор
4,777
5,400
Можно еще инфу по объяве добавить. При выборе сообщения херачить диалог с инфой подробной, две кнопки "Сообщение" и "Закрыть". Вести стату как давно отправлено, столько дубликатов заблокировано "Дубликатов: 15".

Lua:
not string.find(text, "101.1") and not string.find(text, "102.2") and not string.find(text, "103.3")
Братик ненадо так. Кстати тут ты даже не отключил регулярки. Тоесть точка равно любому символу). Я вот когда работал ньюс часто писал объяву и добавлял 103.3 FM если хватало места.
 
Последнее редактирование модератором:
  • Нравится
Реакции: Laine_prikol

qrlk

Известный
Автор темы
Друг
411
928
Можно еще инфу по объяве добавить. При выборе сообщения херачить диалог с инфой подробной, две кнопки "Сообщение" и "Закрыть". Вести стату как давно отправлено, столько дубликатов заблокировано "Дубликатов: 15".
Я думаю это бесполезно, поскольку дубликаты - вещь редкая, чаще всего ньюсы редачат по-разному, например: "Продам дом [С]" и "Продам домик [С]" - два разных объявления. Была идея определять дубликаты, вычисляя коэффициент сходства двух строк, но там есть свои нюансы. Дубликатов много только у рекламы News, которая блокируется и так)
В планах заносить каждую объяву в том виде, в каком она вносится в диалог, в массив. После этого можно будет запилить поиск / выделять цветом "куплю"/"продам"/"СТО"/"Ферма" и так далее.
Lua:
not string.find(text, "101.1") and not string.find(text, "102.2") and not string.find(text, "103.3")
Братик ненадо так. Кстати тут ты даже не отключил регулярки. Тоесть точка равно любому символу). Я вот когда работал ньюс часто писал объяву и добавлял 103.3 FM если хватало места.
Не знал, что точка это любой символ, думал там *, оставлю только FM.
Сделай для аризоны, плз
Сделай для Trinity rp.
В свободное время перепишу скрипт под популярные серваки таким образом, чтобы он выбирал режим работы исходя из IP. Да и вообще код открыт, можно и самим было переделать.
 
  • Нравится
Реакции: Сэнд

AnWu

Известный
Всефорумный модератор
4,777
5,400
Я думаю это бесполезно, поскольку дубликаты - вещь редкая, чаще всего ньюсы редачат по-разному, например: "Продам дом [С]" и "Продам домик [С]" - два разных объявления. Была идея определять дубликаты, вычисляя коэффициент сходства двух строк, но там есть свои нюансы. Дубликатов много только у рекламы News, которая блокируется и так)
В планах заносить каждую объяву в том виде, в каком она вносится в диалог, в массив. После этого можно будет запилить поиск / выделять цветом "куплю"/"продам"/"СТО"/"Ферма" и так далее.

Не знал, что точка это любой символ, думал там *, оставлю только FM.
(.*) - Точка - любой символ. Звездочка говорит что этот символ может повторяться или вовсе отсутствовать. Почитай о регулярках. string.find по уполчанию включает регулярки аналогичные string.match, о функции тоже почитай,3 или 4 аргумент в false и регулярок нет, будет искать строку "как есть".
 

qrlk

Известный
Автор темы
Друг
411
928
Обновил скрипт до v2.0:
  • Исправил недочёт, связанный со спамом.
  • Исправил статистику заблокированных объяв, теперь она должна работать корректно.
  • Исправил баг на Evolve, когда скрипт вылетал из-за похуизма разработчиков вольво (у них не стоял огран по символам для новостников).
    Объявление: Имеете опыт в сфере новостей и хотите много зарабатывать? Мы ждем вас у офиса! Наши сотрудники уже получают премии от 100 тыс. При
  • Добавил поддержку ещё 6 серверов. При запуске игры скрипт определяет ваш сервер и переключается в режим для работы с ним. Если сервера нет в списке, скрипт выгружается.
  • На каждом сервере разный функционал:
    SRP
    Evolve
    Advance
    Diamond
    Arizona
    Trinity
    ImperiaL
    Скрывает объявы?
    Да​
    Да​
    Да​
    Да​
    Да​
    Да​
    Да​
    Красит объявы по категориям?
    Да​
    Да​
    Частично​
    Частично​
    Частично​
    Частично​
    Частично​
    Считает активность каждого СМИ?
    Да​
    Да​
    Да​
    Частично​
    Да​
    Нет​
    Нет​
    Блокирует спам от News?
    Да​
    Да​
    Нет​
    Нет​
    Нет​
    Нет​
    Нет​
    Блокирует дубликаты?
    Да​
    Да​
    Да​
    Да​
    Да​
    Нет​
    Да​
    Поиск по базе объявлений?
    Да​
    Да​
    Да​
    Да​
    Да​
    Да​
    Да​
    Флудер подаёт объявы?
    Да​
    Да​
    Нет​
    Нет​
    Нет​
    Нет​
    Нет​
    Отправляет смс/пм?
    Да​
    Да​
    Наверное​
    Наверное​
    Нет​
    Наверное​
    Наверное​
    [TBODY] [/TBODY]
  • Добавил поиск по базе объявлений (за сеанс). К регистру не чувствителен.
    yi8bap0.jpg
    W5hOHsv.jpg
Обновление пройдет автоматически.

3 или 4 аргумент в false и регулярок нет, будет искать строку "как есть".
Наоборот)
 

AnWu

Известный
Всефорумный модератор
4,777
5,400
string.find (s, pattern [, init [, plain]])

Ищет первое вхождение шаблона pattern в строку s. Если поиск успешен, то find возвращает индексы s где найдено совпадение с шаблоном, т.е. где начинается и кончается; иначе возвращает nil. Третий, необязательный числовой параметр init указывает откуда начинать поиск; по умолчанию он равен 1, также он может быть отрицательным. Значение true в четвертом, необязательном параметре plain выключает возможность поиска по шаблону, в этом случае производится поиск подстроки как есть, т.е. считается, что она не содержит «шаблонных» ("magic") симолов. Помните, что если указан параметр plain, то параметр init должен быть указан тоже.
Справочное руководство по языку Lua 5.1 :: 5.4 - Обработка таблиц(http://www.lua.ru/doc/5.4.html)

UPS: Выше описался, не false а true)