Last server records
Pro Nub

KZ-Rush LJ stats

Posted by Kpoluk 20 Dec 2020 in 16:10
This article describes the work of KZ-Rush LJ statistics, which is used on our servers and included in our LAN server (click here to download it). Values of maximum prestrafe given futher imply that jump was performed with either usp, knife or some other weapon with a speed of 250 units/s.

Main and strafe statistics

Let's take successful CountJump on the block 250 as an example:

The first line is the name of technique. In case of HighJump there would be also the number of FF (Friction Frames), i.e. frames when additional slowdown called edgefriction affected the speed. Also you can see the number of FF for hj at the moment of jump if ShowPre is turned on.

The second line is distance, and below you can see all types of performed prestrafes starting from the last one. In our case there was a duck prestrafe and then bhop type prestrafe. There is also a number of FOG (frames on the ground) in brackets, i.e. how many frames you spent on the ground before the jump command (see more info about FOG in section ShowPre). The last line is the number of strafes.

Columns of the strafe stats have information about every strafe. The first column is the button of strafe, the second is difference between gain and loss of speed, the third is a speed loss. The forth column is the number of frames while strafe button was pressed. The last column shows Efficiency of strafe, which means a ratio (in percentage terms) of number of frames with a positive gain to the total amount of frames for a given strafe. You can ajust settings (see section LJ Settings Menu) in such a way that first column will show an ordinal number of strafe instead of a button. Also the last column can be switched from Efficiency to Overlaps or Desync. Let's examine these terms in detail.

Overlaps means the number of frames with overlaps at the end of strafe, i.e. when there were more than one button pressed. For example, if you pushed A while D was not released yet, it's counted as overlap. If the value of Overlaps is more than 1, it may lead to the bad Efficiency. Desync shows the number of frames when the direction of your mouse movement was different from the direction of strafe button. As you know, mouse should be a bit late from buttons, but not too much. The value of Desync more than 2 can be a reason of low Efficiency. Thus, Overlaps and Desync can help to find the reason of speed loss in your strafes. If this is not enough, try a special command /dt (or /detailed), which will print in console info about each frame - gain-loss, pressed buttons, direction of mouse movement.

At the bottom of strafe stats we see jof (jumpoff, i.e. how close the jump was to the edge of the block), land (distance reserve at the moment of landing) and block (length of the block is given if jof and land are determined):

In case of a fail stats we would see last instead of land, that is how many units the distance lacks:

Along with a HUD there is also an information printed into console, at that it's more detailed. For example, main stats has maxspeed, i.e. the maximum horizontal speed during the flight, while strafe stats prints both strafe's number and button, plus there are all three variants for the last column.


Display of speed at the moment of jump has two modes (see section LJ Settings Menu below).

When it's in Pre + Post Speed mode, HUD message includes the type of prestrafe, number of FOG, speed before the jump (at the moment of landing) and speed after the jump (it applies not to bhop only, but also to double duck):

Mode Speed + Difference means you will see only rounded speed before and speed loss after the jump:

By default bhop prestrafe can have three colors. Color is deternimed like this:

  • green - bhop with 1 FOG without speed loss (speed before the jump was less than 299.973 units/s)
  • blue - bhop with 2 and more FOG with minimized speed loss (speed before the jump was more than 299.973 units/s)
  • red - bhop with speed loss (all other cases)
Color choise for double duck is simpler - 2 FOG is green and 3+ FOG is red (there is no 1 FOG ducks in CS). Other prestrafe type are white colored. All prestrafes are duplicated in console. Prestrafe is shown in the same channel as /speed and /keys, so if speed or keys are enabled in HUD, prestrafe is flickering with their frequency. Color of speed and keys is white, but if prestrafe appears, they adopt its color.


You can see jumpoff not only in strafe stats but also at the moment of jump (chat command /jumpoff or /jof). Jumpoff can be configured (see section LJ Settings Menu) in such a way that it will be shown for a duck or for a regular fall from the block. If the value of jumpoff is not greater than 5, its HUD color will be red, and if moreover jumpoff is minimal, its color will be green. Note that minimal here means the least possible in a given situation, i.e. it could be less for a different running. For example let's say we run towards the edge of lj block. Our speed is 250 units/s, hence every frame we pass 2.5 units. If we fall from the block, the jumpoff will always be minimal, but its value can vary in range from 0 to 2.5 units.

Fuser2 and Height

Have you ever wondered why bhop and countjump are so different when it comes to a distance? In both cases we jump with a scroll, and in both cases the maximum no-loss prestrafe is 299.973 units/s. The point is that these techniques have different height of the flight, which in turn depends on a special parameter calleds fuser2. At the moment of jump fuser2 is equal to 1315, and then it's decreased by 10 every frame, hence 1.31 seconds later it's zeroed. When we do a bhop on a regular block, 1.31 seconds are not passed yet since the moment of the last jump, so fuser2 is nonzero, and height of the flight will be less. In case of countjump the height is not affected, cause duck doesn't change fuser2. Now it's clear why the distance of upbhop and dropbhop depends on the height difference between the initial platform and jump's level, and why sbj is higher than bhop on the regular bhop block.

In console every prestrafe is accompanied by the value of fuser2. With command /fuser2 you can display fuser2 in a HUD at the moment of jump and in main stats.

