- Автор
- Совместимость с
- Amx Mod X 1.8.2, Amx Mod X 1.9.0
- Благодарности
-
- Lev с форума aghl.ru за модуль dummy_csx.
Плагин может выступать в качестве полной замены модуля CSX. После установки он начнет самостоятельность считать статистику игроков и записывать её в базу данных, но чтобы все ваши плагины статистик начали использовать его данные придется немного их изменить, об этом ниже. Может работать с локальной базой данных SQLite. Из новых функций есть подсчет времени нахождения игрока на сервере и расчет скилла по формуле ELO, запись статистики по используемому оружию и истории игр игроков (на подобии HLstatsX:CE). С версии 0.7.2 была добавлена статистика по помощи в убийствах (ассисты).
Модификации и дополнения:
Модификации и дополнения:
Границы скилла:
[L- до 60]
[LS 60]
[L+ 75]
[M- 85]
[MS 100]
[M+ 115]
[H- 130]
[HS 140]
[H+ 150]
[P- 165]
[PS 180]
[P+ 195]
[G 210]
Подсчёт скилла:
В плагине используется формула под названием The ELO Method. Этот метод расчёта скиллов использует при расчёте очки убийцы и убитого, как было написано выше, но давайте поподробнее на этом остановимся.
Игрок начинает со скиллом 100. Когда кого-то убивают, у убийцы и жертвы меняется рейтинг. Это изменение основано на двух вещах: Delta ("сложность" убийства), основанная на рейтинге игроков, и Выходной коэффициент (developement coefficient), основанный на количестве убийств каждого игрока.
Дельта рассчитывается по формуле::
Delta = 1/(1 + 10^((k-v)/100)).
В числителе единица, в знаменателе 1+10 в степени (k-v)/100).
k - скилл убицы,
v - скилл убитого
Следующий шаг - вычисление выходного коэффициента koeff. Это число показывает, сколько очков вы можете получить или потерять в случае своей смерти. Этот коэффициент высчитывается попроще. По умолчанию, коэффициент каждого 2. После 100 убийств он сбрасывается до 1.5.
Рейтинг убийцы умножается сложностью убийства, показываемой выходным коэффициентом. И наоборот, рейтинг жертвы уменьшается на столько, сколько очков составляет его выходной коэффициент. В итоге, формула такая:
Новый скилл = Скилл+/-(coeff*Delta)
Рейтинг не даётся за победы или поражения, так как за это даются очки.
Подсчёт итогового скилла в играх на 0 больше 1х1:
Если команда выиграла битву, то у всех игроков выигравшей команды, получивших за эту битву минус к скиллу, минус уменьшается в 3 раза.
Если команда проиграла битву, то у всех игроков проигравшей команды, получивших плюс к скиллу, плюс уменьшается в 3 раза.
[L- до 60]
[LS 60]
[L+ 75]
[M- 85]
[MS 100]
[M+ 115]
[H- 130]
[HS 140]
[H+ 150]
[P- 165]
[PS 180]
[P+ 195]
[G 210]
Подсчёт скилла:
В плагине используется формула под названием The ELO Method. Этот метод расчёта скиллов использует при расчёте очки убийцы и убитого, как было написано выше, но давайте поподробнее на этом остановимся.
Игрок начинает со скиллом 100. Когда кого-то убивают, у убийцы и жертвы меняется рейтинг. Это изменение основано на двух вещах: Delta ("сложность" убийства), основанная на рейтинге игроков, и Выходной коэффициент (developement coefficient), основанный на количестве убийств каждого игрока.
Дельта рассчитывается по формуле::
Delta = 1/(1 + 10^((k-v)/100)).
В числителе единица, в знаменателе 1+10 в степени (k-v)/100).
k - скилл убицы,
v - скилл убитого
Следующий шаг - вычисление выходного коэффициента koeff. Это число показывает, сколько очков вы можете получить или потерять в случае своей смерти. Этот коэффициент высчитывается попроще. По умолчанию, коэффициент каждого 2. После 100 убийств он сбрасывается до 1.5.
Рейтинг убийцы умножается сложностью убийства, показываемой выходным коэффициентом. И наоборот, рейтинг жертвы уменьшается на столько, сколько очков составляет его выходной коэффициент. В итоге, формула такая:
Новый скилл = Скилл+/-(coeff*Delta)
Рейтинг не даётся за победы или поражения, так как за это даются очки.
Подсчёт итогового скилла в играх на 0 больше 1х1:
Если команда выиграла битву, то у всех игроков выигравшей команды, получивших за эту битву минус к скиллу, минус уменьшается в 3 раза.
Если команда проиграла битву, то у всех игроков проигравшей команды, получивших плюс к скиллу, плюс уменьшается в 3 раза.
©fastcup
- В архиве присутствуют готовые плагины с поддержкой потоковых запросов (csxmysql_amxx_statsx.zip)
- Имеется дополнение CSXSQL: Onlinetime Awards (csstatsx_playtime_awards.sma)
Альтернатива TOPx By GameTime для CSstatsX SQL. Плагин для выдачи флагов доступа ТОП игрокам по сыгранному времени. Настраивается в исходнике:
Код:#define TOP 3 // Скольким игрокам из топа выдавать флаги?
#define IGNORE_FLAGS (ADMIN_MENU|ADMIN_LEVEL_H) // Не выдавать плюшки игрокам с этими флагами
#define GIVE_FLAGS ADMIN_LEVEL_H // Выдаваемые флаги
Q: Почему долго открывается окно /top15 ?
A: Ваша БД долго отвечает на запросы плагина. MySQL БД или перегружена или слишком много запросов от плагинов (не только от csstats sql). В последнее случае проверьте квар csstats_sql_update и если он имеет значение -2, то попробуйте установить режим работы в -1 или 0. Я тестировал плагин у себя с удаленной MySQL БД на сервере hldm.org, пинг до который был 100-120 мс, время открытия топа при 31 ботах и csstats_sql_update -2 было примерно 5-8 секунд. Проверьте какие еще плагины могут часто работать с базой данных. В версии 0.7 был улучшен кеш запросов, что должно уменьшить время открытие топа, смотрите квар csstats_sql_cachetime. С локальной БД SQLite таких проблем наблюдаться не должно.
Q: Выходит ошибка #2002 Can't connect to local MySQL server through socket '/tmp/mysql.sock'. Что делать?
A: Указать в качестве хоста (csstats_sql_host) 127.0.0.1 вместо localhost. Если Вы владелец VDS, то можете попробовать сделать симлинк файла сокета:
A: Проверить правильность данных для доступа к MySQL. Прописать квары плагина в файле addons/amxmodx/configs/amxx.cfg.
A: Ваша БД долго отвечает на запросы плагина. MySQL БД или перегружена или слишком много запросов от плагинов (не только от csstats sql). В последнее случае проверьте квар csstats_sql_update и если он имеет значение -2, то попробуйте установить режим работы в -1 или 0. Я тестировал плагин у себя с удаленной MySQL БД на сервере hldm.org, пинг до который был 100-120 мс, время открытия топа при 31 ботах и csstats_sql_update -2 было примерно 5-8 секунд. Проверьте какие еще плагины могут часто работать с базой данных. В версии 0.7 был улучшен кеш запросов, что должно уменьшить время открытие топа, смотрите квар csstats_sql_cachetime. С локальной БД SQLite таких проблем наблюдаться не должно.
Q: Выходит ошибка #2002 Can't connect to local MySQL server through socket '/tmp/mysql.sock'. Что делать?
A: Указать в качестве хоста (csstats_sql_host) 127.0.0.1 вместо localhost. Если Вы владелец VDS, то можете попробовать сделать симлинк файла сокета:
- Ищем свой mysql.sock командами:
- делаем симлинк:
A: Проверить правильность данных для доступа к MySQL. Прописать квары плагина в файле addons/amxmodx/configs/amxx.cfg.
- Команды
-
- csstats_sql_reset - полный сброс статистики. Выполнять нужно в консоли сервера или через RCON.