- Лучшие ответы
- 0
Автор: souvikdas95 и ко. (AlliedModders)
Версия: 1.5
Описание:
Обновленный стандартный модуль статистики csx. Исправлены небольшие баги оригинальной версии и добавлены новые функции. Благодаря новому методу обработки статистики улучшено быстродействие модуля при большом числе записей в базе данных. Для скриптеров появились новые нативы по редактированию и добавлению новых записей в БД.
Особенности:
Полная свобода действий над статистикой.
Быстродействие ( бинарный поиск )
Новые нативы:
Измененные квары:
Версия: 1.5
Описание:
Обновленный стандартный модуль статистики csx. Исправлены небольшие баги оригинальной версии и добавлены новые функции. Благодаря новому методу обработки статистики улучшено быстродействие модуля при большом числе записей в базе данных. Для скриптеров появились новые нативы по редактированию и добавлению новых записей в БД.
Особенности:
Полная свобода действий над статистикой.
Быстродействие ( бинарный поиск )
Размер | Бинраный поиск | Последовательный (ср. значение) |Последовательный (худшее значение)
16 | 4 | 8 | 16
50 | 6 | 25 | 50
256 | 8 | 128 | 256
1000 | 10 | 500 | 1000
10000 | 14 | 5000 | 10000
100000 | 17 | 50000 | 100000
1000000 | 20 | 500000 | 1000000 bldjadzapilitenormalniytabiprobeli!
16 | 4 | 8 | 16
50 | 6 | 25 | 50
256 | 8 | 128 | 256
1000 | 10 | 500 | 1000
10000 | 14 | 5000 | 10000
100000 | 17 | 50000 | 100000
1000000 | 20 | 500000 | 1000000 bldjadzapilitenormalniytabiprobeli!
Новые нативы:
PHP:
/*
* Fields in Stats[8]:
* 0 - kills
* 1 - deaths
* 2 - headshots
* 3 - teamkilling
* 4 - shots
* 5 - hits
* 6 - damage
* 7 - <null>
*
* Fields in Stats2[4]:
* 0 - total defusions
* 1 - bomb defused
* 2 - bomb plants
* 3 - bomb explosions
*
* Fields in Bodyhits[8]:
* 0 - <null>
* 1 - Head
* 2 - Chest
* 3 - Stomach
* 4 - Left Hand
* 5 - Right Hand
* 6 - Left Leg
* 7 - Right Leg
*
* Important Note : Position = Rank - 1. eg. If index denotes the position of
* rank 1 player, then index = 0.
*/
/*
* Returns the Rank of Player. --> index = id.
* Returns 0 if no Rank exists.
*/
native get_user_rank(index);
/*
* Gets current session score of player --> index = id
* Returns 0 if player is not valid/out of range
* Returns 1
*/
native get_user_score(index,&frags,&deaths);
/*
* Sets overall stats of Player with given parameters. --> index = id.
* Returns 0 if player is not valid/out of range
* Returns new Rank
*
* Note - If you don't want to edit/set a stats/bodyhits field,
* you can set its value as -1
*/
native set_user_stats(index,stats[8],bodyhits[8]);
native set_user_stats2(index,stats2[4]);
/*
* Sets overall stats with given parameters. --> index = position.
* Returns new Rank
*
* Note - If you don't want to edit/set a stats/bodyhits field,
* you can set its value as -1
*/
native set_stats(index,stats[8],bodyhits[8]);
native set_stats2(index,stats2[4]);
/*
* Sets current session score of player --> index = id
* Returns 0 if player is not valid/out of range
* Returns 1
*
* Note - If you don't want to edit/set a stats/bodyhits field,
* you can set its value as -1
*/
native set_user_score(index,frags,deaths);
/*
* Resets overall stats to null --> index = id.
* Returns 0 if player is not valid/out of range
* Returns new Rank
*
* Note - This doesn't differentiate stats or stats2.
* It simply nulls the entire Stats structure of index.
*/
native reset_user_stats(index);
/*
* Resets overall stats to null --> index = position.
* Returns new Rank
*
* Note - This doesn't differentiate stats or stats2.
* It simply nulls the entire Stats structure of index.
*/
native reset_stats(index);
/*
* Adds/Pushes overall stats with given parameters.
* Returns 0 if Stats Entry already exists or can't be created
* Returns new Rank
*
* Note - If you don't want to set a stats/bodyhits field,
* you can set its value as -1
*
* IMPORTANT : "unique" is based on the value of "csstats_rank" cvar
* which sets the basis for uniquely defining a rankstats entry:
* 0 - name[]
* 1 - authid[]
* 2 - ip[] ( make sure to set parameter isip = 1 )
*
* WARNING : Use this function with Caution.
*/
native push_stats(const unique[],const name[],stats[8],bodyhits[8],isip=0);
/*
* Removes and Deletes the Stats Entry. --> index = position.
* Returns -1 if position is not found.
* Returns 0 if player with the position is connected to server.
* Returns 1 if successfully removed.
*/
native remove_stats(index);
/*
* Reloads all the stats from the file and
* refresh rankstats of all the connected
* players and also reset current score of player
* Returns 1
*
* Note - If the stats are not externally edited
* then this will restore the stats from previous
* map change or from start of HLDS as by default,
* stats file is saved only at these moments.
*
* If the stats file doesn't exist, the function
* will not load stats. The stats in-game will remain
* the same as before.
*
* default stats file path : amxmodx/data/csstats.dat
*/
native force_load_stats();
/*
* Manually saves all the stats till previous round
* before Restart of Map/Server.
* Returns 1
*
* default stats file path : amxmodx/data/csstats.dat
*/
native force_save_stats();
/*
* Resets the Score
*/
stock reset_user_score(id)
{
return set_user_score( id, 0, 0 );
}
Измененные квары:
- csstats_maxsize : задает максимальное возможное кол-во записей в статистике, по превышению которого вся статистика сбрасывается.
- Стандартное значение : 9000
- значение < 0 : без ограничений
- значение = 0 : без сохранения
- csstats_maxsize : задает максимальное возможное кол-во записей в статистике, по превышению которого вся статистика сбрасывается.
- 1.5 :
- Улучшен просчет навыка игрока.
- Исправлены проблемы предыдущей версии.
- Поддержка Windows XP.
- 1.4.1 :
- Исправлено переполнение буфера, которое могло вызвать краш сервера. ( на Linux )
- 1.4 :
- Исправлены проблемы в нативах:
- get_stats()
- get_stats2()
- set_stats()
- set_stats2()
- remove_stats()
- Исправлена статистика в конце раунда - функция "ClientKill_Pre" была заменена на "Client_DeathMsg".
- Оптимизация: конец раунда теперь определяется при помощи хука логов, а не событием "ResetHUD".
- Изменен квар csstats_maxsize.
- В исходный код теперь включены HALFLIFE и METAMOD SDK.
- Исправлены проблемы в нативах:
- 1.2 - 1.3 :
- Поправлена работа некоторых нативов.
- Повышено быстродействие за счет использования бинарного поиска. ( спасибо Shooting King )
- Новый натив : get_user_rank().
- Обновлены set_stats(), set_stats2(), set_user_stats(), set_user_stats2() и push_stats() с возможность выборочного задания полей.
- Изменены reset_user_score() и xmod_get_stats_size() на вид стока.
- 1.1 :
- Исправлена работа новых нативов.
- Новые нативы:
- get_user_score()
- set_user_score()
- reset_user_score()
- reset_user_stats()
- reset_stats().
- Добавлена поддержка Linux.
- Удалена программа WinCSX из исходников.
- Удалены плагины примеры.
- 1.0.1 :
- Исправлена проблема со сбросом статистики если игрок отклчился и его место занял другой игрок.
- 1.0 :
- ИСПРАВЛЕНО: неправильное определение последней записи в статистике нативами get_stats() и get_stats2().
- ИСПРАВЛЕНО: теперь новому игроку назначается последнее место в статистике.
- ИЗМЕНЕНО: стандартное и максимальное значение квара csstats_maxsize задано в 9000.
- 1.5 :
- Shooting King
- Claudiuhks