Also you may prefer to know the height of the flight itself instead of fuser2, in this case just use command /height. At the moment of jump you will see estimated height, while the real one will be shown in main stats (sometimes it's less cause you may bump into the ceiling).

JumpBug Trainer

Successful jumpbug happens when player stands up and jumps at the same time, at that his center is at the height of 36-38 units above the ground (i.e. there is less than 2 units between feet and the ground). In this case if jumpbug is enabled in KZ-Rush LJ stats (see Enable Menu in section LJ Settings Menu), you will see a message like this one:

Here we have Distance, showing the difference between start and finish platforms, and distance Left between the feet and the ground at the moment of jumpbug. If you open console, you will see this:

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

Besides Distance and Left here is a vertical coordinate Z of model's center at the moment of performing jumpbug (Your Z), and also a range with a height of 2 units where you need to be in order to do a jumpbug (Required Z).

But what if we stood up and jumped at the same moment, but did it too early or too late? Here is when jumpbug trainer comes to the scene. It can be turned on either in Enable Menu (see LJ Settings Menu) or by setting ljs_enable_jumpbug 2. Thanks to the trainer we can see a failed jumpbug stats:

Stats suggests that we jumped 4 frames earlier or 37.19 units higher than needed. Console has a coordinate Z, required range and a coordinate where we could do a successful 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 in the examples above is possible cause we did scroll duck at the start platform. But if we did a regular jump, jumpbug at this height would be impossible:

As before console has detailed information:

[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)

Besides Your Z and Required Z here are also two heights closest to the needed range: Nearest Z1 is right above the range and Nearest Z2 is below it, and none of these frames is suitable for a jumpbug.

Chat commands

/lj, /ljstats - turn on/off main and strafes stats
/ljs, /ljmenu, /ljsettings - LJ settings menu
/savelj, /saveljsettings - save LJ settings
/pre, /showpre - show prestrafe at the moment of jump
/jof, /jumpoff - show jumpoff at the moment of jupm
/colorchat - turn on/off colorful chat messages of LJ stats
/ljsound - turn on/off sounds of LJ stats
/beam, /ljbeam - draw trajectory of jump
/speed - show current speed
/ljpre - show longjump prestrafe when showpre is enabled
/multibhop - show prestrafe of every bhop when showpre is enabled
/duck, /ducks, /duckpre, /duckspre - show prestrafe of every duck when showpre is enabled
/fuser2 - show fuser2 at the moment of jump and in main stats
/height - show jump's height at the moment of jump and in main stats
/ljtop - open MOTD with to10 jumps (if ljs_top_enable 1)
/weapontop - menu for choosing weapon's speed for top10 (if ljs_top_weapon_enable 1)
/dt, /detailed - print in console detailed info about every frame of the jump
/ljversion - version of LJ stats

LJ Settings Menu

Type /ljs in chat to open LJ Settings Menu.

First page of settings:

1. Stats Mode (by default: Simple)

How main and strafes stats should operate?
Advanced - regular stats plus stats for the cases when start and finish positions are at different heights or when jump ends by touching teleports, slide or water
Simple - regular stats
Off - disabled

2. ShowPre (by default: Off)

Which speed should be shown at the moment of jump?
Speed + Difference - speed before the jump and speed loss after the jump
Pre + Post Speed - FOG, speeds before and afer the jump
Off - don't show

3. JumpOff (by default: Off)

What is the situation when jumpoff should be shown in HUD?
for Jump + Duck + Fall
for Jump + Duck
for Jump
Off - don't show

4. ColorChat (by default: On)

Which colorful messages of LJ stats should be shown in chat?
On - show jumps of all players
Only Your Stats - show only your jumps
Off - don't show

5. Speed (by default: Off)

Show current speed in HUD?
On - yes
Off - no

6. LJ Beam (by default: Off)

Draw ingame trajectory of jump?
On - yes
Off - no

Second page of settings:

1. Pre Menu

Menu where you can choose which prestrafes should be shown when ShowPre is enabled:

Note that if you spent more than 10 frames on the ground before the duck, then it will considered as duck pre, and if less then as dd pre. Also cj pre as stated in menu means prestrafe not for a duck but for a jump.

2. Enable Menu

Menu where you can choose technics for showing stats:

3. LJ Sound (by default: Off)

Play sounds of LJ stats?
On - yes
Off - no

4. Always show Strafe Stats (by default: Off)

What is the situation when strafe stats should be shown?
On - for every jump regardless of the main stats
Off - only when main stats is shown

5. Total gain and efficiency in Strafe Stats (by default: Off)

Add information about summary gain and average efficiency to the strafe stats?
On - yes
Off - no

6. Last column of Strafes Stats (by default: Efficiency)

What information should be shown in the last column of strafe stats?
Desync - number of frames with asynchronous movement of mouse and pressing of buttons
Overlaps - number of frames with overlaps in pressing of buttons
Efficiency - strafes effectiveness


By default LJ tops of our LAN server are disabled (ljs_top_enable 0), including weapon tops (ljs_top_weapon_enable 0). If you enable them, you will be able to open menu /ljtop:

If weapon tops are enabled too, menu item 7. Choose Speed (or chat command /weapontop) will show you the menu allowing to choose weapon's speed:

LJ Config

There are a lot more cvars of KZ-Rush LJ stats besides mentioned in this article. You can find them in this file: ...\cstrike\addons\amxmodx\configs\kz_jump_stats.cfg. Brief description of these cvars is given in a separate file kz_jump_stats_info[EN].txt lying in the same configs folder.

That's all, happy jumping folks!