Русское сообщество по скриптингу

Игровая статистика (Lambda Core: Half-Life ingame stats)

Утвержденные плагины для AMX Mod X администратором/модератором форума.

Модератор: Leonidddd

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только работоспособных плагинов для AMX Mod X. Новые плагины нужно выкладывать в разделе "Новые плагины".

Игровая статистика (Lambda Core: Half-Life ingame stats)

Сообщение KORD_12.7 » 04 окт 2009, 10:26

Автор: 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 функции плагина, которые можно использовать в своих скриптах;

lambda_core.inc:
Код: Выделить всё
/*
 * 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);

Вы должны зарегистрироваться, чтобы видеть ссылки.

Утверждено. //Leonidddd
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось KORD_12.7 03 июн 2011, 12:27, всего редактировалось 18 раз(а).

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение KORD_12.7 » 07 фев 2010, 05:05

Сервер на линуксе?

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение ur5efj » 08 фев 2010, 09:22

KORD_12.7
Да убунта 2.6.31-16-generic-pae #52-Ubuntu SMP Thu Dec 3 23:18:13 UTC 2009 i686
И вдогонку:
Код: Выделить всё
[HAMSANDWICH] Invalid entity (146)
[AMXX] Displaying debug trace (plugin "lambda_core.amxx")
[AMXX] Run time error 10: native error (native "ExecuteHam")
[AMXX]    [0] lambda_core.sma::fw_TakeDamage (line 649)
Аватара пользователя
ur5efj
 
Сообщения: 3
Зарегистрирован: 15 янв 2010, 23:28
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение KORD_12.7 » 08 фев 2010, 14:05

Ок, буду разбираться

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение maniakacab » 08 фев 2010, 14:06

вот ошибки при падения сервака:

Код: Выделить всё
b5849000-b5855000 rwxp 000cb000 08:09 13893704   /home/hl/valve/addons/metamod/dlls/metamod_i386.so
b5855000-b585d000 rwxp b5855000 00:00 0
b585e000-b785f000 rwxp b585e000 00:00 0
b785f000-b787a000 r-xp 00000000 08:09 13501320   /home/hl/filesystem_stdio_i386.so
b787a000-b7881000 rwxp 0001a000 08:09 13501320   /home/hl/filesystem_stdio_i386.so
b7881000-b7883000 rwxp b7881000 00:00 0
b7883000-b78a7000 r-xp 00000000 08:01 56346      /lib/i686/cmov/libm-2.7.so
b78a7000-b78a9000 rwxp 00023000 08:01 56346      /lib/i686/cmov/libm-2.7.so
b78a9000-b78c1000 r-xp 00000000 08:09 13501383   /home/hl/libsteam_api_c.so
b78c1000-b78c2000 rwxp 00018000 08:09 13501383   /home/hl/libsteam_api_c.so
b78c2000-b78c7000 rwxp b78c2000 00:00 0
b78c7000-b792f000 r-xp 00000000 08:09 13501331   /home/hl/engine_i686.so
b792f000-b7934000 rwxp 00068000 08:09 13501331   /home/hl/engine_i686.so
b7934000-b7935000 r-xp 0006d000 08:09 13501331   /home/hl/engi./hlds_run: line 321: 20822 Aborted                 $HL_CMD
Add "-debug" to the ./hlds_run command line to generate a debug.log to help with solving this problem
Mon Feb  8 12:01:41 EET 2010: Server restart in 10 seconds


я хз что там написано в логах, вроде всё норм пашет без lambdacore.amxx
Аватара пользователя
maniakacab
 
Сообщения: 15
Зарегистрирован: 01 фев 2010, 19:55
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение KORD_12.7 » 08 фев 2010, 17:57

На вин32 все работает отлично, а линукс у мну не стоит, так что протестить не могу

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение maniakacab » 08 фев 2010, 19:55

Внда глючная штука, а Лин подходит для серваков, так как не выявляли случаи падения серваков.Севетую протестить на Лине и учтить это как баг (ошибка).Думаю скоро выйдет профиксеная версия. :thumbs_up
Аватара пользователя
maniakacab
 
Сообщения: 15
Зарегистрирован: 01 фев 2010, 19:55
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6
Counter-Strike: Source
Team Fortress II
Left 4 Dead

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение KORD_12.7 » 23 фев 2010, 18:21

Плагин обновлен

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение Ninja » 27 фев 2010, 12:30

KORD_12.7,
Добавь плз в плагин звуки и надписи при убийстве =)
и сделай его кваром....
Аватара пользователя
Ninja
 
Сообщения: 94
Зарегистрирован: 18 сен 2009, 20:08
Откуда: Вольногорск
Благодарил (а): 19 раз.
Поблагодарили: 27 раз.

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение KORD_12.7 » 28 фев 2010, 17:37

Ninja писал(а):KORD_12.7,
Добавь плз в плагин звуки и надписи при убийстве =)

Есть Вы должны зарегистрироваться, чтобы видеть ссылки. со всеми этими звуками, рекомендую его :-)

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Re: Lambda Core - HLDM ingame stats (HL/AG/miniAG)

Сообщение KORD_12.7 » 06 май 2010, 09:32

Плагин обновлен
v0.4 [06.05.2010]:
    Убрана поддержка веб статистик (используйте Ingame Psychostats)
    Улучшена поддержка АГ и миниАГ
    Улучшен подсчет статистики
    Хитбоксы теперь определяются для всех типов оружия (кроме снарков)
    Учитывается смена ника во время игры
    В say /report отображается количество подствольных гранат у автомата, также учитывается режим спектатора
    В say /stats улучшено меню
    Добавлен say /rankstats - ваша статистика на сервере (MOTD)
    Изменены квары в настройках плагина
    Множество мелких фиксов
    Добавлен новый квар: lc_stats_loging 1 - вкл/выкл запись статистики в лог сервера (triggered "weaponstats", triggered "weaponstats2", triggered "time", triggered "latency")

_http://aghl.ru/ - Half-Life и Adrenaline Gamer: за пределами возможного
Аватара пользователя
KORD_12.7
Скриптер
 
Сообщения: 298
Зарегистрирован: 28 сен 2009, 10:14
Откуда: Владивосток
Благодарил (а): 142 раз.
Поблагодарили: 257 раз.
Опыт программирования: Больше трех лет
Языки программирования: Half-Life
Opposing Force
Adrenaline Gamer
Counter-Strike

Пред.След.

Вернуться в Утвержденные плагины

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4