Стандартно в AMX Mod X статистика записывается в файл csstats.dat. Недостатки следующие: записывает небольшое количество людей, статистика часто из-за этого обнуляется, записывает игроков со STEAM_ID_LAN, создавая фальшивую статистику, статистику нельзя сделать единой для несколько серверов.
Данный плагин сам пишет статистику игроков и посылает их в базу данных. Он не записывает STEAM_ID_LAN, он удаляет игроков, которые давно не играли, статистика не обнулится. Все настройки можно изменить в конфиге. Плагин умно посылает запросы в БД, тем самым не создавая лагов в БД и на сервере. Есть нативы, с помощью которых можно привязать любой другой плагин к этой статистике.
В конфиге можно настроить, как будет сортироваться статистика(по фрагам, по скиллу и тд). В комплекте идет веб статистика. Статистика пишет игроков исключительно по стим айди! Все другие методы вызывают одни проблемы. Самый лучший способ, это запись по стим айди и не спорьте.
Принцип работыCsStats MySQL отвечает за запись статистики (по умолчанию в амхх ее пишет плагин /data/csstats.amxx)
CsStats MySQL можно подключить к любому плагину с помощью нативов(нужно обладать минимальными знаниями скриптинга). Плагины Army Ranks Ultimate или StatsX RBS автоматически синхронизируются с
CsStats MySQL и берут статистику уже из Базы Данных.
Теперь у Вас есть статистика, которая никогда не обнулится и будет доступна на всех Ваших серверах
В плагин входит Веб статистика. Ее Вы можете увидеть на скриншотах. Так же поюзать ее можно по адресу
http://www.sxe-expert.ru/army/Конфигурационные файлы

csstats_mysql.cfg
// Лицензионный ключ.
csstats_key ""
// Адрес веб статистики(если Вы ее ставили на сервер)
// Нужно для показа веб статистики командой: say /webstats,/webtop,/wtop,/wstats,/atop
csstats_url "http://site.ru/stats/"
// Как сортировать статистику?
// Константы: frags, deaths, headshots, teamkills, shots, hits, damage, defusing, defused, planted, explode, skill
// -1 - как в стандартной статистике (фраги-смерти)
// -2 - продвинуто (frags-deaths+headshots-teamkills*2-suicide*3+defused*3+explode*3
// -3 - по опыту Army Ranks Ultimate
csstats_sort "-2"
// Увеличить очки за фраги
// Например в праздники поставить "2" и все будут получать вместо одного фрага - 2
// 0 или 1 - выключить
csstats_double "0"
// Впишите теги в никах игроков, которых Вы не хотите записывать в статистику
//csstats_tags "[NO-UCP]"
//csstats_tags "[No-Myac]"
//////////////////
// Настройка БД //
//////////////////
csstats_host "127.0.0.1"
csstats_user "user"
csstats_pass "pass"
csstats_db "database"
csstats_table_players "csstats_players"
csstats_table_settings "csstats_settings"
////////////////////
// Оптимизация БД //
////////////////////
// Удаление игроков из базы данных, для ее очистки
// <дни> <время в игре> <фраги>
// <дни> - удалит игроков которые не заходили на сервер столько то дней
// <время в игре> - удалит игроков которые провели в игре меньше этих секунд
// <фраги> - удалит игроков которые набрали меньше этих фрагов
csstats_delete_time "15 120 2"
// Запись новых игроков в базу (записывает при выходе игрока с сервера)
// <время в игре> <фраги>
// <время в игре> - добавит игрока в базу, только если он провел в игре больше этих секунд
// <фраги> - добавит игрока в базу, только если он набрал больше этих фрагов
csstats_insert_time "60 1"
// Обновление данных игрока (добавляет набранные фраги смерти и т.д. при выходе игрока с сервера)
// <время в игре> <фраги>
// <время в игре> - обновит данные если игрок провел в игре больше этих секунд
// <фраги> - обновит данные если игрок набрал за игру больше этих фрагов
csstats_update_time "30 0"
// Делать при загрузке сервера не блокирующие запросы?
// (поставьте 1, если у вас очень долго загружается сервер)
csstats_slow "0"
// Для обнуления статистики введите в консоль сервера команду: csstats_remove "yes"

config.php
<?php
// Что и как показывать в топе?
// a - место в статистике
// b - ник
// c - фраги
// d - смерти
// e - в голову
// f - убийств своих
// g - выстрелы
// h - попадания
// i - урон
// j - суицид
// k - пытался разминировать
// l - разминировал
// m - поставил бомб
// n - взорвал бомб
// o - звание (если стоит плагин army_ranks_ultimate)
// p - погоны (если стоит плагин army_ranks_ultimate)
// q - опыт (если стоит плагин army_ranks_ultimate)
// r - скилл (если стоит плагин statsx_rbs)
$show_top = "aropbcdefghijklmnq";
// Максимальное число игроков на странице
$show_pages = 50;
// Начальная сортировка игроков
// Значения: place, frags, deaths, headshots, teamkills, shots, hits, damage, suicide, defusing, defused, planted, explode
// xp - если стоит плагин Army Ranks Ultimate
// skill - если стоит плагин StatsX RBS
$DefaultSort = "place";
// Сделать стату по центру экрана?
$center = 0;
// Размер погон в таблице
$Pogony[0] = 46;
$Pogony[1] = 16;
// Адрес
$csstats_host = "localhost";
// Логин
$csstats_user = "user";
// Пароль
$csstats_pass = "pass";
// Имя базы данных
$csstats_db = "database";
// Таблица для записи игроков
$csstats_table_players = "csstats_players";
// Таблица для записи настроек
$csstats_table_settings = "csstats_settings";
?>

csstats_mysql.inc
/* CsStats MySQL Functions
*
* by SKAJIbnEJIb
*
* This file is provided as is (no warranties).
*/
#if defined _csstats_mysql_included
#endinput
#endif
#define _csstats_mysql_included_included
////////////////////////
// Константы значений //
////////////////////////
#define FRAGS 0 // Фраги
#define DEATHS 1 // Смерти
#define HEADSHOTS 2 // В голову
#define TEAMKILLS 3 // Убийства своих
#define SHOTS 4 // Выстрелов
#define HITS 5 // Попаданий
#define DAMAGE 6 // Урон
#define SUICIDE 7 // Самоубийства
#define DEFUSING 8 // Начал разминировать бомб
#define DEFUSED 9 // Разминировал бомб
#define PLANTED 10 // Поставил бомб
#define EXPLODE 11 // Взорвал бомб
#define PLACE 12 // Место в статистике
#define LASTTIME 13 // Когда был последний раз (в UNIX времени)
#define GAMETIME 14 // Время в игре (в секундах)
#define CONNECTS 15 // Сыграл игр
#define ROUNDS 16 // Сыграл раундов
#define WINT 17 // Выиграл за Т
#define WINCT 18 // Выиграл за СТ
#define SKILL 19 // Скилл игрока (если запущен плагин statsx_rbs)
#define AR_ADDXP 20 // Добавленный опыт (если запущен плагин army_ranks_ultimate)
#define AR_ANEW 21 // Очки бонусов /anew (если запущен плагин army_ranks_ultimate)
////////////
// Нативы //
////////////
// Запишет название таблицы(где записаны все игроки)
native csstats_TablePlayers(const TablePlayers[], len);
// Возвратит количество игроков в статистике.
native csstats_get_statsnum();
// Получает статистику игрока по id.
// Возвратит:
// -2 - если игрока нет на серве
// -1 - если игрок не успел загрузить данные из БД
// 0 - если у игрока STEAM_ID_LAN или что то в этом роде
// N - место в статистике
native csstats_get_user_stats(id, stats[22])
// Получает статистику игрока по его месту.
// write[] - возвратит authid игрока
// Функция возвратит: 1 - удачно, -1 - не подключился к БД
native csstats_get_place_stats(place, stats[22], Name[] = "", len = 0, write[] = "", writelen = 0)
// Возвратит место в статистике
native csstats_get_user_place(id)
// Добавить/отнять что ни будь в статистику игрока
native csstats_add_user_value(id, ident, value)
// Установить нужное значение в пункте в статистики игрока
native csstats_set_user_value(id, ident, value)
// Вернет значение пункта статистики(ident)
native csstats_get_user_value(id, ident)
// Проверяет загрузил ли игрок все данные статистики
native csstats_is_user_connected(id)
// Вернет true, если игрок с нормальным стим айди и т.п.
native csstats_is_user_write(id)
// Преобразует два массива в один
stock stats_to_array(stats1[8], stats2[4], stats[22])
{
stats[FRAGS] = stats1[0]
stats[DEATHS] = stats1[1]
stats[HEADSHOTS] = stats1[2]
stats[TEAMKILLS] = stats1[3]
stats[SHOTS] = stats1[4]
stats[HITS] = stats1[5]
stats[DAMAGE] = stats1[6]
stats[SUICIDE] = stats1[7]
stats[DEFUSING] = stats2[0]
stats[DEFUSED] = stats2[1]
stats[PLANTED] = stats2[2]
stats[EXPLODE] = stats2[3]
}
// Вернет идентификаторы массивов
native Array:csstats_get_array_ident(Trie:array[25])
// Вернет временную статистику
native csstats_get_temp_stats(id, stats[22])
// Очистить пункт во временной статистике
native csstats_clear_temp_stats(id, ident)
// Вызывается, когда плагин подключился к базе и загрузил статистику
forward csstats_initialized_post(Handle:Tuple)
// Вызывается когда игрок зашел на сервер и получил все данные
// exists вернет true, если игрок уже был в базе, false - если новый игрок
forward csstats_putinserver(id, bool:exists)
Установка:1) Разархивируйте архив с плагином и закиньте файлы на CS сервер не меняя структуру папок.


- ftp_upload.gif (1.24 МБ) 5710 просмотров
2) Зайдите в
amxmodx/configs/plugins.ini и пропишите там
название_плагина.amxx3) Перезагрузить сервер Либо Смените карту.
! | Сообщение от: Админа |
Покупка лицензионного ключа для плагина осуществляется через поддержку на хостинге host-v.ru Или на официальном сайте. Без ключа плагин работать не будет! |