Скриптер
Участник
Пользователь
- Сообщения
- 1,570
- Реакции
- 652
- Помог
- 5 раз(а)
karaulov добавил(а) новый ресурс:
New Unique Players Stats - Записывает статистику подключения новых игроков в базу данных
Пример конфига:
Содержимое файлов SQL запросов:
usc_update_day.sql
usc_db_create.sql
usc_add_user.sql
Узнать больше об этом ресурсе...
New Unique Players Stats - Записывает статистику подключения новых игроков в базу данных
Конфиг подхватывает стандартный из sql.cfg , после первого запуска создается файл usc.cfg и его можно изменить.Записывает в базу данных статистику подключения новых игроков на сервер.
В плагине использую длинные, одиночные SQL запросы для что бы не флудить запросами, так же это позволяет обойти ошибку [MySQL] Thread worker was unable to start. По этому они были записаны в файлы usc_add_user.sql usc_db_create.sql usc_update_day.sql.
Пока что вебUI никакого нет, только для amxbans 1.6 временный сделал.
Пример конфига:
Код:
// Mysql host address
ustats_mysql_host "db3.myarena.ru"
// Mysql username
ustats_mysql_user ""
// Mysql password
ustats_mysql_pass ""
// Mysql database name
ustats_mysql_db ""
// Today day
ustats_today "0"
usc_update_day.sql
SQL:
TRUNCATE TABLE unique_stats_yesterday;
INSERT INTO unique_stats_yesterday SELECT * FROM unique_stats_today;
UPDATE unique_stats_week SET day1 = day2, day2 = day3, day3 = day4, day4 = day5, day5 = day6, day6 = day7;
UPDATE unique_stats_week SET day7 = (SELECT COUNT(*) FROM unique_stats_today);
TRUNCATE TABLE unique_stats_today;
SQL:
CREATE PROCEDURE INIT_TABLES()
MODIFIES SQL DATA
BEGIN
DECLARE sum1 INT;
CREATE TABLE IF NOT EXISTS unique_stats_yesterday ( `unique_type` int(11) DEFAULT NULL, `steamid` varchar(64) DEFAULT NULL, `username` varchar(64) DEFAULT NULL, `ip` varchar(64) DEFAULT NULL );
CREATE TABLE IF NOT EXISTS unique_stats_today ( `unique_type` int(11) DEFAULT NULL, `steamid` varchar(64) DEFAULT NULL, `username` varchar(64) DEFAULT NULL, `ip` varchar(64) DEFAULT NULL );
CREATE TABLE IF NOT EXISTS unique_stats_total ( `steamid` varchar(64) DEFAULT NULL, `ip` varchar(64) DEFAULT NULL );
CREATE TABLE IF NOT EXISTS unique_stats_week ( `day1` int(11) DEFAULT NULL, `day2` int(11) DEFAULT NULL, `day3` int(11) DEFAULT NULL, `day4` int(11) DEFAULT NULL, `day5` int(11) DEFAULT NULL, `day6` int(11) DEFAULT NULL, `day7` int(11) DEFAULT NULL);
SET sum1 = (SELECT COUNT(*) FROM unique_stats_week);
IF sum1 = 0 THEN
INSERT INTO unique_stats_week (`day1`, `day2`, `day3`, `day4`, `day5`, `day6`, `day7`) VALUES ('0', '0', '0', '0', '0', '0', '0');
END IF;
SET sum1 = 0;
END ;
CALL INIT_TABLES();
DROP PROCEDURE INIT_TABLES;
SQL:
CREATE PROCEDURE ADD_NEW_UNIQUE_%i()
MODIFIES SQL DATA
BEGIN
DECLARE sum1 INT;
SET sum1 = (SELECT COUNT(*) FROM unique_stats_total WHERE `steamid` = '%s' AND `ip` = '%s');
IF sum1 = 0 THEN
INSERT INTO unique_stats_total (`steamid`, `ip`) VALUES ('%s', '%s');
INSERT INTO unique_stats_today (`unique_type`, `steamid`, `username`, `ip`) VALUES ('%i', '%s', '%s', '%s');
END IF;
END ;
CALL ADD_NEW_UNIQUE_%i();
DROP PROCEDURE ADD_NEW_UNIQUE_%i;
Последнее редактирование: