ReHLDS/HLDS [4.5] Ultimate Chats Control

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.383
Симпатии
448
Пол
Мужской
#1
Автор: @neygomon
Текущая версия: 4.5

Особенности:

Ultimate Chats Control совмещает в себе функции четырех плагинов, таких как:
  1. GAG для админов
  2. Mute для игроков
  3. VoteGAG для игроков (отдельный плагин ucc_votegag)
  4. Chats by Stats
Требования:
  • VTC + ReAPI или VTC + VtcApi
  • MySQL
Доступные команды:
  • say /sorry - Функция "/sorry", чтобы извиниться перед администрацией
  • say /mute - Встроенная функция "/mute" для каждого игрока
  • amx_gagmenu - Меню админа для gag/ungag
  • uсc_flush - команда консоли сервера для очистки gag'ов без перезапуска сервера
Настройки:
C++:
#define DB_HOST "127.0.0.1"     // MySQL Host
#define DB_USER "root"        // MySQL User
#define DB_PASS ""        // MySQL Password
#define DB_NAME ""        // MySQL Name

#define CLEAR_PERIOD 30        // Через сколько дней удалять истекшие GAG'и из MySQL

#define SORRY                // Разрешить команду /sorry для извинения игроков
#define MUTEMENU            // Поддержка команды /mute
#define GAG_ACCESS    ADMIN_BAN     // Доступ к функциям гага
#define SORRYTIME     60        // Как часто можно пользоваться командой /sorry. Время в секундах
#define PREFIX        "UCC"         // Префикс в чате
#define SUPERADMIN    ADMIN_RCON    // Админ с флагом L может гагать других админов с иммунитетом

#define CHATS_BY_STATS            // Включает функции блокировки чата игрокам, которые не набрали N фрагов/опыта на сервере
#define VOICE_CONTROL_BY_STATS 0    // 0 - CSX    // 1 - CSSTATS MYSQL by SKAJIbnEJIb    // 2 - CSSTATSX SQL by serfreeman1337    // 3 - AES 0.5 Vega by serfreeman1337
#define BLOCK_TEXT_CHAT    // Блокировать текстовый чат и голосовой    // Если закомментировано - блокировуется только голос
#define BLOCK_CHATS_INFO    // Выводит в текстовый чат сообщение о том, что чат/чаты для игрока заблокированы
const MIN_FRAGS = 10;    // Минимальное количество фрагов для доступа к микро    // Для VOICE_CONTROL_BY_STATS 3 настройка принимает значение ранга юзера(начиная с 1)
const ADMIN_FLAG = ADMIN_IMMUNITY;    // Флаг доступа, для которого не будут работать функции CHATS_BY_STATS

new g_BlockTimes[] =     // Время блокировки GAG в минутах
{    5,    10,    30,    60,    180,    0 // навсегда
}

new g_AllowCommands[][] = // Разрешенные команды
{    "/me",    "/top15",    "/rank",    "/hp"
}

