Lambda Core: Half-Life ingame statsАвтор: KORD_12.7
Версия: 0.6
Поддерживаемые моды: - Half-Life (valve)
- Opposing Force (gearbox)
- Adrenaline Gamer (ag)
- Adrenaline Gamer mini
Требования:- AmxModX версии 1.8.1 и старше
- Fakemeta
- Hamsandwich
Информация:С помощью этого плагина вы можете организовать ведение статистики на Half-Life сервере. Все данные хранятся в файле на сервере. Собирается детальная статистика игроков: кол-во убийств и смертей (эффективность), тимкиллы, кол-во выстрелов и попаданий (аккуратность) для каждого оружия, нанесенный урон, хэдшоты. Позиция игрока в стате вычисляется по формуле: убийства - смерти. Также присутствует возможность логирования собранной статистики для Psychostats или Hlstats (HlstatsX CE). Плагин показывает всю собранную статистику через hud, motd и chat сообщения.
Примеры:
- Информация об убийце в консоль и экран жертвы
- Список атаковавших (attackers)
- Список жертв (victims)
- Траектория убийства
- Hp & Ap убийцы в hud и chat сообщениях
- Ранк игрока
- Топ игроков (top15)
- Подробная стата по ранку всех игроков
- Chat сообщение для тимплея о состоянии игрока
- Статистика игрока в конце мапы
- Топ игроков в конце мапы
- Объявление победителя в конце мапы
Админские комманды:amx_statscfgmenu - меню настройки плагина (вызывается из statscfg.amxx).
lc_reset - обнулить статистику (требуется флаг "h" для доступа).
Say комманды: Цитата:
/rank - текущий ранк из статы (chat);
/top15 - топ игроков сервера из статы (MOTD)
/stats - просмотр статистики всех присутствующих игроков (menu/MOTD)
/rankstats - общая статистика игрока на сервере (MOTD)
/statsme - статистика за текущую игру (кол-во убийств, смертей, eff и acc, подробная статистика по оружию: кол-во выстрелов и попаданий, все это в MOTD)
/hp - информация по последнему убийце (chat)
/me - информация по попаданиям (chat)
/report - репорт о текущем состоянии игрока (для тимплея) (say_team)
/switch - вкл/выкл статистические оповещения (только для клиента)
Внимание! Для AG, miniAG или OP4 используйте
hamdata.ini из аттача, иначе сервер будет падать.
Также для корректной работы требуется установленный плагин statscfg.amxx (идет вместе с базовым пакетом АМХХ).
Настройка:В файле
lambda_core.ini находятся главные настройки плагина, все остальные ищите в amx_statscfgmenu.
Код:
; Активировать систему ранков?
; 0 - нет, ранки игроков не будут записываться и обрабатываться, say команды /rank и /top будут недоступны
; 1 - да
lc_rank_system 1
; Как ввести учет статистики
; 1 - по никам
; 2 - по ip
; 3 - по steamid
lc_track_mode 1
; Записывать/логировать ботов в статистику?
; 0 - нет
; 1 - да
lc_rank_bots 1
; Количество дней, через которые из статистики будут удаляться неактивные игроки
; Если указать значение 0, то очистка статы от неактивных игроков проводиться не будет
lc_prune_days 0
; Логирование статистики в главный лог сервера (triggered "weaponstats", triggered "weaponstats2", triggered "time", triggered "latency")
; 0 - не логировать
; 1 - при дисконекте игрока (подходит для HLStats и Psychostats)
; 2 - логировать после смерти игрока (необходмио для HLStatsX CE)
lc_stats_loging 1
; Показывать информацию о плагине после смерти игрока (в левом верхнем углу)?
lc_show_info 1
; Рекламировать информацию о доступных say командах?
lc_show_adv 1
; Перерыв между рекламными сообщениями (в секундах)
lc_adv_freq 300
Credits:Код:
unKn0wn,
Freejam,
AMXX Dev Team,
Ven,
Lev,
Nextra
История версий:v0.1 [04.10.2009]:v0.2 [16.01.2010]:- убрано меню управления;
- убраны звуковые анноунсы (используйте UTsounds by Lev);
- добавлена звозможность записи статы в файл (т.е. наличие внешней веб-статы для топа и ранка теперь необязательно);
- добавлена поддержка мультиязычности;
- теперь все настройки хранятся в INI файле;
- для каждой карты (или группы карт с нужным префиксом) могут быть определены свои настройки;
- при отсутствии INI файла загружаются стандартные настройки;
- улучшен подсчет статистики;
- добавлена поддержка тимплея;
Подсчет тимкиллов
v0.3 [23.02.2010]:- более оптимизированная запись статистики в файл;
- файл статистики (lc_stats.dat) теперь хранится в /amxmodx/data/lc/ ;
- добавлена команда сброса статистики (для файлового режима);
- для HLstats теперь используются thread запросы;
- добавлены новые квары:
- lc_show_info 1 - информация о плагине после смерти игрока (в левом верхнем углу);
- lc_show_winner 1 - победитель в конце карты;
- исправлены ошибки:
- падение на linux серверах;
- run time error 10: tripmine_fix (line 1954) - спасибо ur5efj;
- run time error 10: fw_TakeDamage (line 649) - спасибо ur5efj;
- топ 15 сервера в конце карты теперь отображается верно - спасибо Freejam'у;
- неверное вычисление победителя в конце карты - спасибо Freejam'у;
v0.4 [06.05.2010]:- убрана поддержка веб статистик (используйте Ingame Psychostats by Nextra);
- улучшена поддержка AG и miniAG;
- улучшен подсчет статистики;
- хитбоксы теперь определяются для всех типов оружия (кроме снарков);
- учитывается смена ника во время игры;
- в say /report отображается количество подствольных гранат у автомата, также учитывается режим спектатора;
- в say /stats улучшено меню;
- добавлен say /rankstats - ваша статистика на сервере (MOTD);
- изменены квары в настройках плагина;
- множество мелких фиксов;
- добавлен новый квар:
- lc_stats_loging 1 - вкл/выкл запись статистики в лог сервера (triggered "weaponstats", triggered "weaponstats2", triggered "time", triggered "latency")
v0.5 [06.06.2010]:- Для хранения данных теперь используются динамические массивы;
- Убран лимит на количество записей в статистике;
- Добавлена поддержка Opposing Force;
v0.6 [30.12.2010]:- Сохранение статы по ip и очистка неактивных записей теперь работают корректно;
- Добавлена интеграция с Stats Configuration Menu (statscfg.amxx, идет вместе с базовым пакетом АМХХ);
- Большинство hud и chat сообщений усовершенствовано;
- Более информативная статистика (например хэдшоты и дистанция в attackers и victims hud lists);
- Добавлена комманда say /me - информация по попаданиям (chat);
- Логирование статистики для HLStatsCE;
- Добавлен lambda_core.inc, содержащий native и forward функции плагина, которые можно использовать в своих скриптах;
Код:
/*
* Natives
*/
/* Gets stats from given weapon index. If wpnindex is 0
* then the stats are from all weapons. If weapon has not been used function
* returns 0 in other case 1.
* Fields in stats are:
* 0 - kills
* 1 - deaths
* 2 - headshots
* 3 - teamkilling
* 4 - shots
* 5 - hits
* 6 - damage
* Fields in bodyhits are:
* 0 - generic (none)
* 1 - head
* 2 - chest
* 3 - stomach
* 4 - leftarm
* 5 - rightarm
* 6 - leftleg
* 7 - rightleg */
native lc_get_user_wstats(index, wpnindex, stats[8], bodyhits[8]);
/* Gets respawn stats from given weapon index.*/
native lc_get_user_wrstats(index, wpnindex, stats[8], bodyhits[8]);
/* Gets overall stats which are stored in file on server
* and updated on user disconnect.
* Function returns the position in stats by diff. kills to deaths. */
native lc_get_user_stats(index, stats[8], bodyhits[8]);
/* Gets respawn stats of player. */
native lc_get_user_rstats(index, stats[8], bodyhits[8]);
/* Gets stats with which user have killed/hurt his victim. If victim is 0
* then stats are from all victims. If victim has not been hurt, function
* returns 0 in other case 1. User stats are reset on his respawn. */
native lc_get_user_vstats(index, victim, stats[8], bodyhits[8], wpnname[] = "", len = 0);
/* Gets stats with which user have been killed/hurt. If killer is 0
* then stats are from all attacks. If killer has not hurt user, function
* returns 0 in other case 1. User stats are reset on his respawn. */
native lc_get_user_astats(index, killer, stats[8], bodyhits[8], wpnname[] = "", len = 0);
/* Resets life, weapon, victims and attackers user stats. */
native lc_reset_user_wstats(index);
/* Gets overall stats which stored in lc_stats.dat file in amx folder
* and updated on every mapchange or user disconnect.
* Function returns next index of stats entry or 0 if no more exists. */
native lc_get_stats(index, stats[8], bodyhits[8], name[], len, authid[] = "", authidlen = 0);
/* Returns number of all entries in stats. */
native lc_get_statsnum();
/*
* Forwards
*/
/* Function is called after player to player attacks ,
* if players were damaged by teammate TA is set to 1 */
forward lc_client_damage(attacker, victim, damage, wpnindex, hitplace, TA);
/* Function is called after player death ,
* if player was killed by teammate TK is set to 1 */
forward lc_client_death(killer, victim, wpnindex, hitplace, TK);
FAQQ: Как попасть в топ 1?
A: bind MOUSE1 kill
_________________
Vi Veri Veniversum Vivus Vici