Online Logger

amxx reapi Online Logger 1.0.3

Нет прав для скачивания
Установка
  1. Отредактируйте словарь online_logger.txt по своему вкусу
  2. Скопируйте словарь в директорию /amxmodx/data/lang/
  3. Откройте online_logger.sma и настройте его по своему вкусу (раздел "Настройки")
  4. Скомпилируйте плагин (инструкция).
  5. Скопируйте скомпилированный online_logger.amxx в директорию /amxmodx/plugins/
  6. Пропишите online_logger.amxx в файле /amxmodx/configs/plugins.ini (желательно ниже антифлуд-контроля)
  7. Если вы хотите учитывать только игровое время (за террортистов, за контр-террористов), то повторите пункты 4-6 для real_game_time.sma
  8. Смените карту или перезапустите сервер
  9. Отрерактируйте конфиг plugin-online_logger.cfg в папке /amxmodx/configs/plugins/
  10. Снова смените карту, чтобы настройки из конфига вступили в силу
Настройки
Квары:
Код:
// Флаги (требуется любой из) для логирования онлайна игрока
ol_log_flags "d"

// Флаги (требуется любой из) для исключения игрока из логирования онлайна (оставить пустым для отключения)
ol_ignore_flags ""

// Флаги (требуется любой из) для квара ol_clcmd_mode
// -
// Default: ""
ol_clcmd_flags ""

// Режим клиентской команды:
// 0 - Отключить команду
// 1 - Квар ol_clcmd_flags не играет роли
// 2 - Разрешить команду игрокам, имеющим любой флаг из квара ol_clcmd_flags
// 2 - Запретить команду игрокам, имеющим любой флаг из квара ol_clcmd_flags
ol_clcmd_mode "1"

// Адрес FastDL (требуется зеркальный режим отдачи! Оставьте пустым, если не уверены)
ol_fastdl_url ""
Настройки в исходнике:
Код:
/* ---------------------- НАСТРОЙКИ ---------------------- */

// Создавать конфиг с кварами в 'configs/plugins', и запускать его?
#define AUTO_CFG

// Лимит выборки записей из хранилища при генерации списка
const ACCOUNT_LIMIT = 256 // Увеличить, если в списке появится соответствующий запрос

// Флаг доступа к функции ручного создания лога (впоследствии можно поменять в amxmodx/configs/cmdaccess.ini)
const ACCESS_FLAG = ADMIN_RCON // ADMIN_RCON == 'l', см. amxconst.inc

// Команда ручной генерации лога
new const FORCE_CMD[] = "amx_make_log"

// Список клиентских команд просмотра собственного времени онлайна
new const CLCMDS[][] = {
    "say /myonline"
}

// Имя-шаблон (без расширения) для создаваемых логов админ-онлайна
new const LOG_PREFIX[] = "" // при таком варианте имя будет иметь вид %ГОД%_%НОМЕР_МЕСЯЦА%.%LOG_EXT%
//new const LOG_PREFIX[] = "month_" // month_%ГОД%_%НОМЕР_МЕСЯЦА%.%LOG_EXT%

// Постфикс, добавляемый после номера месяца при генерации списка в ручном режиме
new const MANUAL_POSTFIX[] = "_manual" // %ГОД%_%НОМЕР_МЕСЯЦА%_manual.%LOG_EXT%

// Расширение для логов админ-онлайна
// Теоретически FASTDL может не позволять скачивать файлы конкретного расширения из
//     конкретных директорий. Экспериментируйте с комбинациями, подбирайте под себя.
new const LOG_EXT[] = ".html"
//new const LOG_EXT[] = ".dat" // Работает на MultiPlay при #define LOGS_DIR "online_logs"
//new const LOG_EXT[] = ".bsp" // Пс, парень, хочешь обмануть FASTDL?

// Путь+имя папки, в которой будут размещаться логи админ-онлайна
// Папка создаётся автоматически в момент создания лога, однако, я настоятельно
// рекомендую создать её вручную, и выставить доступ на запись
new const LOGS_DIR[] = "online_logs" // В корне мода (cstrike)
//new const LOGS_DIR[] = "addons/amxmodx/logs/online_logs"
//new const LOGS_DIR[] = "maps/online_logs"

// Имя хранилища (addons/amxmodx/data/vault/%NAME%.vault)
new const VAULT_NAME[] = "online_logs"

// Имя файла (с расширением), хранящего порядковый номер текущего месяца (addons/amxmodx/data/%NAME%)
new const DATE_FILE_NAME[] = "ol_date.txt"
API
Код:
enum _:ADS_STRUCT {
    ADS__AUTHID[MAX_AUTHID_LENGTH],
    ADS__FLAGS,
    ADS__FIRST_NAME[MAX_NAME_LENGTH],
    ADS__LAST_NAME[MAX_NAME_LENGTH],
    ADS__FIRST_DAY,
    ADS__LAST_DAY,
    ADS__UNIQUE_DAYS,
    ADS__TIME
};

/**
* Called before account with non-zero online will be added to list.
*
* @return      PLUGIN_CONTINUE to allow adding to list
*              PLUGIN_HANDLED to prevent adding to list
*/
forward OnlineLogger_OnAddingInList(const eAccountData[ADS_STRUCT], bool:bAutoGen);

/**
* Called before account with zero online will be added to list.
*
* @return      PLUGIN_CONTINUE to allow adding to list
*              PLUGIN_HANDLED to prevent adding to list
*/
forward OnlineLogger_OnAddingZeroAcc(const szAuthID[], iAccessFlags, bool:bAutoGen);

/**
* Called to request player session online time (so you can use your own logic for it).
*
* @return      PLUGIN_CONTINUE to let system use default logic (get_user_time() native)
*              PLUGIN_HANDLED to use your own value (you must set iSessionTime)
*/
forward OnlineLogger_RequestSessionTime(pPlayer, &iSessionTime);
Сверху Снизу