Автор: mx?!
Игроки вашего сервера бесплатно смогут получить заранее заданные флаги доступа с ограниченным сроком действия. Выдача осуществляется по SteamID'у, однократно. При этом повторное получение флагов доступа на тот же SteamID исключено.
Команды:
Игроки вашего сервера бесплатно смогут получить заранее заданные флаги доступа с ограниченным сроком действия. Выдача осуществляется по SteamID'у, однократно. При этом повторное получение флагов доступа на тот же SteamID исключено.
Команды:
- say /vip - получить привилегии или проверить их статус
JavaScript:
// MaxPlayers + 1
#define MAXSIZE 33
// Какие привилегии выдавать (можно указать несколько, напр. ADMIN_IMMUNITY|ADMIN_RESERVATION|ADMIN_LEVEL_A)
#define VIP_FLAG ADMIN_LEVEL_H
// На сколько дней выдавать привилегии
#define TRIAL_DAYS 31
// 0 и менее - Отключить проверку флагов
// 1 - Блокировать выдачу привилегий игрокам, у которых ОТСУТСТВУЕТ флаг FLAG_TO_CHECK
// 2 и более - Блокировать выдачу привилегий игрокам, у которых ИМЕЕТСЯ флаг FLAG_TO_CHECK
#define CHECK_METHOD 0
/* Флаг для CHECK_METHOD (при значении 0 последнего роли не играет)
При CHECK_METHOD 1:
Пример отсечения всех игроков, получающих флаги от других плагинов:
Обычно игроки без привилегий имеют 'z', а те, кто имеет что-либо, этого флага лишены.
Соотвественно, если у игрока есть привилегии (выдал другой плагин), то здесь мы VIP ему не выдаём
Проверьте квар 'amx_default_access', и если там другой флаг, - задайте его здесь
При CHECK_METHOD 2:
Если у игрока есть указанный флаг то VIP он не получает.
*/
// По аналогии с VIP_FLAG можно указать несколько флагов.
// Если у игрока будет обнаружен любой из них, - сработает допуск/отсечение (в зависимости от значения CHECK_METHOD)
#define FLAG_TO_CHECK ADMIN_USER // ADMIN_USER == 'z', см. amxconst.inc
// Снимать ли с игрока имеющиеся у него флаги перед выдачей VIP
// Если отключить, то VIP-флаги приплюсуются к уже имеющимся флагам
#define REMOVE_FLAGS 0 // Меньше 1, - отключить
// Способ отслеживания смены ника
// 0 - amxmodx, 1 - fakemeta, 2 - reapi (трубует одноимённый модуль)
// Если способ 1 или 2 у вас не работает (не отлавливает смену ника), попробуйте в plugins.ini
// поставить плагин выше других плагинов, отлавливающих смену ника
#define CHECK_NAME_TYPE 0
// Регистрация say-команды в различных вариациях: say, say_team, '/', и '.' (меньше 1, - отключить)
#define EXTENDED_SAYCMD 1
// Интервал (в минутах) страховочного сохранения списка
// Пригодится владельцам часто "падающих" серверов, на которых подолгу играется одна и та же карта
// Без особой необходимости использовать не рекомендуется
#define SAVE_INTERVAL 0 // (меньше 1, - отключить)
// Записи старше указанного кол-ва месяцев удаляются из хранилища (меньше 1, - отключить)
#define PRUNE_MONTHS 12
// Имя хранилища (директория хранения: addons/amxmodx/data/vault)
#define VAULT_NAME "trial_vip"
// Задержка в секундах (0.5 = половина сек.) перед проверкой наличия игрока в списке (вход на сервер, смена имени)
// Повысьте значение при конфликте с установкой флагов в других плагинах
#define CHECK_DELAY 0.2 // Менять значение без необходимости не рекомендуется
/* --- НАСТРОЙКИ ЗВУКОВ --- */
// Если вы собираетесь использовать нестандартные звуки, то не забывайте о том,
// что их необходимо помещать в прекеш. Для этого установите USE_PRECACHE и
// раскомментируйте (удалите '//') рядом с необходимым вам звуком в plugin_precache().
// Найти данную функцию вы сможете в самом низу данного файла.
#define USE_PRECACHE 0 // (меньше 1, - отключить)
// Звук, сопровождающий ошибку получения привилегий, - когда игрок
// уже получал таким образом привилегии, или если он не может их
// получить из-за несоответствия требованиям CHECK_METHOD
new const NOTICE_SOUND[] = "events/friend_died.wav"
// Звук, сопровождающий успешное получение привилегий
new const GET_SOUND[] = "events/tutor_msg.wav"
/* --- НАСТРОЙКИ ЧАТ-СООБЩЕНИЙ --- */
/*
* Стандартный цвет
* Цвет команды
* Зеленый цвет
*/
// Сообщения при информировании об истёкших привилегиях
#define EXPIRED_MSG_1 "* Срок действия VIP-привилегий уже истек"
#define EXPIRED_MSG_2 "* Полная стоимость VIP-привилегий составляет 100 рублей"
#define EXPIRED_MSG_3 "* Для покупки обращайтесь в нашу группу vk.com/ruscscom"
// Сообщение о наличии активных привилегий
#define ALREADY_HAVE_MSG "* Вы уже имеете VIP-привилегии сроком до"
// Сообщение о невозможности выдачи прав из-за наличия посторонних флагов
#define HAVE_EXTERNAL_MSG "* У Вас уже имееются сторонние привилегии, участие в акции невозможно"
// Сообщение об успешном получении привилегий
#define GET_MSG "* Вы получили VIP-привилегии сроком до"
// Информация об использовании (выводится вместе с ALREADY_HAVE_MSG и GET_MSG)
#define USAGE_MSG_1 "* Введите в чате /vipmenu или /pguns для покупки оружия"
#define USAGE_MSG_2 "* Используйте бинд bind ^"Клавиша^" ^"say /vipmenu ^" для быстрого доступа к меню"