/* Словарь плагина */
#define MSG_SORRY_FLOOD     "^1[^4%s^1] ^3Прекратите флудить! ^4Повторно извиниться можно через ^3%d сек"
#define MSG_SORRY_ADMIN     "^1[^4%s^1] ^4Уважаемый ^3адмнистратор^4, игрок ^3%s ^4просит снять с него ^3GAG^4!"
#define MSG_CHAT_IS_BLOCKED     "^1[^4%s^1] ^4Уважаемый ^3%s^4, Ваш чат ^3заблокирован^4!"
#define MSG_BLOCK_EXPIRED_TIME     "^1[^4%s^1] ^4До разблокировки осталось ^1примерно ^3%d ^4мин."
#define MSG_BLOCK_EXPIRED     "^1[^4%s^1] ^4Время блокировки ^3истекло^4. ^1Подождите обновления информации ..."
#define MSG_SAY_SORRY         "^1[^4%s^1] ^4Чтобы извиниться, напишите в чат ^3/sorry^4. Возможно, разблокируют раньше :)"
#define MSG_CHAT_UNBLOCK_ALL     "^1[^4%s^1] ^4Игроку ^3%s ^4был разблокирован чат администратором ^3%s"
#define MSG_CHAT_UNBLOCK_PL     "^1[^4%s^1] ^4Уважаемый ^3%s^4, администратор ^3%s ^4снял с Вас блокировку чата"
#define MSG_CHAT_BLOCK_ALL     "^1[^4%s^1] ^4Администратор ^3%s ^4заблокировал чат игроку ^3%s ^1%s"
#define MSG_CHAT_BLOCK_PL     "^1[^4%s^1] ^4Уважаемый ^3%s^4, администратор ^3%s ^4заблокировал Вам чат ^1%s"
#define MSG_MUTE_ALL_PLAYERS     "^1[^4%s^1] ^4Вы установили mute на ^3всех ^4игроков."
#define MSG_UNMUTE_ALL_PLAYERS     "^1[^4%s^1] ^4Вы сняли mute со ^3всех ^4игроков."
#define MSG_UNMUTE_PLAYER     "^1[^4%s^1] ^4Вы сняли ^3mute ^4с игрока ^3%s^4."
#define MSG_MUTE_PLAYER     "^1[^4%s^1] ^4Вы установили ^3mute ^4на игрока ^3%s^4."
#define MSG_BLOCK_CHATS0    "^1[^4%s^1] ^4Доступ к текстовому и голосовому чатам ^3закрыт^4!"
#define MSG_BLOCK_CHATS1    "^1[^4%s^1] ^4Доступ к голосовому чату ^3закрыт^4!"
#define MSG_BLOCK_CHATS2    "^1[^4%s^1] ^4Необходимо получить уровень ^3%s!"
#define MSG_BLOCK_CHATS3    "^1[^4%s^1] ^4Необходимо набрать ^3%i^1/^3%i ^4фрагов"
API:
C++:
native ucc_is_client_gaged(index); // return 1 - GAG; 0 - noGAG; -1 - disconnected
native ucc_set_client_gag(index, admin, blocktime); // noreturn
native ucc_is_client_muted(index, player); // return 1 - Mute; 0 - noMute;
native ucc_set_client_muted(index, player, set_mute); // noreturn
Плагин взят с dev-cs
 

Вложения

Последнее редактирование: Vesuvius

Molodoi

Команда форума
Модератор
Регистрация
14 Июн 2017
Сообщения
461
Симпатии
78
#2
А возможно ли как то сделать так чтоб записывались муты не в БД MySQL, а в локальные файлы то есть через sqlite например?
 

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.383
Симпатии
448
Пол
Мужской
#3
Molodoi, вроде нет.. только под MySQL
 

hyrik

Постоялец
Регистрация
18 Июл 2017
Сообщения
151
Симпатии
31
Пол
Мужской
#4
[3.2] Ultimate Chats Control
  • Добавлены причины гагов( настраивается в исходнике )
  • Переделано API с учетом причин
  • Небольшой рефакторинг кода
  • Исправлена работа плагина UCC_VoteGAG
  • Добавлен пример работы API плагина UCC
  • ВАЖНО!!! При обновлении на данную версию обязательно удалите таблицу ucc_gag в БД!
 

Вложения

hyrik

Постоялец
Регистрация
18 Июл 2017
Сообщения
151
Симпатии
31
Пол
Мужской
#5
  • [3.3] Ultimate Chats Control
  • Исправлена критическая ошибка при выдаче GAG'а, приводящая к крашу сервера при некоторых обстоятельствах
  • Убраны лишние debug логи
 

Вложения

kasperch1k

Постоялец
Регистрация
8 Июн 2017
Сообщения
166
Симпатии
42
Пол
Мужской
#6
Обновите пост уже вышла версия 3.4
### Обновлен первый пост ###
  • Исправлено построение меню...
    • Иногда игроки с длинными никами могли "сломать" пункты в меню
 

