• Уважаем(ый/ая) Гость! Все скрипты, стили, дополнения и статьи старайтесь размещать в ресурсах.
CSstatsX SQL / Статистика в БД MySQL

AmxModX CSstatsX SQL / Статистика в БД MySQL 0.7.4

Нет прав для скачивания
Запись игровой статистики Counter-Strike в БД MySQL или SQLite.
CSstatsX SQL 0.7.4
  • В архиве присутствуют готовые плагины с поддержкой потоковых запросов (csxmysql_amxx_statsx.zip)
Квары можно прописывать в amxx.cfg или server.cfg.

Код:
csstats_sql_host "localhost" // хост БД MySQL
csstats_sql_user "root" // пользователь БД MySQL
csstats_sql_pass "" // пароль БД MySQL
csstats_sql_db "amxx" // название БД.
csstats_sql_table "csstats" // название таблицы.

csstats_sql_type "mysql" // тип используемой базы данных.
// mysql - база данных MySQL.
// sqlite - локальная база данных SQLite.

csstats_sql_create_db "1" // автоматическое создание таблицы в БД.
//    0 - не отправлять запрос.
//   1 - отправлять запрос при загрузке карты.

csstats_sql_update "-1" // как обновлять статистику игрока в БД
//    -2 - при смерти и дисконнекте
//    -1 - в конце раунда и дисконнекте
//    0 - при дисконнекте
//    * значение больше 0 - через указанное кол-во секунд и дисконнекте

csstats_sql_forwards "0" // включить собственные форварды для client_death, client_damage
//    0 - выключить
//   1 - включить, необходимо, если csstats_sql используется в качестве замены модуля

csstats_sql_rankformula "0" // формула расчета позиции игрока
//    0 - убийства - смерти - тк
//    1 - убийства
//    2 - убийства + хедшоты
//    3 - скилл
//    4 - время онлайн.

csstats_sql_skillformula "0" // формула расчета скилла
//    0 - The ELO Method (http://fastcup.net/rating.html)

csstats_sql_weapons "0" // запись статистики по используемому оружию
//    0 - запись выключена
//    1 - включить запись.
//        *В БД будет создана новая таблица csstats_weapons.
//        ВНИМАНИЕ: квар csstats_sql_create_db должен быть установлен в 1

csstats_sql_maps "0" // запись истории игр игрока
//    0 - запись выключена
//    1 - запись включена.
//        *ВНИМАНИЕ: нужно выполнить импорт файла csstats_maps.sql в БД.
//        Смотрите инструкцию по установке.

csstats_sql_autoclear "0" // автоматическое удаление неактивных игроков в БД, которые не заходили на сервер указанное количество дней.

csstats_sql_autoclear_day "0" // автоматический полный сброс статистики в указанный день месяца
csstats_sql_cachetime "-1" // функция кеширование для get_stats
//    -1 - кеш включен
//    0 - кеш выключен
//        *не работает при csstats_sql_update -2 и 0
csstats_sql_assisthp "50" // минимальный урон для учета ассиста. 0 - выключить учет ассистов.
csstats_sql_reset - полный сброс статистики. Выполнять нужно в консоли сервера или через RCON.
Описание:
Плагин служит для записи статистики csstats в БД MySQL. Является бесплатной, легкой альтернативой плагина Скальпеля.
В настоящий момент находится в стадии разработки и нуждается в тестировании.
Без каких либо дополнительных действий будет просто записывать статистику в БД. Чтобы ваши плагины статистик начали использовать данные с БД потребуется их немного изменить и перекомпилировать, об этом читайте ниже.

Установка:
  • Выполните импорт файла csstats.sql в вашу БД.
  • Укажите данные для подключения к БД в исходнике плагина в следующих полях:
#define MYSQL_HOST "localhost" // хост
#define MYSQL_USER "root" // пользователь
#define MYSQL_PASS "" // пароль
#define MYSQL_DB "amxx" // база данных
  • Скомпилируйте плагин.
  • Чтобы плагины статистики начали использовать данные с MySQL выполните инструкции ниже.
    • В папке вашего компилятора откройте файл include/csx.inc и замените следующий код:
    Код:
    #pragma reqclass xstats
    #if !defined AMXMODX_NOAUTOLOAD
    #pragma defclasslib xstats csx
    #endif
    На:
    Код:
    #pragma reqlib xstats
    • Перекомпилируйте ВСЕ ваши плагины статистики (statsx, miscstats и пр.) компилятором с этим измененным инклюдом.
    • Задайте квар csstats_mysql_forwards в 1.
    • Пропишите csstatsx_sql.amxx ВЫШЕ всех остальных ваших плагинов статистики.
    • Сделайте полный рестарт сервера (через quit).
    • Проверьте что модуль csx не загрузился командой amxx modules.
    • В случае если модуль всё-же подгрузился, выключите сервер и переименуйтеcsx_amxx_i386.so в csx_amxx_i386.so.bakесли сервер на Linux.
  • Выполните следующие инструкции для ВСЕХ ваших плагинов статистики.

      • Откройте исходник плагина.
      • Добавьте следующий код в начало файла:
    Код:
    native get_statsnum_sql()
    native get_user_stats_sql(index, stats[8], bodyhits[8])
    native get_stats_sql(index, stats[8], bodyhits[8], name[], len, authid[] = "", authidlen = 0)


      • Замените все строчки get_statsnum на get_statsnum_sql.
      • Замените все строчки get_user_stats на get_user_stats_sql.
      • Замените все строчки get_stats на get_stats_sql.
      • Скомпилируйте плагин.
  • Настройка:
    • Квар csstats_mysql_update
    Как обновлять статистику игрока в БД:
    * -2 - при смерти и при дисконнекте
    * -1 - в конце раунда и при дисконнекте
    * 0 - при дисконнекте
    * значение больше 0 - через указанное кол-во секунд и при дисконнекте
    • Квар csstats_mysql_forwards
    Включает собственные форварды для client_death, client_damage:
    * 0 - выключить
    * 1 - включить (небходимо, если csstats_sql используется в качестве замены модуля)
    • Квар csstats_mysql_rankformula
    Формула расчета позиции игрока
    * 0 - убийства - смерти - тк
    * 1 - убийства
    * 2 - убийства + хедшоты
    Готовые плагины с поддержкой потоковых запросов (во вложениях):
    • csxmysql_amxx_statsx
    • csxmysql_aes_statsx
    AES StatsX по умолчанию компилируется как независимый плагин, т.е. сам AES не требуется для его работы. Для компиляции с AES закомментируйте #define NO_AES в исходнике.
Сверху Снизу