Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Simple Anti-Ad

, плагин анти-реклама
Статус пользователя Pulse
сообщение 17.7.2015, 14:36
Сообщение #1


Стаж: 8 лет 9 месяцев

Сообщений: 191
Благодарностей: 58
Полезность: < 0

Simple Anti-Ad 0.1

Автор: Mati

Простенький плагин c небольшим количеством строк в коде, который предназначен для блокировки рекламы, которую любят разносить спамеры.
Если кто то с игроков к примеру в чат написал IP адрес своего сервера, или адрес сайта, плагин мгновенно блокирует сообщение.
Сообщения от админов будут проигнорированы.

Установка:
1. Скинуть файл antiad.amxx в cstrike/addons/amxmodx/plugins
2. Прописать antiad.amxx в cstrike/addons/amxmodx/configs/plugins.ini

Cкриншот


► Источник: alliedmods

Отредактировал: Pulse, - 17.7.2015, 16:45
Прикрепленные файлы:
Прикрепленный файл  antiad.sma ( 997 байт ) Кол-во скачиваний: 380
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 5 раз
   Цитировать сообщение
Статус пользователя Andrey777best
сообщение 1.8.2015, 22:35
Сообщение #2


Стаж: 11 лет
Город: Харьков

Сообщений: 1191
Благодарностей: 144
Полезность: 1

Кто может добавить цветной чат и сделать чтобы по флагам игнорились сообщения от админа?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Andrey777best
сообщение 2.8.2015, 9:27
Сообщение #3


Стаж: 11 лет
Город: Харьков

Сообщений: 1191
Благодарностей: 144
Полезность: 1

Как правильно сделать админа по флагам? Сделал все так, но не блочит рекламу, пишу и без админки и с админкой...
Код:
        #include <amxmodx>
#include <amxmisc>
#include <regex>
#include <WPMGPrintChatColor>
new Regex:re, ret;

public plugin_init() {
register_plugin("Anti-Ad", "0.1", "Mati");
register_clcmd("say", "CheckMessage");
register_clcmd("say_team", "CheckMessage");

new err[32];
re = regex_compile("(?:\w+\.[a-z]{2,4}\b|(?:\s*\d+\s*\.){3})", ret, err, 31, "i");
if (re!=REGEX_OK) server_print("Error: %s (%d)", err, ret);
}

public CheckMessage(id) {
if (id > 0 && id < 33 && !get_user_flags(id) & ADMIN_CVAR) {
new text[64];
read_args(text,63);

if (strlen(text) > 4) {
new match = regex_match_c(text, re, ret);

if (match > 0) {
PrintChatColor(id, PRINT_COLOR_PLAYERTEAM, "!y[!tСервер|18+|!y] !gРеклама на сервере запрещена!");
return PLUGIN_HANDLED;
}
}
}
return PLUGIN_CONTINUE;
}

public plugin_end() {
regex_free(re);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3079\\ f0\\ fs16 \n\\ par }
*/

Когда так делаю, то все нормально работает, админов всех игнорит...
Код:
    if (id > 0 && id < 33 && !is_user_admin(id)) {
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя s0oZ
сообщение 2.8.2015, 9:45
Сообщение #4
Стаж: 12 лет

Сообщений: 16
Благодарностей: 3
Полезность: 0

Andrey777best, !get_user_flags(id) & ADMIN_CVAR ---> !(get_user_flags(id) & ADMIN_CVAR)

Andrey777best , !get_user_flags(id) & ADMIN_CVAR ---> !(get_user_flags(id) & ADMIN_CVAR)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
NoSteam
сообщение 13.10.2016, 17:48
Сообщение #5
Стаж: 7 лет 6 месяцев

Сообщений: 95
Благодарностей: 18
Полезность: < 0

Частенько встречаю рекламу такого рода: MoLlLHble CepBepa 1slot-15rub,nJlaruH Ha 3aKa3-ICQ****** как сделать чтобы этот плагин её блокировал?

Отредактировал: NoSteam, - 13.10.2016, 17:49
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 13.10.2016, 19:36
Сообщение #6


Стаж: 10 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

NoSteam, такого рода строки регуляркой в одну строку резать проблемно, заменишь пару символов и пропустит.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
NoSteam
сообщение 13.10.2016, 22:26
Сообщение #7
Стаж: 7 лет 6 месяцев

Сообщений: 95
Благодарностей: 18
Полезность: < 0

Цитата(Bloo @ 13.10.2016, 20:36) *
NoSteam, такого рода строки регуляркой в одну строку резать проблемно, заменишь пару символов и пропустит.

та можно всё сделать, если бы здесь оказался знающий человек, раз плагин чистит спам сайтов и ип адрес серверов, то можно сделать блок и той рекламы что я выше описал, главное - желания и умения

Отредактировал: NoSteam, - 13.10.2016, 22:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 13.10.2016, 22:38
Сообщение #8


Стаж: 10 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

NoSteam, сайт, а тем более IP вычислить regex'ом, нефиг делать, готовых правил пруд пруди.
Текстовые сообщения, тем более транслитом, тем более с возможной подменой символов, неодинаковой длинной UIN, и разными стилями написания. У вас регулярка выйдет по которой можно будет доехать до кидая и обратно.
В таких случаях наиболее эффективна защита от флуда.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: