• Версия для печати

На форуме вы можете обсуждать различные темы выкладывать свои работы. Главное что от вас требуется это Уникальное и красивое оформление темы. Если На форуме нет подходящего раздела для вашей темы свяжитесь с администратором он создаст вам его.Так же если у вас есть какие-либо пожелания оставляем Комментарии ТУТ

CsStats MySQL

Обсуждение Платных плагинов отзывы плюсы минусы и так далее
Аватара
Автор темы
Админ M
Администратор
Администратор
Сообщения: 545
Зарегистрирован: 01.09.2016
Возраст: 29
Репутация: 5
С нами: 1 год 10 месяцев
Откуда: Красноярск
Контактная информация:

CsStats MySQL

Сообщение #1 Админ » 20.11.2016, 14:14

Стандартно в 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
ftp_upload.gif
ftp_upload.gif (1.24 МБ) 241 просмотр

2) Зайдите в amxmodx/configs/plugins.ini и пропишите там название_плагина.amxx
3) Перезагрузить сервер Либо Смените карту.

csstats_mysql_3.jpg


csstats_mysql_2.jpg


csstats_mysql_1.jpg


csstats_mysql.rar
(559.65 КБ) 24 скачивания
csstats_mysql.rar
(559.65 КБ) 24 скачивания


 ! Сообщение от: Админа
Покупка лицензионного ключа для плагина осуществляется через поддержку на хостинге host-v.ru Или на официальном сайте. Без ключа плагин работать не будет!

Теги:

Вернуться в «Платные Плагины»