Kreedz Jumping

Game mode when you racing with other players to finish a maps as fast as possible. Its comes from Counter-Strike 1.6 and was named in honor of creator
Our community will help you with passing the maps with your friends, set new records, participate and win in tournaments.

Last server records
Pro Nub

KZ-Rush LJ статистика

Posted by Kpoluk 20 Dec 2020 in 11:05
Данная статья описывает работу KZ-Rush LJ статистики, используемой на наших серверах и включённой в нашу сборку LAN сервера (нажмите здесь, чтобы скачать сборку). Приведённые далее значения для максимального престрейфа подразумевают прыжок с ножом, usp или другим оружием со скоростью 250 юнитов/с.


Основная и стрейфовая статистики


В качестве примера рассмотрим успешный countjump на блоке 250:


В первой строчке основной статы указано название техники. В случае HighJump в скобочках указывается также количество FF (Friction Frames), то есть фреймов, в течение которых при приближении к краю блока на вас действовало замедление edgefriction. Также число FF для HighJump можно увидеть в момент прыжка, если включить ShowPre.

Во второй строчке указывается дистанция Distance, и далее идут все элементы престрейфа (начиная с последнего), которые и определяют название техники. В нашем случае сначала был duck престрейф, а затем престрейф bhop типа. В скобках у bhop престрейфа указано количество FOG (frames on the ground), то есть сколько фреймов прошло с момента приземления до прыжка (подробнее о FOG см. в разделе ShowPre). В последней строчке пишет количество стрейфов.


В столбцах стрейфовой статы дана информация по каждому сделанному стрейфу. В первом столбце пишется клавиша стрейфа, во втором разница gain (прирост скорости) и loss (потери скорости), а в третьем loss. В четвёртом столбце указано количество фреймов, которое длился стрейф. Последний столбец показывает эффективность стрейфов, то есть отношение количества стрейфов, которые давали прирост скорости, к общему количеству фреймов для каждого стрейфа в процентах. Можно изменить настройки статы (см. далее раздел Меню настроек) так, что вместо клавиши стрейфа в первом столбце будет его номер. Также в последнем столбце вместо эффективности (Efficiency) можно выбрать перекрытия (Overlaps) или рассинхрон (Desync). Остановимся подробнее на этих понятиях.

Overlaps - количество фреймов в конце стрейфа, в течение которых помимо основной была нажата ещё какая-то клавиша. Например, если при переключении стрейфа с A на D вы нажали D когда A ещё не была отпущена, то это считается перекрытием. Значения Overlaps больше 1 приводят к снижению Efficiency. Desync показывает количество фреймов, когда движение мыши происходило в сторону, противоположную стрейфу. Как известно, мышь должна чуть запаздывать по сравнению с нажатиями клавиш, однако слишком сильное запаздывание несёт в себе опасность. Если Desync будет больше 2, то Efficiency с большой вероятностью пострадает. Таким образом, Overlaps и Desync помогают выяснить конкретную причину потерь скорости при стрейфах. Если вам этого мало, то есть специальная команда /dt (или /detailed), которая помимо самой стрейфовой статы выведет в консоль подробную информацию по каждому фрейму - gain-loss, зажатые клавиши, направление движения мыши.

Внизу стрейфовой статы указаны jof (jumpoff, то есть какой запас до края блока у нас был в момент прыжка), land (landing, то есть с каким запасом мы приземлились в конце) и block (дистанция блока, отображаемая при условии наличия jof и land):


Если бы блок взять не удалось, то вместо land написало бы last, то есть расстояние, которого не хватило, чтобы взять блок при данном jof:


Параллельно информация по прыжку выводится в консоль, причём там она более подробная. Например, в основной стате там можно найти maxspeed, то есть максимальную горизонтальную скорость в течение прыжка, а в стрейфовой стате выводятся и номер стрейфа, и клавиша, и все три варианта для последнего столбца.


ShowPre


Отображение скорости в момент прыжка может работать в двух режимах (см. раздел Меню настроек).

В режиме Pre + Post Speed в момент прыжка в HUD отображаются тип прейстрейфа, количество FOG, скорость до прыжка (перед попаданием на землю) и скорость после (это касается не только bhop, но также и double duck):


В режиме Speed + Difference отображаются округлённое значение скорости до прыжка и потери скорости после:


По умолчанию bhop престрейф может быть окрашен в три цвета. Выбор цвета определяется следующим образом:

  • зелёный - bhop 1 FOG без потерь скорости (скорость перед прыжком была меньше 299.973 юнита/с)
  • синий - bhop 2 и больше FOG с минимальными потерями скорости (скорость перед прыжком была больше 299.973 юнита/с)
  • красный - bhop с потерей скорости (все остальные случаи)
Для double duck всё проще - 2 FOG даёт зелёный престрейф, 3 и больше красный (1 FOG быть не может). Другие типы престрейфа имеют белый цвет. Выводится прейстрейф в том же HUD канале, что и /speed и /keys, поэтому если отображаются скорость или клавиши, то престрейф начинает обновляться с их частотой, из-за чего можно заметить его мерцание. Цвет скорости и клавиш по умолчанию белый, но если отображается цветной престрейф, то цвет перенимается у него.


JumpOff


Jumpoff можно увидеть не только в стрейфовой стате, но и непосредственно в момент прыжка (команда /jumpoff или /jof). Причём с помощью настроек (см. далее Меню настроек) можно также включить отображение jumpoff для duck или просто при падении с блока. Если jumpoff не больше 5, то его цвет в HUD будет красным, а если он при этом ещё и окажется минимальным, то цвет будет зелёным. Заметьте, что минимальный здесь означает наименьший возможный в данной ситуации, то есть при другом разбеге минимальный jumpoff может оказаться меньше. Например, пусть мы бежим навстречу краю lj блока. Наша скорость равна 250 юнитов/с, то есть каждый фрейм мы преодолеваем 2.5 юнита. При падении с lj блока jumpoff конечно же будет минимальным, но при этом его значение может варьироваться от 0 до 2.5 юнитов.


Fuser2 и Height


Никогда не задумывались, почему bhop и countjump дают настолько разные дистанции? Ведь в обоих случаях мы делаем прыжок скроллом, и в обоих случаях максимальный престрейф, позволяющий не потерять скорость, равен 299.973 юнита/с. Оказывается, дело в высоте прыжка, которая в свою очередь зависит от специального параметра под названием fuser2. В момент прыжка fuser2 становится равным 1315, и затем каждый фрейм уменьшается на 10, то есть через 1.31 секунды обнуляется. Когда мы делаем бхоп на обычном блоке, то с момента прыжка перед бхопом ещё не успевает пройти 1.31 секунды, fuser2 не успевает обнулиться, и высота полёта становится меньше. В случае же countjump такого не происходит, так как duck никак на fuser2 не влияет. Теперь становится понятно и то, что дистанция upbhop и dropbhop зависит от разницы высот между начальной платформой и уровнем прыжка, и что на одном и том же бхоп блоке sbj выше обычного бхопа.

В консольном логе каждый прейстрейф сопровождается информацией о fuser2. Также с помощью команды /fuser2 можно включить отображение fuser2 для HUD в момент прыжка и в основной стате.

Вместо fuser2 можно смотреть непосредственно на высоту полёта, прописав в чате команду /height. В момент прыжка отображается оценочная высота, реальная же будет показана в основной стате (она может оказаться меньше, если полёту помешал потолок).


JumpBug Trainer


Успешный jumpbug происходит тогда, когда игрок при падении на землю одновременно встаёт и прыгает, причём его центр находится в этот момент на высоте 36-38 юнитов от земли (то есть между ногами стоячей модельки и землёй меньше 2 юнитов). В таком случае, если в KZ-Rush LJ стате включена статистика jumpbug (см. Enable Menu в разделе Меню настроек), вы увидите сообщение следующего вида:


Здесь указана высота dist, показывающая разницу между уровнями стартовой и финишной платформ, а также расстояние left от ног до земли в момент выполнения jumpbug. Если при этом заглянуть в консоль, то там можно обнаружить следующее:

[MAIN] JumpBug
Distance: 512.00 units
Left: 1.031250 units
Your Z: -666.968750
Required Z: -668.000000 (+ 2.0)

Помимо dist и left в консоль выведена вертикальная координата Z центра модельки в момент выполнения jumpbug (Your Z), а также диапазон высотой в 2 юнита, в который нужно было попасть для успешного выполнения (Required Z).

Но что если мы смогли одновременно встать и прыгнуть, но сделали это слишком рано или слишком поздно? Тут нам поможет jumpbug trainer. Включить его можно либо в Enable Menu (см. Меню настроек), либо поставив ljs_enable_jumpbug 2. Вот пример неудачного jumpbug при включённом trainer:


Как подсказывает стата, мы одновременно встали и прыгнули на 4 фрейма раньше, чем нужно, на высоте 37.19 юнита от нужной. В консоли же можно увидеть и нашу координату Z, и необходимый диапазон, и ту координату, на которой мы могли бы сделать успешный jumpbug (Possible Z):

[MAIN] Failed Jumpbug
Distance: 512.00
4 frames earlier
Higher by: 37.19
Your Z: -630.808776
Required Z: -668.000000 (+ 2.0)
Possible Z: -666.968750 (4 frames later)

В примерах выше jumpbug был возможен потому, что на стартовой платформе был выполнен scroll duck. Если же на ней сделать обычный прыжок, то окажется, что выполнить jumpbug на данной высоте невозможно, и в HUD мы увидим следующее:


В консоли опять же информации больше:

[MAIN] Impossible Jumpbug
Distance: 512.00
Lower by: 13.78
Your Z: -681.786621
Required Z: -668.000000 (+ 2.0)
Nearest Z1: -662.833190 (2 frames earlier)
Nearest Z2: -672.269897 (1 frame earlier)

Помимо знакомых нам Your Z и Required Z здесь есть также две высоты, ближайшие к необходимому диапазону: Nearest Z1 находится выше диапазона, а Nearest Z2 ниже, и ни в один из этих фреймов успешного jumpbug у нас не получилось бы.


Команды чата


/lj, /ljstats - вкл/выкл основную и стрейфовую стату
/ljs, /ljmenu, /ljsettings - меню с настройками LJ статы
/savelj, /saveljsettings - сохранить LJ настройки
/pre, /showpre - показывать престрейф в момент прыжка
/jof, /jumpoff - показывать jumpoff в момент прыжка
/colorchat - вкл/выкл цветные сообщения статы в чате
/ljsound - вкл/выкл звуки LJ статы
/beam, /ljbeam - отрисовывать траекторию полёта
/speed - отображать текущую скорость
/ljpre - при включённом showpre показывать престрейф longjump
/multibhop - при включённом showpre показывать престрейф каждого бхопа
/duck, /ducks, /duckpre, /duckspre - при включённом showpre показывать престрейф каждого дака
/fuser2 - показывать fuser2 в момент прыжка и в основной стате
/height - показывать высоту в момент прыжка и в основной стате
/ljtop - показать MOTD с top10 (при условии ljs_top_enable 1)
/weapontop - меню с выбором скорости оружия для top10 (при условии ljs_top_weapon_enable 1)
/dt, /detailed - вместе с обычной стрейфовой статой выводить в консоль подробную информацию по каждому фрейму
/ljversion - версия LJ статы


Меню настроек


Меню вызывается командой чата /ljs.

Первая страница настроек:


1. Stats Mode (по умолчанию: Simple)

Режим работы основной и стрейфовой статы.
Advanced - к обычному режиму добавляется отображение статы для случаев, когда начальная и конечная позиция находятся на разной высоте, а также когда полёт заканчивается касанием телепорта, слайда или воды (ljs_mode 2)
Simple - обычный режим работы (ljs_mode 1)
Off - отключить (ljs_mode 0)

2. ShowPre (по умолчанию: Off)

Режим отображения скорости в момент прыжка.
Speed + Difference - скорость перед прыжком и потери скорости после прыжка (ljs_showpre 2)
Pre + Post Speed - FOG, скорость до и после прыжка (ljs_showpre 1)
Off - выкл (ljs_showpre 0)

3. JumpOff (по умолчанию: Off)

Режим отображения расстояния до края блока.
for Jump + Duck + Fall - для прыжка, duck и при падении с блока (ljs_jumpoff 3)
for Jump + Duck - для прыжка и duck (ljs_jumpoff 2)
for Jump - для прыжка (ljs_jumpoff 1)
Off - выкл (ljs_jumpoff 0)

4. ColorChat (по умолчанию: On)

Цветные сообщения LJ статы в чате.
On - показывать прыжки всех игроков (ljs_colorchat 2)
Only Your Stats - показывать только своих прыжков (ljs_colorchat 1)
Off - выкл (ljs_colorchat 0)

5. Speed (по умолчанию: Off)

Отображение текущей скорости в HUD.
On - вкл (ljs_speed 1)
Off - выкл (ljs_speed 0)

6. LJ Beam (по умолчанию: Off)

Отрисовка траектории движения в прыжке.
On - вкл (ljs_beam 1)
Off - выкл (ljs_beam 0)

Вторая страница настроек:


1. Pre Menu

Меню, в котором настраивается, какие престрейфы будут отображаться при включённом ShowPre:


Заметьте, что если перед duck вы находились на земле больше 10 фреймов, то это duck pre, а если меньше, то dd pre. А вот cj pre, как подсказывает надпись в меню, отвечает не за duck, а за прыжок.

2. Enable Menu

Меню, которое задаёт, для каких техник включена LJ стата:


3. LJ Sound (по умолчанию: Off)

Проигрывание звуков LJ статы.
On - вкл (ljs_sound 1)
Off - выкл (ljs_sound 0)

4. Always show Strafe Stats (по умолчанию: Off)

В каком случае показывать стрейфовую стату?
On - при любом прыжке независимо от основной статы (ljs_speed 1)
Off - только вместе с основной статой (ljs_speed 0)

5. Total gain and efficiency in Strafe Stats (по умолчанию: Off)

Добавление в стрейфовую стату информации о суммарном gain и средней efficiency.
On - вкл (ljs_strafes_total_gaineff 1)
Off - выкл (ljs_strafes_total_gaineff 0)

6. Last column of Strafes Stats (по умолчанию: Efficiency)

Какую информацию выводить в последнем столбце стрейфовой статы?
Desync - количество фреймов c асинхронным нажатием клавиш и движением мыши (ljs_strafes_last_column 2)
Overlaps - количество фреймов с перекрытиями по нажатиям клавиш (ljs_strafes_last_column 1)
Efficiency - эффективность стрейфов (ljs_strafes_last_column 1)


Топы


По умолчанию LJ топы в сборке отключены (ljs_top_enable 0), в том числе и топы по оружию (ljs_top_weapon_enable 0). Если же их включить, то появится возможность вызова меню /ljtop:


При включённых топах по оружию с помощью пункта 7. Choose Speed (или команды чата /weapontop) можно также вызвать меню с выбором скорости оружия:



Конфиг статистики


Помимо упомянутых в этой статье KZ-Rush LJ стата имеет ещё множество кваров для настройки, найти которые можно в файле ...\cstrike\addons\amxmodx\configs\kz_jump_stats.cfg. В той же папке configs есть их краткое описание в файле kz_jump_stats_info[RU].txt.

На этом всё, удачных прыжков!