JumpStats
Version 1.7.3
Version 1.7.3
Introduction:
Acest plugin masoara tehnicile saltirilor multiple în Counter-Strike 1.6.
Aceste tehnici sunt:
[ul]
[li]LongJump[/li]
[li]HighJump[/li]
[li]WeirdJump[/li]
[li]CountJump[/li]
[li]Double CountJump[/li]
[li]Multi CountJump[/li]
[li]Drop CountJump[/li]
[li]BhopJump[/li]
[li]Drop BhopJump[/li]
[li]Standup BhopJump[/li]
[li]Drop Standup BhopJump[/li]
[li]LadderJump[/li]
[li]LadderBhop[/li]
[/ul]
Cei mai mulţi dintre voi, care stiti despre orice tip de Statistica LongJump sunt familiarizaţi cu cea creată de Numb.
Acesta are mai multe caracteristici şi tehnici decât toate celelalte.
Aceste caracteristici sunt:
[ul]
[li]Jump Stats:[/li]
[/ul]
[ol]
[li]Distance[/li]
[li]Direction (Forwards, Backwards, Sideways)[/li]
[li]MaxSpeed and Gain[/li]
[li]PreStrafe[/li]
[li]Strafes[/li]
[li]Sync[/li]
[li]Duck Count (for Multi CountJump only)[/li]
[/ol]
[ul]
[li]Strafe Stats:[/li]
[/ul]
[ol]
[li]MaxSpeed per strafe[/li]
[li]Sync per strafe[/li]
[/ol]
[ol]
[li]Jump Beam (straight or following player movement)[/li]
[li]Script detection[/li]
[li]Any weapon is allowed for stats (only weapons with 250 speed will be allowed to top access)[/li]
[li]Fail Stats[/li]
[li]Top 10 per technique (best maxspeed, prestrafe, strafes, and sync are highlighted in red)[/li]
[li]Option to save or reset tops every map change[/li]
[li]Sounds:[/li]
[/ol]
[ul]
[li]Impressive[/li]
[li]Perfect[/li]
[li]Godlike[/li]
[li]Dominating 1 (new position in top, but "Perfect" jump)[/li]
[li]Dominating 2 (new position in top, but "Godlike" jump)[/li]
[li]Rampage (3 "Godlike" jumps in a row)[/li]
[li]Holy Shit (+5 more than the "Godlike" requirement)[/li]
[/ul]
Cheat detection (surfing, trigger_push, func_trains, etc.)
Checkpoint detection
Turning On/Off Abilities:
Current Speed
Jump Stats
Strafe Stats
Jump messages in chat
Jump Beam
Spectator Stats
Jump Sounds
Direction in HUD
Prestrafe Shower
Block Distance
Edge Distances
Can save On/Off abilities per player so no need to reconfigure next connect
Personal best saving for each technique
Reset tops by each technique or all at once
Cvar to limit which team(s) can use Jump Stats
Any weapon can be used for stats, but only 250 speed will get saved as personal best and top jumps
Server Settings enforcer:
edgefriction 2
mp_footsteps 1
sv_cheats 0
sv_maxspeed 320
sv_stepsize 18
sv_maxvelocity 2000
Client cvar enforcer (legal jump settings)
developer 0
fps_max 101
cl_forwardspeed 400
cl_backspeed 400
cl_sidespeed 400
If player jumped a block jump ( like in kz_longjumps2 )
Shows the block distance
Shows the distance from the edge where the player jumped
Shows the distance from the edge where the player landed
Stats only show when sv_airaccelerate is 10 or 100
Admin Commands:
js_reset
- Displays the menu to reset the tops of a jump technique.
- Requires admin flag L (rcon).
js_updatecvars
- Updates the cached cvar values inside the plugins.
- Requires admin flag L (rcon).
Client Commands:
say /speed
- Enables/Disables the speedometer for the client.
say /colorchat
- Enables/Disables the colored jump messages for the client.
say /ljsounds
- Enables/Disables the jump sounds for the client.
say /ljstats
- Enables/Disables ljstats for the client.
say /strafestats
- Enables/Disables the strafe stats for the client.
say /ljbeam
- Enables/Disables the jumping beam for the client.
say /specstats
- Enables/Disables the stats, beams, and sounds of the player being spectated for the client.
say /preshow
- Enables/Disables the prestrafe shower for the client.
say /blockdist
- Enables/Disables the block distances for the client.
say /edgedist
- Enables/Disables the edge distances for the client.
say /ljsmenu
- Brings up a menu that can redirect to the top menu and the On/Off (options described above) menu.
- If the client has admin flag L (rcon) access, then an additional admin menu will be displayed, too.
- The admin menu can:
reset jumps
control which teams can use jump stats
modify the connect enabler (cvar described later)
toggle weapons that are valid for stats
toggle allowed jump techniques
say /ljsversion
- Shows the current JumpStats version on the server.
Cvars:
- Cod:
// General Cvars
////////////////////////////////////////////////
// Only allows certain teams to use stats
// - a = terrorist
// - b = counter-terrorist
// - c = spectator
// Combine multiple letters to allow more than one team to use stats
// Default: abc
js_allowteam "abc"
// Flags given to players when they connect
// - a = speedometer
// - b = jump chat messages
// - c = jump sounds
// - d = jump stats
// - e = strafe stats
// - f = jump beam
// - g = spectator stats (when you spectate someone, should their information be displayed, such as speed, stats, beam, etc.)
// - h = prestrafe shower
// - i = show direction in hud
// - j = show block distance
// - k = show edge distances
// Combine multiple letters to have more than 1 enabled
// Default: abcdefghijk
js_connectflags "abcdefghijk"
// The player settings for the on/off abilitys can be saved.
// - 0 = Don't save
// - 1 = Save
// Default: 1
js_save_settings "1"
// The amount of days since the player last agreed to the legal settings and used "don't ask again" option
// - 0 = Don't remove the player's agreement
// - (DAYS) = Removes player's agreement after (DAYS) have passed
// Default: 0
js_save_prune "0"
// Enables/Disables specific techniques to be used
// - a = LongJump
// - b = HighJump
// - c = WeirdJump
// - d = BhopJump
// - e = Standup BhopJump
// - f = Drop BhopJump
// - g = Standup Drop BhopJump
// - h = CountJump
// - i = Double CountJump
// - j = Multi CountJump
// - k = Drop CountJump
// - l = LadderJump
// - m = LadderBhop
// Combine multiple letters to have more than 1 enabled
// Default: abcdefghijklm
js_techs_allowed "abcdefghijklm"
// Enforces player cvars required for jumping
// I suggest you use this one over any other one you have because:
// - It has a better detection method (if you aren't using the one by ConnorMcLeod)
// - If player disagrees to the cvars, then the player will be denied any access to the plugins, such as stats, menus, and tops.
// List of cvars:
// - developer 0
// - fps_max 101
// - cl_forwardspeed 400
// - cl_sidespeed 400
// - cl_backspeed 400
// Values:
// - 0 = Disable enforcer
// - 1 = Enable enforcer
// Note: If you change this setting during the map, it will not affect players who are already connected.
// Default: 1
js_legal_settings "1"
// This determines what happens when a player does not use a legal cvar value for jump settings
// - 0 = Disable jumping for the player and make the player agree to be able to jump again
// - 1 = Kick player from the server
// Default: 1
js_legal_settings_kick "1"
// This determines what happens when a player disagrees to using legal jump settings
// - 0 = Disable jumping for the player and make the player agree to be able to jump again
// - 1 = Kick player from the server
// Default: 1
js_legal_settings_disagree "1"
// Chat colors for specific jumps
// - 0 = normal color
// - 1 = green
// - 2 = team color
// - 3 = gray
// - 4 = red
// - 5 = blue
// Leet Default: 4
// Pro Default: 1
// Good Default: 3
js_color_leet "4"
js_color_pro "1"
js_color_good "3"
// Who hears the sounds when a jump is made
// - 0 = No one
// - 1 = The jumper and the spectators watching the jumper (if they have Spectator Stats enabled)
// - 2 = Everyone
// Note: If the person who is supposed to hear the sound does not have Jump Sounds enabled, they will not hear it.
// Leet Default: 2
// Pro Default: 2
// Good Default: 1
js_sound_leet "2"
js_sound_pro "2"
js_sound_good "1"
// The beam type to be displayed
// - 0 = no beam
// - 1 = straight line from start to finish
// - 2 = beam following player position and showing when player ducked
// Default: 2
js_beam_type "2"
// If the beam type is 1, then this is the color type to be used
// - 0 = Random color
// - 1 = Random color chosen from a set of normal colors (red, yellow, purple, ...)
// Default: 1
js_beam_color "1"
// Decides who to display the message when a player beats his/her personal best
// - 0 = Don't display a message
// - 1 = The jumper only
// - 2 = Everyone
// Default: 1
js_show_best "1"
// Decides whether the direction should be displayed if it was a forward jump
// - 0 = Hide
// - 1 = Show
// Default: 1
js_direction_forwards "1"
// Decides whether the default speed (250 speed) should be shown in chat along with the weapon used
// - 0 = Hide
// - 1 = Show
// Default: 1
js_show_default_speed "1"
// Saves the tops between map changes
// - 0 = Don't save between maps
// - 1 = Save tops from all maps
// Default: 1
js_savetops "1"
// The minimum prestrafe speed for the prestrafe shower to appear
// Default: 250
js_min_pre "250"
// The type of server that you will be running
// - 1 = Multiple rounds per map (regular server)
// - 2 = 1 round per map (KZ servers, LJ servers, etc.)
// Default: 1
js_servertype "1"
// HUD color when a player is shown stats
// Color is in "R G B" format
// Default: "0 255 0"
js_hud_color "0 255 0"
// HUD color when a player fails a jump
// Color is in "R G B" format
// Default: "255 0 127"
js_fail_color "255 0 127"
// HUD color for the speedometer
// Color is in "R G B" format
// Default: "255 255 255"
js_speed_color "255 255 255"
// Number of consecutive jumps of the same technique that are all leet jumps for the "RAMPAGE" sound to be played
// Default: 3
js_rampage_count "3"
// How many units more than the leet jump minimum must a player jump to have the "HOLY SHIT" sound to be played
// Default: 5
js_holyshit_extra "5"
// Weapons allowed for stats
////////////////////////////////////////////////
// Weapon Names:
// p228, shield, scout, hegrenade, xm1014, c4,
// mac10, aug, smokegrenade, elite, fiveseven,
// ump45, sg550, galil, famas, usp, glock18,
// awp, mp5navy, m249, m3, m4a1, tmp, g3sg1,
// flashbang, deagle, sg552, ak47, knife, p90
//
// To allow a weapon, use this format:
// js_allow_weapon <name> <chat> <sound>
// <name> is the name of the weapon
// <chat> is for showing the message in chat (1=on, 0=off)
// <sound> is for playing jump sounds for that weapon (1=on, 0=off)
//
// All weapons are allowed by default
//
// To not allow a weapon, comment the line with // or delete the line
js_allow_weapon "p228" "1" "1"
js_allow_weapon "shield" "1" "1"
js_allow_weapon "scout" "1" "1"
js_allow_weapon "hegrenade" "1" "1"
js_allow_weapon "xm1014" "1" "1"
js_allow_weapon "c4" "1" "1"
js_allow_weapon "mac10" "1" "1"
js_allow_weapon "aug" "1" "1"
js_allow_weapon "smokegrenade" "1" "1"
js_allow_weapon "elite" "1" "1"
js_allow_weapon "fiveseven" "1" "1"
js_allow_weapon "ump45" "1" "1"
js_allow_weapon "sg550" "1" "1"
js_allow_weapon "galil" "1" "1"
js_allow_weapon "famas" "1" "1"
js_allow_weapon "usp" "1" "1"
js_allow_weapon "glock18" "1" "1"
js_allow_weapon "awp" "1" "1"
js_allow_weapon "mp5navy" "1" "1"
js_allow_weapon "m249" "1" "1"
js_allow_weapon "m3" "1" "1"
js_allow_weapon "m4a1" "1" "1"
js_allow_weapon "tmp" "1" "1"
js_allow_weapon "g3sg1" "1" "1"
js_allow_weapon "flashbang" "1" "1"
js_allow_weapon "deagle" "1" "1"
js_allow_weapon "sg552" "1" "1"
js_allow_weapon "ak47" "1" "1"
js_allow_weapon "knife" "1" "1"
js_allow_weapon "p90" "1" "1"
// JumpType-Specific Cvars:
////////////////////////////////////////////////
// Minimum distance for <jumptype>
js_dist_min_<jumptype>
// Maximum distance for <jumptype>
js_dist_max_<jumptype>
// Minimum distance for <jumptype> to be considered leet
js_dist_leet_<jumptype>
// Minimum distance for HighJumps to be considered pro
js_dist_pro_<jumptype>
// Minimum distance for HighJumps to be considered good
js_dist_good_<jumptype>
To manage which weapons are allowed for stats, look in the jumpstats.cfg
For information about the JumpType-Specific Cvars, look in the jumpstats.cfg
How To Install:
There is a readme.txt file in the .zip file that you must read to install the plugins correctly.
If the plugins are not installed correctly, then bugs may occur.
Requirements:
- STEAM
- AMX Mod X version 1.8.1 or higher
- Fakemeta Module
- HamSandwich Module
- CStrike Module
- Engine Module
- Fun Module
Adding Extra Cheat Detection (such as jetpack, checkpoint, etc.):
If you use any other plugins that can add cheating to jumping, this is how you can make sure this plugin detects it so players can't cheat.
Make sure that all of the jumpstats_*.amxx plugins are ABOVE the cheating plugins in the plugins.ini
For the commands used to cheat (eg. say /gocheck), put them in the jumpstats_reset.ini
That should take care of it.
Changing Jump Sounds:
Look in the jumpstats_sounds.ini located in addons/amxmodx/configs for instructions.
How to Perform Each Technique:
LongJump
Jump from one position to an ending position at the same height of ground.
HighJump
Same technique as the LongJump, but where the jump is started, the player must have edgefriction, or a long fall in front of the player.
WeirdJump
Fall from a ground onto a lower area of ground and bhop that lower ground once you land the fall and the bhop should land on the same height of ground that you bhopped from.
CountJump
This is similar to the WeirdJump technique, except the player double ducks, or ducks once to go near the ground, then lets go to press duck again, which lifts the player off of the ground. Once the player lands on the ground that is the same height that the player came from, the player bhops the ground and lands on an area of ground the same height that the player bhopped from.
Double CountJump
This is the same as the CountJump technique, except the player double ducks twice. The second double duck is performed when the player lands on the ground from the first double duck. After the second double duck, the player continues like it is a CountJump.
Multi CountJump
This is the same as the Double CountJump technique, but the number of double ducks is at least three, which means the player can do even 5 double ducks to be considered this technique.
Drop CountJump
This technique is similar to the WeirdJump, except instead of bhopping the ground, the player performs 1 double duck and then bhops the ground. This can also be performed by jumping off of a ladder instead of falling off to a lower ground.
BhopJump
This technique is when a player bhops the ground on the same height that the player jumped from and lands on the same height.
Drop BhopJump
This technique is the same as a BhopJump, but the area that the player bhops is lower than where the player initially jumped from.
Standup BhopJump
This technique is the same as a BhopJump, but the player holds duck during the time that the player is in the air from the initial jump. Before the player touches the ground to bhop, the duck is released.
Drop Standup BhopJump
This is a simple combination of the Drop BhopJump and the Standup BhopJump.
LadderJump
This is when a player climbs up a ladder, and once the player flies off of the top of the ladder, the player strafes for a distance away from the ladder and lands on the ground that is the same height as the top of the ladder.
LadderBhop
This is similar to the WeirdJump technique, except the player jumps off of the ladder to bhop the ground.
Important Note About Correct Distance:
I have had so many people tell me that my stats are incorrect. However, my stats are 100% correct now.
There is no reason to tell me that my stats are incorrect. If you compare mine to the XJ plugin by NumB on v2.2b7, you are wrong.
I say this because of this reason here inside NumB's plugin:
Code:
- Cod:
pev(id, pev_origin, vOrigin);
fDistance1 = get_distance_f(vJumpedAt[id], vOrigin)+32.0625;
Here are the flaws with this:
The distance addon is actually 32.0, not 32.0625. Ask eDark yourself.
The distance is wrong if the player ducks to land, because it also calculates the distance between the height which is not accounted for when the player ducks.
This is how it should be calculated:
Code:
- Cod:
pev(id, pev_origin, vOrigin);
new bool:bDucking = is_in_duck(id);
if( bDucking )
vOrigin[2]+=18.0;
fDistance1 = get_distance_f(vJumpedAt[id], vOrigin)+32.0;
if( bDucking ) // we only do this because it needs to be at its original position for later code.
vOrigin[2]-=18.0;
After adding this to the XJ stats plugin, I tested:
Code:
- Cod:
[XJ] Distance: 244.561187 - 244.650802
[JS] Distance: 244.561187 - 244.650802
As you can see, they are the exact same with the duck fix.
Here is some more proof for this.
Inside the code, I added a debug message to prove that the height origins were not the same when a player ducks at the end of the jump:
[code]Code:
pev(id, pev_origin, vOrigin);
fDistance1 = get_distance_f(vJumpedAt[id], vOrigin)+32.0;
server_print("[XJ] Jump Height: %f -- Land Height: %f", vJumpedAt[id][2], vOrigin[2]);[code]
The result:
Code:
[code][XJ] Jump Height: -91.968750 -- Land Height: -109.968750[/code]
Therefore, the distance is not correct because it has to also add the height distance into the final distance.
Credits:
NumB
- Used some code from his LongJump Stats.
xPaw
- Great supporter, tester, and helper.
- Helped me with new ideas and tested for fixes since the beginning.
SchlumPF
- Helped me with correcting the distance calculations
- Helped me fix the server crashing from bhopping in one position
- Based the EdgeDistance calculation from his plugin
joaquimandrade
- Helped me with a really difficult code when adding edge distances for entities
Posters in this topic
- Reporting bugs and posting suggestions
Note to Plugin Approvers:
Please do not judge my plugin until I have it complete.
I posted it here because it's previous topic was not very organized.
It became hard for people to find my plugin and hard for me to keep up with what the people wanted.
Note to Everyone Else:
I can't remember if I fulfilled all of your requests or not.
So, if you see something that you wanted but I didn't add, post it so that I can add it (if it's necessary).