Вложения

pavel_a

Пользователь
Регистрация
30 Авг 2017
Сообщения
331
Симпатии
46
Пол
Мужской
#8
кто нибудь тестил данный плагин? хочу залить его на свой паблик,решил посоветоваться чтобы не ломать свою систему.
 

trollface

Пользователь
Регистрация
13 Янв 2018
Сообщения
7
Симпатии
1
#11
kasperch1k, глупый, сливать то не разрешал никто ;)

ps Опять нету ссылок на источник... ahahaha
Вас жизнь ничему не учит что ли?
13 Янв 2018
Продублирую сюда, для отморозков(можно читать сразу ласт строку):
1515831298961.png
 

trapmaniak

Пользователь
Регистрация
8 Июл 2017
Сообщения
26
Симпатии
0
Пол
Мужской
#13
не работает плагин помогите
L 01/13/2018 - 16:40:55: [AMXX] Invalid Plugin (plugin "ucc.amxx")
L 01/13/2018 - 16:40:55: [AMXX] Plugin "ucc_api_example.amxx" failed to load: Plugin uses an unknown function (name "ucc_set_client_gag") - check your modules.ini.
L 01/13/2018 - 16:40:55: [AMXX] Plugin "ucc_votegag.amxx" failed to load: Plugin uses an unknown function (name "ucc_set_client_gag") - check your modules.ini.
 

trollface

Пользователь
Регистрация
13 Янв 2018
Сообщения
7
Симпатии
1
#14
georgeml, боюсь спросить, что ты там 15 минут делал? :DD
зы equal(g_BlockInfo[plr][adminSteam], auth) суперговно решение
 

georgeml

Пользователь
Регистрация
12 Сен 2017
Сообщения
212
Симпатии
63
#15
trollface, Да ты не бойся, спрашивай.. 10 минут логику твоего творения понимал..
И, по крайней мере, не отмазывался, мол- сложно, надо из бд еще Целое одно значение читать..
И сделай ребятам использование без реапи, а то вон, видишь, жалуются, а не поймут в чем дело.
В твоем стиле обосрать стандартные функции сравнения... не удивил.
 

trollface

Пользователь
Регистрация
13 Янв 2018
Сообщения
7
Симпатии
1
#16
georgeml, ну да, ты то гениален:
adminSteam[REASON_LENGTH/2]

делить длину причины на 2 для steamid.
ставим хотя бы 40 в REASON_LENGTH и ты пойдешь нахуй со своим кодом.

а, ну и еще, equal не самое быстрое для такого решения.
ну и последнее, там можно выключить реапи просто удалив инклюды или удалить строку #tryinclude <reapi>

если у кого то не хватило знаний - извиняйте
 

georgeml

Пользователь
Регистрация
12 Сен 2017
Сообщения
212
Симпатии
63
#17
ставим хотя бы 40 в REASON_LENGTH и ты пойдешь нахуй со своим кодом
Так это не я пойду, а тот, кто свои же константы меняет

просто удалив инклюды или удалить строку #tryinclude <reapi>
Ты сам то в это веришь?

если у кого то не хватило знаний - извиняйте
Извиняю. Думаю, подрастешь- наберешься знаний.

Да и, вроде, не спрашивал, зачем тебе
Код:
g_szQuery[2048]
, если там максимум 500 выйдет.. Побереги память людям..
 
Последнее редактирование: georgeml

Vesuvius

НЕ СКРИПТЕР!!!
Команда форума
Администратор
Регистрация
8 Июн 2017
Сообщения
1.383
Симпатии
448
Пол
Мужской
#19
trapmaniak, обновите реапи... и компелируйте плагин также на последнем реапи
 

trollface

Пользователь
Регистрация
13 Янв 2018
Сообщения
7
Симпатии
1
#20
Последнее редактирование: trollface