Проблем с airaccelerate в jump stats плъгин

Въпроси и проблеми свързани с AMXModX.
Аватар
Leonardo Da Vinci
Извън линия
Потребител
Потребител
Мнения: 67
Регистриран на: 30 Мар 2018, 20:55
Местоположение: #include <amxmodx>

Проблем с airaccelerate в jump stats плъгин

Мнение от Leonardo Da Vinci » 27 Фев 2019, 19:26

Добър вечер! Използвам uq_jumpstats плъгин за статсовете и airaccelerate changer-а на @Huehue.

Проблемът ми е, че когато скачам със 100aa и направя даден скок, във чата скока се отчита със 100aa. Когато сменя на 10aa, скока пак се отчита на 100aa, но технически аз играя със 10aa. Трябва някак да се свържат двата плъгина. :worried:


Кодове:
uq_jumpstats

Код за потвърждение: Избери целия код

/*
	stats by kzuq^BorJomi 
	version 2.42
	
	Big thanks developers of kz_ljs_xm and Exolent
	
	Visit  http://unique-kz.com/
	
		2011 year
*/

#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <fakemeta>
#include <engine>
#include <cstrike>
#include <hamsandwich>
#include <uq_jumpstats_const.inc>
#include <uq_jumpstats_stocks.inc>
#include <celltrie>

#define VERSION "2.42"
#pragma semicolon 1

////////////////////////////////////Some shit varibeles////////////////////////////////////
new dd_sync[33],angles_arry[33],Float:old_angles[33][3],lost_frame_count[33][NSTRAFES],line_lost[33][NSTRAFES][NVAR],FullJumpFrames[33],heystats,max_players,bool:duckbhop_bug_pre[33],bool:dropupcj[33],Float:first_duck_z[33],screenshoot,Float:checkladdertime[33],bool:ladderbug[33],bool:login[33];
new uq_istrafe,kz_uq_istrafe,bug_check[33],bool:bug_true[33],bool:find_ladder[33],bool:Checkframes[33],type_button_what[33][100];
new min_pre,beam_type[33],min_prestrafe[33],dropbhop[33],ddnum[33],bool:dropaem[33],bool:ddforcj[33];
new kz_uq_min_other,bool:slide_protec[33],bool:UpcjFail[33],bool:upBhop[33],Float:upheight[33];
new beam_entity[33][NVAR],ent_count[33],kz_uq_extras,sql_stats,kz_sql,g_sql_pid[33],kz_top_rank_by,kz_uq_block_top;

new bool:height_show[33],bool:firstfall_ground[33],framecount[33],bool:firstladder[33];
new Float:FallTime[33],Float:FallTime1[33],multiscj[33],multidropcj[33],bool:enable_sound[33];
new jumpblock[33],Float:edgedist[33];
new bool:failed_jump[33],bool:started_multicj_pre[33],bool:sync_doubleduck[33],bhop_num[33],bool:Show_edge_Fail[33],bool:Show_edge[33],bool:fps_hight[33],bool:first_ground_bhopaem[33];

new line_erase[33][NSTRAFES],line_erase_strnum[33];

new max_edge,min_edge,NSTRAFES1,max_strafes,Float:nextbhoptime[33],Float:bhopaemtime[33],Float:ground_bhopaem_time[33],Float:SurfFrames[33],Float:oldSurfFrames[33],bool:first_air[33];
new bool:preessbutton[33],button_what[33],bool:gBeam_button[33][100],gBeam_button_what[33][100];
new bool:h_jumped[33],Float:heightoff_origin[33],web_stats,Float:x_heightland_origin[33],bool:x_jump[33],Float:laddertime[33],bool:edgedone[33];
new schetchik[33],Float:changetime[33],bool:edgeshow[33],bool:slide[33],pre_type[33][33];

new bool:ingame_strafe[33],bool:ljpre[33],Float:distance[33],detecthj[33],bool:doubleduck[33];
new Float:doubletime[33],bool:multibhoppre[33],kz_uq_fps,bool:duckbhop[33],MAX_DISTANCE,Float:upbhop_koeff[33];
new Float:rDistance[3],Float:frame2time,bool:touch_ent[33],bool:ddbeforwj[33],bool:gHasColorChat[33],Float:old_angle1[33];
new bool:g_lj_stats[33],strafe_num[33],bool:g_Jumped[33],bool:g_reset[33],ljsDir[64],ljsDir_weapon[8][64],ljsDir_block[64],Float:gBeam_points[33][100][3],gBeam_duck[33][100],gBeam_count[33];

new gBeam,waits[33],waits1[33],Float:slideland[33],bool:backwards[33],bool:hookcheck[33],Float:timeonground[33];
new map_dist[NTOP+1],map_syncc[NTOP+1],map_maxsped[NTOP+1], map_prestr[NTOP+1],map_names[NTOP+1][33],map_ip[NTOP+1][33],map_streif[NTOP+1],map_type[NTOP+1][33];
new kz_uq_lj,kz_uq_cj,kz_uq_dcj,kz_uq_mcj ,kz_uq_ladder,kz_uq_ldbj,kz_uq_bj,kz_uq_sbj,kz_uq_drbj,kz_uq_drsbj,kz_uq_drcj,kz_uq_wj;	

new oldpre[33],oldljpre[33],oldfail[33],Float:starthj[33][3],Float:stophj[33][3], Float:endhj[33][3];
new bool:landslide[33],strafecounter_oldbuttons[33],Float:Fulltime,Float:needslide[33],Float:groundslide[33];
new jj,sync_[33],goodSyncTemp,badSyncTemp,strafe_lost_frame[33][NSTRAFES],Float:time_,Float:strafe_stat_time[33][NSTRAFES],Float:strafe_stat_speed[33][NSTRAFES][2];
new strafe_stat_sync[33][NSTRAFES][2],strLen,strMess[40*NSTRAFES],strMessBuf[40*NSTRAFES],team[33];

new bool:g_pBot[33],strL,strM[40*NSTRAFES],strMBuf[40*NSTRAFES],Float:firstvel[33],Float:secvel[33],Float:firstorig[33][3],Float:secorig[33][3];
new Float:speed[33], Float:TempSpeed[33],Float:statsduckspeed[33][500]; 
new bool:slidim[33],Float:slidedist[33],edgefriction,mp_footsteps,sv_cheats,sv_airaccelerate,sv_maxspeed,sv_stepsize,sv_maxvelocity,sv_gravity;

new kz_min_dcj,kz_stats_x,kz_stats_y,Float:stats_x,Float:stats_y,taskslide[33],taskslide1[33],bool:failslide[33];
new Float:failslidez[33],kz_strafe_x,kz_strafe_y,Float:strafe_x,Float:strafe_y,Float:laddist[33],kz_duck_x;
new kz_duck_y,Float:duck_x,Float:duck_y,bool:bhopaem[33],bool:nextbhop[33],kz_stats_red,kz_stats_green, kz_stats_blue, kz_failstats_red,kz_failstats_green;
new kz_failstats_blue, kz_sounds, kz_airaccelerate,kz_uq_url,kz_prefix,kz_legal_settings;

new kz_good_lj,kz_pro_lj,kz_holy_lj,kz_leet_lj,kz_god_lj,kz_good_bj,kz_pro_bj,kz_holy_bj,kz_leet_bj,kz_god_bj;
new kz_good_cj,kz_pro_cj,kz_holy_cj,kz_leet_cj,kz_god_cj,kz_good_wj,kz_pro_wj,kz_holy_wj,kz_leet_wj,kz_god_wj;
new kz_good_dbj,kz_pro_dbj, kz_holy_dbj,kz_leet_dbj, kz_god_dbj,kz_good_scj,kz_pro_scj, kz_holy_scj,kz_leet_scj, kz_god_scj;
new kz_good_ladder,kz_pro_ladder,kz_holy_ladder, kz_leet_ladder,kz_god_ladder,kz_good_dcj,kz_pro_dcj,kz_holy_dcj,kz_leet_dcj,kz_god_dcj;

new kz_god_duckbhop,kz_holy_duckbhop,kz_pro_duckbhop,kz_good_duckbhop,kz_good_dropscj,kz_pro_dropscj,kz_holy_dropscj,kz_leet_dropscj,kz_god_dropscj;
new kz_good_real,kz_pro_real,kz_holy_real,kz_leet_real,kz_god_real,kz_good_bhopinduck,kz_pro_bhopinduck,kz_holy_bhopinduck,kz_leet_bhopinduck,kz_god_bhopinduck;
new kz_god_upbj,kz_leet_upbj,kz_good_upbj, kz_pro_upbj,kz_holy_upbj,kz_god_upsbj,kz_leet_upsbj,kz_good_upsbj, kz_pro_upsbj,kz_holy_upsbj;
new kz_uq_dscj,kz_uq_mscj,kz_leet_duckbhop,kz_uq_dropscj,kz_uq_dropdscj,kz_uq_dropmscj,kz_uq_duckbhop,kz_uq_bhopinduck,kz_uq_realldbhop,kz_uq_multibhop,kz_uq_upbj,kz_uq_upbhopinduck,kz_uq_upsbj,kz_uq_dropdcj,kz_uq_dropmcj;

new user_block[33][2],Float:slidez[33][4][3],prefix[64];

new CjafterJump[33],bool:ddafterJump[33],bool:cjjump[33],bool:serf_reset[33],entlist[256],ent,nLadder,Float:ladderxyz[256][3],Float:ladderminxyz[256][3], Float:laddersize[256][3], nashladder,bool:ladderjump[33];
new bool:kz_stats_pre[33], bool:kz_beam[33],bool:showpre[33],bool:showjofon[33],bool:speedon[33],bool:jofon[33];

new Float:dropbjorigin[33][3], Float:falloriginz[33],Float:origin[3],ducks[33], movetype[33];
static Float:maxspeed[33], Float:prestrafe[33],JumpType:jump_type[33],JumpType:old_type_dropbj[33], frames[33], frames_gained_speed[33], bool:turning_left[33];
static bool:turning_right[33],bool:started_cj_pre[33],bool:in_duck[33], bool:in_bhop[33],bool:in_air[33],bool:in_ladder[33];
new bool:player_admin[33],bool:failearly[33],bool:firstshow[33],bool:first_onground[33],bool:notjump[33],bool:OnGround[33],bool:donehook[33];

new bool:streifstat[33],Jtype[33][33],Jtype1[33][33],Jtype_old_dropbj[33][33],Jtype_old_dropbj1[33][33],Float:weapSpeed[33],Float:weapSpeedOld[33];
new airacel[33][33],bool:firstfr[33],kz_speed_x,kz_speed_y,hud_stats,hud_streif,hud_pre,hud_duck,hud_speed; 
new kz_uq_connect,kz_uq_light,bool:duckstring[33],kz_uq_top,kz_uq_maptop,bool:showduck[33],Float:surf[33];
new bool:first_surf[33],oldjump_type[33],oldjump_typ1[33],jump_typeOld[33],mapname[33],Float:duckstartz[33],direct_for_strafe[33];
new Float:height_difference[33],kz_uq_team,bool:jumpoffirst[33],bool:posibleScj[33];
new kz_uq_noslow,kz_prest_x,kz_prest_y,kz_speed_r,kz_speed_g,kz_speed_b,kz_prest_r,kz_prest_g,kz_prest_b;

new weapon_top,bool:touch_somthing[33],record_start[33],allow_info;
new showtime_st_stats[33];

new Float:jof[33],weapon_block_top;

new g_playername[33][64], g_playersteam[33][35], g_playerip[33][16], rankby,plugin_ver[33];

new ljsDir_block_weapon[8][64],uq_host,uq_user,uq_pass,uq_db,Handle:DB_TUPLE,Handle:SqlConnection,g_error[512],sql_Cvars_num[SQLCVARSNUM];
new sql_JumpType[33];
new Trie:JData,Trie:JData_Block,Float:oldjump_height[33],Float:jheight[33],bool:jheight_show[33];

new uq_lj,uq_cj,uq_dcj,uq_mcj,uq_ladder,uq_ldbj,uq_bj,uq_sbj,uq_drbj,uq_drsbj,uq_drcj;	
new uq_wj,uq_dscj,uq_mscj,uq_dropscj,uq_dropdscj,uq_dropmscj,uq_duckbhop,uq_bhopinduck;
new uq_realldbhop,uq_upbj,uq_upbhopinduck,uq_upsbj,uq_multibhop,uq_dropdcj,uq_dropmcj;
new dcj_god_dist,dcj_leet_dist,dcj_holy_dist,dcj_pro_dist,dcj_good_dist;
new lj_god_dist,lj_leet_dist,lj_holy_dist,lj_pro_dist,lj_good_dist;
new ladder_god_dist,ladder_leet_dist,ladder_holy_dist,ladder_pro_dist,ladder_good_dist;
new wj_god_dist,wj_leet_dist,wj_holy_dist,wj_pro_dist,wj_good_dist;
new bj_god_dist,bj_leet_dist,bj_holy_dist,bj_pro_dist,bj_good_dist;
new cj_god_dist,cj_leet_dist,cj_holy_dist,cj_pro_dist,cj_good_dist;
new dbj_god_dist,dbj_leet_dist,dbj_holy_dist,dbj_pro_dist,dbj_good_dist;
new scj_god_dist,scj_leet_dist,scj_holy_dist,scj_pro_dist,scj_good_dist;
new dropscj_god_dist,dropscj_leet_dist,dropscj_holy_dist,dropscj_pro_dist,dropscj_good_dist;
new bhopinduck_god_dist,bhopinduck_leet_dist,bhopinduck_holy_dist,bhopinduck_pro_dist,bhopinduck_good_dist;
new upbj_god_dist,upbj_leet_dist,upbj_holy_dist,upbj_pro_dist,upbj_good_dist;
new upsbj_god_dist,upsbj_leet_dist,upsbj_holy_dist,upsbj_pro_dist,upsbj_good_dist;
new real_god_dist,real_leet_dist,real_holy_dist,real_pro_dist,real_good_dist;
new duckbhop_god_dist,duckbhop_leet_dist,duckbhop_holy_dist,duckbhop_pro_dist,duckbhop_good_dist;
new web_sql,max_distance,min_distance_other,min_distance,uq_airaccel,leg_settings,uq_sounds;
new uq_maxedge,uq_minedge,uq_min_pre,speed_r,speed_g,speed_b,Float:speed_x,Float:speed_y,h_speed,kz_top,kz_extras,kz_weapon,kz_block_top;
new uq_team,prest_r,prest_g,prest_b,Float:prest_x,Float:prest_y,h_prest,h_stats,h_duck,h_streif;				
new uq_noslow,uq_light,uq_screen,uq_info,uq_fps,kz_map_top,kz_wpn_block_top,stats_r,stats_b,stats_g,f_stats_r,f_stats_b,f_stats_g;
//new uq_sv_maxvelocity,uq_sv_stepsize,uq_sv_maxspeed,uq_edgefriction,uq_mp_footsteps,uq_sv_cheats,uq_sv_gravity,uq_sv_airaccelerate;
new kz_uq_script_work,uq_script_work,uq_ban_minutes,kz_uq_ban_minutes,uq_bug,kz_uq_bug,uq_script_notify,kz_uq_script_notify,uq_admins,kz_uq_admins,kz_uq_script_detection,uq_script_detection,kz_uq_update_auth,uq_update_auth;
new doubleduck_stat_sync[33][2],logs_path[128],uq_script_punishment,kz_uq_script_punishment,uq_ban_authid,uq_ban_type,kz_uq_ban_authid,kz_uq_ban_type;
new kz_uq_block_chat_show,kz_uq_block_chat_min,uq_block_chat_show,uq_block_chat_min;


new bool:speedtype[33],ddforcjafterbhop[33],ddforcjafterladder[33],ddstandcj[33];
new bool:trigger_protection[33],kz_uq_speed_allteam,uq_speed_allteam;

new sql_Cvars[SQLCVARSNUM][] = { //cvars for db
	"kz_uq_save_extras_top",
	"kz_uq_top_by",
	"kz_uq_sql",
	"kz_uq_block_top"
};

new Trie:JumpPlayers;

new const KZ_CVARSDIR[] = "config.cfg";

public plugin_init()
{
	register_plugin( "JumpStats", VERSION, "BorJomi" );
	
	register_dictionary("uq_jumpstats.txt");
	
	kz_good_lj            = register_cvar("kz_uq_good_lj",            "240");	// lj hj
	kz_pro_lj            = register_cvar("kz_uq_pro_lj",             "245");
	kz_holy_lj            = register_cvar("kz_uq_holy_lj",            "250");
	kz_leet_lj           = register_cvar("kz_uq_leet_lj",            "253");
	kz_god_lj           = register_cvar("kz_uq_god_lj",            "255");
	
	kz_good_cj            = register_cvar("kz_uq_good_cj",            "250");	// cj
	kz_pro_cj            = register_cvar("kz_uq_pro_cj",             "255");
	kz_holy_cj            = register_cvar("kz_uq_holy_cj",            "260");
	kz_leet_cj           = register_cvar("kz_uq_leet_cj",            "265");
	kz_god_cj           = register_cvar("kz_uq_god_cj",            "267");
	
	kz_good_dcj            = register_cvar("kz_uq_good_dcj",            "250");	// dcj mcj
	kz_pro_dcj            = register_cvar("kz_uq_pro_dcj",             "255");
	kz_holy_dcj            = register_cvar("kz_uq_holy_dcj",            "260");
	kz_leet_dcj           = register_cvar("kz_uq_leet_dcj",            "265");
	kz_god_dcj           = register_cvar("kz_uq_god_dcj",            "270");
	
	kz_good_ladder           = register_cvar("kz_uq_good_ladder",            "150");	// ladder
	kz_pro_ladder           = register_cvar("kz_uq_pro_ladder",             "160");
	kz_holy_ladder           = register_cvar("kz_uq_holy_ladder",            "170");
	kz_leet_ladder           = register_cvar("kz_uq_leet_ladder",            "180");
	kz_god_ladder          = register_cvar("kz_uq_god_ladder",            "190");
	
	kz_good_bj           = register_cvar("kz_uq_good_bj",            "230");	// bj sbj
	kz_pro_bj           = register_cvar("kz_uq_pro_bj",             "235");
	kz_holy_bj           = register_cvar("kz_uq_holy_bj",            "240");
	kz_leet_bj           = register_cvar("kz_uq_leet_bj",            "245");
	kz_god_bj          = register_cvar("kz_uq_god_bj",            "247");
	
	kz_good_wj          = register_cvar("kz_uq_good_wj",            "255");	// wj dropcj ladderbhop
	kz_pro_wj           = register_cvar("kz_uq_pro_wj",             "260");
	kz_holy_wj           = register_cvar("kz_uq_holy_wj",            "265");
	kz_leet_wj           = register_cvar("kz_uq_leet_wj",            "270");
	kz_god_wj          = register_cvar("kz_uq_god_wj",            "272");
	
	kz_good_dbj          = register_cvar("kz_uq_good_dbj",            "240");	// 
	kz_pro_dbj          = register_cvar("kz_uq_pro_dbj",             "250");
	kz_holy_dbj          = register_cvar("kz_uq_holy_dbj",            "265");
	kz_leet_dbj           = register_cvar("kz_uq_leet_dbj",            "270");
	kz_god_dbj          = register_cvar("kz_uq_god_dbj",            "272");
	
	kz_good_scj          = register_cvar("kz_uq_good_scj",            "245");	// 
	kz_pro_scj          = register_cvar("kz_uq_pro_scj",             "250");
	kz_holy_scj          = register_cvar("kz_uq_holy_scj",            "255");
	kz_leet_scj           = register_cvar("kz_uq_leet_scj",            "260");
	kz_god_scj          = register_cvar("kz_uq_god_scj",            "262");
	
	kz_good_dropscj          = register_cvar("kz_uq_good_dropscj",            "255");	// 
	kz_pro_dropscj          = register_cvar("kz_uq_pro_dropscj",             "260");
	kz_holy_dropscj          = register_cvar("kz_uq_holy_dropscj",            "265");
	kz_leet_dropscj           = register_cvar("kz_uq_leet_dropscj",            "270");
	kz_god_dropscj          = register_cvar("kz_uq_god_dropscj",            "272");
	
	kz_good_duckbhop          = register_cvar("kz_uq_good_duckbhop",            "120");	// 
	kz_pro_duckbhop          = register_cvar("kz_uq_pro_duckbhop",             "130");
	kz_holy_duckbhop          = register_cvar("kz_uq_holy_duckbhop",            "140");
	kz_leet_duckbhop         = register_cvar("kz_uq_leet_duckbhop",            "150");
	kz_god_duckbhop         = register_cvar("kz_uq_god_duckbhop",            "160");
	
	kz_good_bhopinduck         = register_cvar("kz_uq_good_bhopinduck",            "205");	// 
	kz_pro_bhopinduck          = register_cvar("kz_uq_pro_bhopinduck",             "210");
	kz_holy_bhopinduck          = register_cvar("kz_uq_holy_bhopinduck",            "215");
	kz_leet_bhopinduck          = register_cvar("kz_uq_leet_bhopinduck",            "218");
	kz_god_bhopinduck         = register_cvar("kz_uq_god_bhopinduck",            "220");
	
	kz_good_real         = register_cvar("kz_uq_good_realldbhop",            "240");	// 
	kz_pro_real          = register_cvar("kz_uq_pro_realldbhop",             "250");
	kz_holy_real         = register_cvar("kz_uq_holy_realldbhop",            "265");
	kz_leet_real         = register_cvar("kz_uq_leet_realldbhop",            "270");
	kz_god_real         = register_cvar("kz_uq_god_realldbhop",            "272");
	
	kz_good_upbj         = register_cvar("kz_uq_good_upbj",            "225");	// 
	kz_pro_upbj          = register_cvar("kz_uq_pro_upbj",             "230");
	kz_holy_upbj          = register_cvar("kz_uq_holy_upbj",            "235");
	kz_leet_upbj          = register_cvar("kz_uq_leet_upbj",            "240");
	kz_god_upbj         = register_cvar("kz_uq_god_upbj",            "245");
	
	kz_good_upsbj         = register_cvar("kz_uq_good_upbj",            "230");	// 
	kz_pro_upsbj          = register_cvar("kz_uq_pro_upbj",             "235");
	kz_holy_upsbj          = register_cvar("kz_uq_holy_upbj",            "240");
	kz_leet_upsbj          = register_cvar("kz_uq_leet_upbj",            "244");
	kz_god_upsbj         = register_cvar("kz_uq_god_upbj",            "246");
	
	kz_min_dcj          = register_cvar("kz_uq_min_dist",            "215");
	MAX_DISTANCE         = register_cvar("kz_uq_max_dist",            "290");
	
	kz_stats_red        = register_cvar("kz_uq_stats_red",        "0");		
	kz_stats_green      = register_cvar("kz_uq_stats_green",      "255");
	kz_stats_blue       = register_cvar("kz_uq_stats_blue",       "159");
	kz_failstats_red        = register_cvar("kz_uq_failstats_red",        "255");		
	kz_failstats_green      = register_cvar("kz_uq_failstats_green",      "0");
	kz_failstats_blue       = register_cvar("kz_uq_failstats_blue",       "109");
	
	kz_sounds 	     = register_cvar("kz_uq_sounds",           "1");
	kz_top_rank_by        = register_cvar("kz_uq_top_by",        "1");		// How ranking will work? 0=name, 1=ip 2=steam
	kz_legal_settings     = register_cvar("kz_uq_legal_settings",     "1");
	kz_prefix 	       = register_cvar("kz_uq_prefix",       "unique-kz");
	kz_airaccelerate     = register_cvar("kz_uq_airaccelerate",     "10");
	
	kz_stats_x        = register_cvar("kz_uq_stats_x",        "-1.0");		
	kz_stats_y      = register_cvar("kz_uq_stats_y",      "0.70");
	kz_strafe_x        = register_cvar("kz_uq_strafe_x",        "0.70");		
	kz_strafe_y      = register_cvar("kz_uq_strafe_y",      "0.35");
	kz_duck_x        = register_cvar("kz_uq_duck_x",        "0.6");		
	kz_duck_y      = register_cvar("kz_uq_duck_y",      "0.78");
	kz_speed_x        = register_cvar("kz_uq_speed_x",        "-1.0");		
	kz_speed_y      = register_cvar("kz_uq_speed_y",      "0.83");
	kz_prest_x        = register_cvar("kz_uq_prestrafe_x",        "-1.0");		
	kz_prest_y      = register_cvar("kz_uq_prestrafe_y",      "0.65");
	
	kz_speed_r        = register_cvar("kz_uq_speed_red",        "255");		
	kz_speed_g        = register_cvar("kz_uq_speed_green",      "255");
	kz_speed_b          = register_cvar("kz_uq_speed_blue",        "255");		
	kz_prest_r        = register_cvar("kz_uq_prestrafe_red",        "255");		
	kz_prest_g      = register_cvar("kz_uq_prestrafe_green",      "255");
	kz_prest_b        = register_cvar("kz_uq_prestrafe_blue",        "255");
	
	hud_stats       = register_cvar("kz_uq_hud_stats",        "3");		
	hud_streif    = register_cvar("kz_uq_hud_strafe",      "4");
	hud_pre      = register_cvar("kz_uq_hud_pre",        "1");		
	hud_duck     = register_cvar("kz_uq_hud_duck",      "1");
	hud_speed     = register_cvar("kz_uq_hud_speed",      "2");
	
	kz_uq_lj       = register_cvar("kz_uq_lj",        "1");	
	kz_uq_cj       = register_cvar("kz_uq_cj",        "1");	
	kz_uq_dcj       = register_cvar("kz_uq_dcj",        "1");	
	kz_uq_mcj       = register_cvar("kz_uq_mcj",        "1");	
	kz_uq_ladder       = register_cvar("kz_uq_ladder",        "1");	
	kz_uq_ldbj       = register_cvar("kz_uq_ldbj",        "1");	
	kz_uq_bj       = register_cvar("kz_uq_bj",        "1");	
	kz_uq_sbj       = register_cvar("kz_uq_sbj",        "1");	
	kz_uq_drbj       = register_cvar("kz_uq_drbj",        "1");	
	kz_uq_drsbj       = register_cvar("kz_uq_scj",        "1");	
	kz_uq_drcj       = register_cvar("kz_uq_drcj",        "1");	
	kz_uq_wj       = register_cvar("kz_uq_wj",        "1");	
	
	kz_uq_dscj       = register_cvar("kz_uq_dscj",        "1");	
	kz_uq_mscj       = register_cvar("kz_uq_mscj",        "1");
	kz_uq_dropscj       = register_cvar("kz_uq_dropscj",        "1");
	kz_uq_dropdscj       = register_cvar("kz_uq_dropdscj",        "1");
	kz_uq_dropmscj       = register_cvar("kz_uq_dropmscj",        "1");
	kz_uq_duckbhop       = register_cvar("kz_uq_duckbhop",        "1");
	kz_uq_bhopinduck      = register_cvar("kz_uq_bhopinduck",        "1");
	kz_uq_realldbhop       = register_cvar("kz_uq_realldbhop",        "1");
	kz_uq_upbj      = register_cvar("kz_uq_upbj",        "1");
	kz_uq_upbhopinduck      = register_cvar("kz_uq_upbhopinduck",        "1");
	kz_uq_upsbj       = register_cvar("kz_uq_upsbj",        "1");
	kz_uq_multibhop      = register_cvar("kz_uq_multibhop",        "1");
	kz_uq_dropdcj      = register_cvar("kz_uq_dropdcj",        "1");
	kz_uq_dropmcj     = register_cvar("kz_uq_dropmcj",        "1");
	
	kz_uq_light    = register_cvar("kz_uq_light",      "0");
	kz_uq_connect = register_cvar("kz_uq_connect", "abdehklmn");
	kz_uq_fps = register_cvar("kz_uq_fps", "1");	
	kz_uq_top = register_cvar("kz_uq_save_top", "1");
	kz_uq_maptop = register_cvar("kz_uq_maptop", "1");
	kz_uq_team = register_cvar("kz_uq_team", "0");
	kz_uq_istrafe = register_cvar("kz_uq_istrafes", "0");
	
	max_edge = register_cvar("kz_uq_max_block", "290");
	min_edge = register_cvar("kz_uq_min_block", "100");
	min_pre = register_cvar("kz_uq_min_pre", "60");
	kz_uq_min_other = register_cvar("kz_uq_min_dist_other",            "120");
	kz_uq_extras = register_cvar("kz_uq_save_extras_top", "1");
	max_strafes = register_cvar("kz_uq_max_strafes", "14");
	screenshoot = register_cvar("kz_uq_screenshoot", "0");
	
	sql_stats = register_cvar("kz_uq_sql", "0");
	web_stats = register_cvar("kz_uq_web", "0");
	
	uq_host = register_cvar("kz_uq_host", "127.0.0.1");
	uq_user = register_cvar("kz_uq_user", "root");
	uq_pass = register_cvar("kz_uq_pass", "");
	uq_db = register_cvar("kz_uq_db", "uq_jumpstats");
		
	allow_info = register_cvar("kz_uq_demo_info", "1");
	weapon_top = register_cvar("kz_uq_weapons_top", "1");
	weapon_block_top = register_cvar("kz_uq_block_weapons", "1");
	kz_uq_url = register_cvar("kz_uq_url","http://localhost/uq_jumpstats/index.php?type=lj&from_game=true");
	kz_uq_block_top = register_cvar("kz_uq_block_top", "1");
	
	kz_uq_bug=register_cvar("kz_uq_bug_check", "1");
	kz_uq_noslow=register_cvar("kz_uq_noslowdown", "0");
	
	kz_uq_admins = register_cvar("kz_uq_only_admins", "0");
	kz_uq_script_detection = register_cvar("kz_uq_script_detection", "1");
	kz_uq_update_auth = register_cvar("kz_uq_update_auth", "1");
	kz_uq_script_notify = register_cvar("kz_uq_script_notify", "1");
	kz_uq_script_punishment = register_cvar("kz_uq_script_punishment", "0");
	kz_uq_script_work = register_cvar("kz_uq_script_work", "2");
	
	kz_uq_ban_type = register_cvar("kz_uq_ban_type", "0");
	kz_uq_ban_authid = register_cvar("kz_uq_ban_authid", "0");
	kz_uq_ban_minutes = register_cvar("kz_uq_ban_minutes", "45");
	
	kz_uq_block_chat_show = register_cvar("kz_uq_block_chat_show", "1");
	kz_uq_block_chat_min = register_cvar("kz_uq_block_chat_min", "1");
	
	kz_uq_speed_allteam = register_cvar("kz_uq_speed_allteam", "1");
	
	register_cvar( "uq_jumpstats", VERSION, FCVAR_SERVER|FCVAR_SPONLY);
	
	register_concmd("amx_reset_uqtops","reset_tops",ADMIN_CVAR ,"reset all tops");
	
	register_clcmd( "say /strafe",	"streif_stats" ,         ADMIN_ALL, "- enabled/disables");
	register_clcmd( "say /strafes",	"streif_stats" ,         ADMIN_ALL, "- enabled/disables");
	register_clcmd( "say /strafestat",	"streif_stats" ,         ADMIN_ALL, "- enabled/disables");
	register_clcmd( "say /strafestats",	"streif_stats" ,         ADMIN_ALL, "- enabled/disables");
	register_clcmd( "say /showpre",	"show_pre" ,         ADMIN_ALL, "- enabled/disables");
	register_clcmd( "say /duck",	"pre_stats" ,         ADMIN_ALL, "- enabled/disables");
	register_clcmd( "say /ducks",	"pre_stats" ,         ADMIN_ALL, "- enabled/disables");
	register_clcmd( "say /uqstats",		"cmdljStats",         ADMIN_ALL, "- enabled/disables" );
	register_clcmd( "say /ljstats",		"cmdljStats",         ADMIN_ALL, "- enabled/disables" );
	register_clcmd( "say /stats",		"cmdljStats",         ADMIN_ALL, "- enabled/disables" );
	register_clcmd( "say /heigh",		"heightshow",         ADMIN_ALL, "- enabled/disables" );
	register_clcmd( "say /fall",		"heightshow",         ADMIN_ALL, "- enabled/disables" );
	
	register_clcmd( "say /uqversion",	"cmdVersion",         ADMIN_ALL);
	register_clcmd( "say uqversion",	"cmdVersion",         ADMIN_ALL);
	register_clcmd("say /uqbeam",     "cmdljbeam",         ADMIN_ALL);
	register_clcmd("say /beam",     "cmdljbeam",         ADMIN_ALL);
	register_clcmd("say /ljbeam",     "cmdljbeam",         ADMIN_ALL);
	register_clcmd("say /speed",     "show_speed",         ADMIN_ALL);
	register_clcmd("say speed",     "show_speed",         ADMIN_ALL);
	register_clcmd("say /colorchat",     "cmdColorChat",         ADMIN_ALL);
	register_clcmd("say colorchat",     "cmdColorChat",         ADMIN_ALL);
	register_clcmd("say /bhopwarn",     "show_early",         ADMIN_ALL);
	register_clcmd("say /multibhop",     "multi_bhop",         ADMIN_ALL);
	register_clcmd("say /duckspre",     "duck_show",         ADMIN_ALL);
	register_clcmd("say /duckpre",     "duck_show",         ADMIN_ALL);
	register_clcmd("say /ljpre",     "lj_show",         ADMIN_ALL);
	register_clcmd("say /prelj",     "lj_show",         ADMIN_ALL);
	register_clcmd("say /uqsound",     "enable_sounds",         ADMIN_ALL);
	register_clcmd("say /uqsounds",     "enable_sounds",         ADMIN_ALL);
	
	register_clcmd("say /failedge",     "ShowedgeFail",         ADMIN_ALL);
	register_clcmd("say /failedg",     "ShowedgeFail",         ADMIN_ALL);
	register_clcmd("say /edgefail",     "ShowedgeFail",         ADMIN_ALL);
	register_clcmd("say /edgfail",     "ShowedgeFail",         ADMIN_ALL);
	register_clcmd("say /edge",     "Showedge",         ADMIN_ALL);
	register_clcmd("say /edg",     "Showedge",         ADMIN_ALL);
	
	register_clcmd("say /joftrainer",     "trainer_jof",         ADMIN_ALL);
	register_clcmd("say joftrainer",     "trainer_jof",         ADMIN_ALL);
	register_clcmd("say /joftr",     "trainer_jof",         ADMIN_ALL);
	register_clcmd("say joftr",     "trainer_jof",         ADMIN_ALL);
	
	register_clcmd("say /speedt",     "speed_type",         ADMIN_ALL);
	register_clcmd("say speedt",     "speed_type",         ADMIN_ALL);
	
	register_clcmd("say /jof",     "show_jof",         ADMIN_ALL);
	register_clcmd("say jof",     "show_jof",         ADMIN_ALL);
	
	register_clcmd("say /jheigh",     "show_jheight",         ADMIN_ALL);
	register_clcmd("say jheigh",     "show_jheight",         ADMIN_ALL);
	
	register_clcmd("say /istrafe",     "ingame_st_stats",         ADMIN_ALL);
	register_clcmd("say istrafe",     "ingame_st_stats",         ADMIN_ALL);
	
	register_clcmd("say /options",     "Option",         ADMIN_ALL);
	register_clcmd("say /ljsmenu",     "Option",         ADMIN_ALL);
	register_clcmd("say /ljsmenu2",     "Option2",         ADMIN_ALL);
	register_clcmd("say /uqmenu",     "Option",         ADMIN_ALL);
	register_clcmd("say /option",     "Option",         ADMIN_ALL);

	register_menucmd(register_menuid("StatsOptionMenu1"),          1023, "OptionMenu1");
	register_menucmd(register_menuid("StatsOptionMenu2"),          1023, "OptionMenu2");
	register_menucmd(register_menuid("StatsOptionMenu3"),          1023, "OptionMenu3");
	
	edgefriction          = get_cvar_pointer("edgefriction");
	mp_footsteps          = get_cvar_pointer("mp_footsteps");
	sv_cheats             = get_cvar_pointer("sv_cheats");
	sv_gravity            = get_cvar_pointer("sv_gravity");
	sv_airaccelerate      = get_cvar_pointer("sv_airaccelerate");
	sv_maxspeed           = get_cvar_pointer("sv_maxspeed");
	sv_stepsize           = get_cvar_pointer("sv_stepsize");
	sv_maxvelocity        = get_cvar_pointer("sv_maxvelocity");
	
	
	register_forward(FM_Touch,           "fwdTouch",           1);
	register_forward( FM_PlayerPreThink,	"fwdPreThink",	0 );
	register_forward( FM_PlayerPostThink,	"fwdPostThink",	0 );
	
	RegisterHam(Ham_Spawn, "player", "FwdPlayerSpawn", 1);
	RegisterHam(Ham_Killed, "player", "FwdPlayerDeath", 1);
	RegisterHam(Ham_Touch, "player",	"HamTouch");
	
	register_event("ResetHUD","ResetHUD","b");
	
	
	
	max_players=get_maxplayers()+1;
	
	ent=find_ent_by_class(-1,"func_ladder");
	while( ent > 0 )
	{
		entity_get_vector ( ent, EV_VEC_maxs, ladderxyz[nLadder] );
		entity_get_vector ( ent, EV_VEC_mins, ladderminxyz[nLadder] );
		entity_get_vector ( ent, EV_VEC_size, laddersize[nLadder] );
		entlist[nLadder]=ent;
		
		ent = find_ent_by_class(ent,"func_ladder");
		nLadder++;
	}
	
	get_mapname(mapname, 32);
	
	// Logs
	new logs[64];
	get_localinfo("amxx_logs", logs, 63);
	formatex(logs_path, 127, "%s\uq_jumpstats.txt", logs);
	
	
}

public plugin_natives()
{
	register_native("kz_get_configsdir", "native_kz_get_configsdir", 1);
	
}
public plugin_cfg()
{
	new cvarfiles[100], uqpath[64];
	kz_get_configsdir(uqpath, 63);
	formatex(cvarfiles, 99, "%s/%s", uqpath, KZ_CVARSDIR);
	
	if( file_exists(cvarfiles) )
	{
		server_cmd("exec %s", cvarfiles);
		server_exec();
	}
	
	uq_min_pre=get_pcvar_num(min_pre);
	uq_maxedge=get_pcvar_num(max_edge);
	uq_minedge=get_pcvar_num(min_edge);
	kz_sql=get_pcvar_num(sql_stats);
	web_sql=get_pcvar_num(web_stats);
	rankby = get_pcvar_num(kz_top_rank_by);
	uq_team=get_pcvar_num(kz_uq_team);
	uq_istrafe=get_pcvar_num(kz_uq_istrafe);
	NSTRAFES1=get_pcvar_num(max_strafes);
	stats_x=get_pcvar_float(kz_stats_x);
	stats_y=get_pcvar_float(kz_stats_y);
	strafe_x=get_pcvar_float(kz_strafe_x);
	strafe_y=get_pcvar_float(kz_strafe_y);
	duck_x=get_pcvar_float(kz_duck_x);
	duck_y=get_pcvar_float(kz_duck_y);
	prest_r=get_pcvar_num(kz_prest_r);
	prest_g=get_pcvar_num(kz_prest_g);
	prest_b=get_pcvar_num(kz_prest_b);
	prest_x=get_pcvar_float(kz_prest_x);
	prest_y=get_pcvar_float(kz_prest_y);
	h_prest=get_pcvar_num(hud_pre);
	h_stats=get_pcvar_num(hud_stats);
	h_duck=get_pcvar_num(hud_duck);
	h_streif=get_pcvar_num(hud_streif);
	stats_r=get_pcvar_num(kz_stats_red);
	stats_b=get_pcvar_num(kz_stats_blue);
	stats_g=get_pcvar_num(kz_stats_green);
	f_stats_r=get_pcvar_num(kz_failstats_red);
	f_stats_b=get_pcvar_num(kz_failstats_blue);
	f_stats_g=get_pcvar_num(kz_failstats_green);
	uq_lj=get_pcvar_num(kz_uq_lj);	
	uq_cj=get_pcvar_num(kz_uq_cj);	
	uq_dcj=get_pcvar_num(kz_uq_dcj);	
	uq_mcj=get_pcvar_num(kz_uq_mcj);	
	uq_ladder=get_pcvar_num(kz_uq_ladder);	
	uq_ldbj=get_pcvar_num(kz_uq_ldbj);	
	uq_bj=get_pcvar_num(kz_uq_bj);	
	uq_sbj=get_pcvar_num(kz_uq_sbj);	
	uq_drbj=get_pcvar_num(kz_uq_drbj);	
	uq_drsbj=get_pcvar_num(kz_uq_drsbj);	
	uq_drcj=get_pcvar_num(kz_uq_drcj);	
	uq_wj=get_pcvar_num(kz_uq_wj);
	uq_dscj=get_pcvar_num(kz_uq_dscj);	
	uq_mscj=get_pcvar_num(kz_uq_mscj);
	uq_dropscj=get_pcvar_num(kz_uq_dropscj);
	uq_dropdscj=get_pcvar_num(kz_uq_dropdscj);
	uq_dropmscj=get_pcvar_num(kz_uq_dropmscj);
	uq_duckbhop=get_pcvar_num(kz_uq_duckbhop);
	uq_bhopinduck=get_pcvar_num(kz_uq_bhopinduck);
	uq_realldbhop=get_pcvar_num(kz_uq_realldbhop);
	uq_upbj=get_pcvar_num(kz_uq_upbj);
	uq_upbhopinduck=get_pcvar_num(kz_uq_upbhopinduck);
	uq_upsbj=get_pcvar_num(kz_uq_upsbj);
	uq_multibhop=get_pcvar_num(kz_uq_multibhop);
	uq_dropdcj=get_pcvar_num(kz_uq_dropdcj);
	uq_dropmcj=get_pcvar_num(kz_uq_dropmcj);
	dcj_god_dist=get_pcvar_num(kz_god_dcj);
	dcj_leet_dist=get_pcvar_num(kz_leet_dcj);
	dcj_holy_dist=get_pcvar_num(kz_holy_dcj);
	dcj_pro_dist=get_pcvar_num(kz_pro_dcj);
	dcj_good_dist=get_pcvar_num(kz_good_dcj);
	lj_god_dist=get_pcvar_num(kz_god_lj);
	lj_leet_dist=get_pcvar_num(kz_leet_lj);
	lj_holy_dist=get_pcvar_num(kz_holy_lj);
	lj_pro_dist=get_pcvar_num(kz_pro_lj);
	lj_good_dist=get_pcvar_num(kz_good_lj);
	ladder_god_dist=get_pcvar_num(kz_god_ladder);
	ladder_leet_dist=get_pcvar_num(kz_leet_ladder);
	ladder_holy_dist=get_pcvar_num(kz_holy_ladder);
	ladder_pro_dist=get_pcvar_num(kz_pro_ladder);
	ladder_good_dist=get_pcvar_num(kz_good_ladder);
	wj_god_dist=get_pcvar_num(kz_god_wj);
	wj_leet_dist=get_pcvar_num(kz_leet_wj);
	wj_holy_dist=get_pcvar_num(kz_holy_wj);
	wj_pro_dist=get_pcvar_num(kz_pro_wj);
	wj_good_dist=get_pcvar_num(kz_good_wj);
	bj_god_dist=get_pcvar_num(kz_god_bj);
	bj_leet_dist=get_pcvar_num(kz_leet_bj);
	bj_holy_dist=get_pcvar_num(kz_holy_bj);
	bj_pro_dist=get_pcvar_num(kz_pro_bj);
	bj_good_dist=get_pcvar_num(kz_good_bj);
	cj_god_dist=get_pcvar_num(kz_god_cj);
	cj_leet_dist=get_pcvar_num(kz_leet_cj);
	cj_holy_dist=get_pcvar_num(kz_holy_cj);
	cj_pro_dist=get_pcvar_num(kz_pro_cj);
	cj_good_dist=get_pcvar_num(kz_good_cj);
	dbj_god_dist=get_pcvar_num(kz_god_dbj);
	dbj_leet_dist=get_pcvar_num(kz_leet_dbj);
	dbj_holy_dist=get_pcvar_num(kz_holy_dbj);
	dbj_pro_dist=get_pcvar_num(kz_pro_dbj);
	dbj_good_dist=get_pcvar_num(kz_good_dbj);	
	scj_god_dist=get_pcvar_num(kz_god_scj);
	scj_leet_dist=get_pcvar_num(kz_leet_scj);
	scj_holy_dist=get_pcvar_num(kz_holy_scj);
	scj_pro_dist=get_pcvar_num(kz_pro_scj);
	scj_good_dist=get_pcvar_num(kz_good_scj);		
	dropscj_god_dist=get_pcvar_num(kz_god_dropscj);
	dropscj_leet_dist=get_pcvar_num(kz_leet_dropscj);
	dropscj_holy_dist=get_pcvar_num(kz_holy_dropscj);
	dropscj_pro_dist=get_pcvar_num(kz_pro_dropscj);
	dropscj_good_dist=get_pcvar_num(kz_good_dropscj);
	bhopinduck_god_dist=get_pcvar_num(kz_god_bhopinduck);
	bhopinduck_leet_dist=get_pcvar_num(kz_leet_bhopinduck);
	bhopinduck_holy_dist=get_pcvar_num(kz_holy_bhopinduck);
	bhopinduck_pro_dist=get_pcvar_num(kz_pro_bhopinduck);
	bhopinduck_good_dist=get_pcvar_num(kz_good_bhopinduck);
	upbj_god_dist=get_pcvar_num(kz_god_upbj);
	upbj_leet_dist=get_pcvar_num(kz_leet_upbj);
	upbj_holy_dist=get_pcvar_num(kz_holy_upbj);
	upbj_pro_dist=get_pcvar_num(kz_pro_upbj);
	upbj_good_dist=get_pcvar_num(kz_good_upbj);
	upsbj_god_dist=get_pcvar_num(kz_god_upsbj);
	upsbj_leet_dist=get_pcvar_num(kz_leet_upsbj);
	upsbj_holy_dist=get_pcvar_num(kz_holy_upsbj);
	upsbj_pro_dist=get_pcvar_num(kz_pro_upsbj);
	upsbj_good_dist=get_pcvar_num(kz_good_upsbj);
	real_god_dist=get_pcvar_num(kz_god_real);
	real_leet_dist=get_pcvar_num(kz_leet_real);
	real_holy_dist=get_pcvar_num(kz_holy_real);
	real_pro_dist=get_pcvar_num(kz_pro_real);
	real_good_dist=get_pcvar_num(kz_good_real);
	duckbhop_god_dist=get_pcvar_num(kz_god_duckbhop);
	duckbhop_leet_dist=get_pcvar_num(kz_leet_duckbhop);
	duckbhop_holy_dist=get_pcvar_num(kz_holy_duckbhop);
	duckbhop_pro_dist=get_pcvar_num(kz_pro_duckbhop);
	duckbhop_good_dist=get_pcvar_num(kz_good_duckbhop);
	leg_settings=get_pcvar_num(kz_legal_settings);	
	uq_airaccel=get_pcvar_num( kz_airaccelerate );
	min_distance=get_pcvar_num(kz_min_dcj);
	min_distance_other=get_pcvar_num(kz_uq_min_other);
	max_distance=get_pcvar_num(MAX_DISTANCE);
	uq_sounds=get_pcvar_num(kz_sounds);
	uq_light=get_pcvar_num( kz_uq_light);
	uq_screen=get_pcvar_num(screenshoot);
	uq_info=get_pcvar_num(allow_info);
	uq_fps=get_pcvar_num(kz_uq_fps);
	speed_r=get_pcvar_num(kz_speed_r);
	speed_g=get_pcvar_num(kz_speed_g);
	speed_b=get_pcvar_num(kz_speed_b);
	speed_x=get_pcvar_float(kz_speed_x);
	speed_y=get_pcvar_float(kz_speed_y);
	h_speed=get_pcvar_num(hud_speed);
	kz_top=get_pcvar_num(kz_uq_top);
	kz_extras=get_pcvar_num(kz_uq_extras);
	kz_weapon=get_pcvar_num(weapon_top);
	kz_block_top=get_pcvar_num(kz_uq_block_top);
	kz_map_top=get_pcvar_num(kz_uq_maptop);
	kz_wpn_block_top=get_pcvar_num(weapon_block_top);
	get_pcvar_string(kz_prefix, prefix, 63);
	uq_bug=get_pcvar_num(kz_uq_bug);
	uq_noslow=get_pcvar_num(kz_uq_noslow);
	uq_admins=get_pcvar_num(kz_uq_admins);
	uq_script_detection=get_pcvar_num(kz_uq_script_detection);
	uq_update_auth=get_pcvar_num(kz_uq_update_auth);
	uq_script_notify=get_pcvar_num(kz_uq_script_notify);
	uq_script_punishment=get_pcvar_num(kz_uq_script_punishment);
	uq_script_work=get_pcvar_num(kz_uq_script_work);
	uq_ban_authid=get_pcvar_num(kz_uq_ban_authid);
	uq_ban_type=get_pcvar_num(kz_uq_ban_type);
	uq_ban_minutes=get_pcvar_num(kz_uq_ban_minutes); 
	uq_block_chat_min=get_pcvar_num(kz_uq_block_chat_min); 
	uq_block_chat_show=get_pcvar_num(kz_uq_block_chat_show); 
	uq_speed_allteam=get_pcvar_num(kz_uq_speed_allteam);
	//uq_edgefriction=get_pcvar_num(edgefriction);
	//uq_mp_footsteps=get_pcvar_num(mp_footsteps);
	//uq_sv_cheats=get_pcvar_num(sv_cheats);
	//uq_sv_gravity=get_pcvar_num(sv_gravity);
	//uq_sv_airaccelerate=get_pcvar_num(sv_airaccelerate);
	//uq_sv_maxspeed=get_pcvar_num(sv_maxspeed);
	//uq_sv_stepsize=get_pcvar_num(sv_stepsize);
	//uq_sv_maxvelocity=get_pcvar_num(sv_maxvelocity);
	
	if(!file_exists(cvarfiles))
	{
		kz_make_cvarexec(cvarfiles);
	}
	
	new plugin_id=find_plugin_byfile("uq_jumpstats_tops.amxx");
	new filename[33],plugin_name[33],plugin_author[33],status[33];
	
	if(plugin_id==-1)
	{
		log_amx("Can't find uq_jumpstats_tops.amxx");
		server_print("[uq_jumpstats] Can't find uq_jumpstats_tops.amxx");
	}
	else
	{
		get_plugin(plugin_id,filename,32,plugin_name,32,plugin_ver,32,plugin_author,32,status,32); 
		
		if(!equali(plugin_ver,VERSION))
		{
			set_task(5.0,"Wrong_ver");
		}
	}

	if( leg_settings )
	{
		set_cvar_string("edgefriction", "2");
		set_cvar_string("mp_footsteps", "1");
		set_cvar_string("sv_cheats", "0");
		set_cvar_string("sv_gravity", "800");
		
		if(uq_airaccel==0 || uq_airaccel==10)
			set_cvar_string("sv_airaccelerate", "10");
		else if(uq_airaccel==1 || uq_airaccel==100)
			set_cvar_string("sv_airaccelerate", "100");
		else 
		{
			new str[10];
			num_to_str(uq_airaccel,str,9);
			set_cvar_string("sv_airaccelerate", str);
		}
		
		set_cvar_string("sv_maxspeed", "320");
		set_cvar_string("sv_stepsize", "18");
		set_cvar_string("sv_maxvelocity", "2000");
	}

	new dataDir[64];
	get_datadir(dataDir, 63);
	format(ljsDir, 63, "%s/Topljs", dataDir);
		
	if( !dir_exists(ljsDir) )
		mkdir(ljsDir);
			
	if(kz_sql==1)
	{
		set_task(0.2, "stats_sql");
		set_task(1.0, "save_info_sql");
		JumpPlayers = TrieCreate();
	}
	else if(kz_sql==0)
	{
		JData = TrieCreate();
		JData_Block = TrieCreate();
		
		format(ljsDir_block, 63, "%s/Topljs/block_tops", dataDir);
			
		if( !dir_exists(ljsDir_block) )
			mkdir(ljsDir_block);
			
		for(new i=0;i<NTECHNUM;i++)
		{
			read_tops(Type_List[i],i);
			read_tops_block(Type_List[i],i);
		}
			
		for(new j=0;j<8;j++)
		{
			new mxspd[11];
			num_to_str(weapon_maxspeed(j),mxspd,10);
			
			format(ljsDir_weapon[j], 63, "%s/Top_weapon_speed_%s", ljsDir,mxspd);
			format(ljsDir_block_weapon[j], 63, "%s/Top_weapon_speed_%s", ljsDir_block,mxspd);
			
			if( !dir_exists(ljsDir_weapon[j]) )
				mkdir(ljsDir_weapon[j]);
			if( !dir_exists(ljsDir_block_weapon[j]) )
				mkdir(ljsDir_block_weapon[j]);
				
			for(new i=0;i<NWPNTECHNUM;i++)
			{
				read_tops_weapon(Type_List_weapon[i],i,j);
				read_tops_block_weapon(Type_List_weapon[i],i,j);
			}
			read_tops_block_weapon("hj",9,j);	
		}
	}	
}
public Wrong_ver()
{
	for(new i=1;i<get_maxplayers();i++)
	{
		if(is_user_alive(i) && is_user_connected(i))
			ColorChat(i, BLUE, "^x04Version^x03 uq_jumpstats.amxx^x01(%s)^x04 different from^x03 uq_jumpstats_tops.amxx^x01(%s)",VERSION,plugin_ver);
	}
	set_task(5.0,"Wrong_ver");
}

#include <uq_jumpstats_sql.inc>

public plugin_precache()
{
	gBeam = precache_model( "sprites/zbeam6.spr" );
	precache_sound( "misc/impressive.wav" );
	precache_sound( "misc/perfect.wav" );
	precache_sound( "misc/mod_godlike.wav" );
	precache_sound( "misc/holyshit.wav" );
	precache_sound( "misc/mod_wickedsick.wav" );
	
	
	precache_model( "models/hairt.mdl" );
	heystats = precache_model( "sprites/zbeam6.spr" );
}

stock kz_make_cvarexec(const config[])
{
	new f = fopen(config, "wt");
	new stringscvars[256],s_host[101],s_pass[101],s_user[101],s_db[101];
	new s_x[10],s_y[10];
	
	fprintf(f, "// Config of JumpStats by BorJomi^n");
	fprintf(f, "// Version %s^n",VERSION);
	fprintf(f, "^n");
	
	fprintf(f, "// Players commands^n");
	fprintf(f, "^n");
	fprintf(f, "// say /strafes - on/off statistics Strafes^n"); 
	fprintf(f, "// say /showpre - on/off display prestrafe^n"); 
	fprintf(f, "// say /ducks - on/off statistics ducks for multi cj^n"); 
	fprintf(f, "// say /ljstats - on/off the main statistics^n"); 
	fprintf(f, "// say /uqversion - show version^n"); 
	fprintf(f, "// say /beam - on/off showing the trajectory of the jump^n"); 
	fprintf(f, "// say /speed - on/off display of speed player^n"); 
	fprintf(f, "// say /colorchat - on/off display of color in the chat messages from other players^n"); 
	fprintf(f, "// say /ljsmenu - open the configuration menu^n"); 
	fprintf(f, "// say /ljtop - open TOP10 menu^n");
	fprintf(f, "// say /bhopwarn - on/off show message when you bhop prestrafe is fail^n");
	fprintf(f, "// say /multibhop - on/off show multi bhop pre^n");
	fprintf(f, "// say /duckspre - on/off display prestrafe after each duck^n");
	fprintf(f, "// say /ljpre - on/off display prestrafe for LJ^n");
	fprintf(f, "// say /failedge - on/off display jumpoff wehn failed without bolock^n");
	fprintf(f, "// say /edge - on/off display jumpoff,block,landing^n");
	fprintf(f, "// say /heigh - on/off display heigh^n");
	fprintf(f, "// say /mylj - on/off myljtop menu^n");
	fprintf(f, "// say /wpnlj - on/off weapon top menu^n");
	fprintf(f, "// say /jof - on/off showing Jumpoff when press jump button^n");
	fprintf(f, "// say /joftr - on/off Jumpoff trainer^n");
	fprintf(f, "// say /blocktop - on/off block tops menu^n");
	fprintf(f, "// say /jheigh - on/off showing jump heigh^n");
	fprintf(f, "// say /istrafe - on/off InGame strafe stats^n");
	fprintf(f, "// say /speedt - Big/Small Speed Type^n");
	fprintf(f, "^n");
	
	fprintf(f, "// Admin command^n");
	fprintf(f, "^n");
	fprintf(f, "// amx_reset_uqtops – reset all tops^n");
	fprintf(f, "^n");
	
	fprintf(f, "// Cvars^n");
	fprintf(f, "^n");
	fprintf(f, "// What should work when players connect to the server:^n");
	fprintf(f, "// 	0 = none^n"); 
	fprintf(f, "// 	a = colorchat^n"); 
	fprintf(f, "// 	b = stats^n"); 
	fprintf(f, "// 	c = speed^n"); 
	fprintf(f, "// 	d = showpre^n"); 
	fprintf(f, "// 	e = strafe stats^n"); 
	fprintf(f, "// 	f = beam^n"); 
	fprintf(f, "// 	g = duck stats for mcj^n"); 
	fprintf(f, "// 	h = shows message when your bhop prestrafe is failed^n");
	fprintf(f, "// 	i = show multibhop pre^n");
	fprintf(f, "// 	j = show prestrafe after duck^n");
	fprintf(f, "// 	k = show lj prestrafe^n");
	fprintf(f, "// 	l = show edge^n");
	fprintf(f, "// 	m = show edge when fail (without block)^n");
	fprintf(f, "// 	n = enable sounds^n");
	fprintf(f, "// 	o = enable InGame strafe stats^n");
	
	get_pcvar_string(kz_uq_connect, stringscvars, 255);
	
	fprintf(f, "kz_uq_connect ^"%s^"^n", stringscvars);
	fprintf(f, "^n");
	
	fprintf(f, "// Min distance^n");
	fprintf(f, "kz_uq_min_dist %i^n", min_distance);
	fprintf(f, "^n");
	
	fprintf(f, "// Min distance (Ups bhop, MultiBhop, Real Ladder Bhop, Ducks Bhop, Ladder Jump)^n");
	fprintf(f, "kz_uq_min_dist_other %i^n", min_distance_other);
	fprintf(f, "^n");
	
	fprintf(f, "// Max distance^n");
	fprintf(f, "kz_uq_max_dist %i^n", max_distance);
	fprintf(f, "^n");
	
	fprintf(f, "// Showing info about block in ColorChat messages^n");
	fprintf(f, "kz_uq_block_chat_show %i^n", uq_block_chat_show);
	fprintf(f, "kz_uq_block_chat_min %i - minimum block to show (block more then 0=good,1=pro,2=holy,3=leet,4=god distance cvars)^n", uq_block_chat_min);
	fprintf(f, "^n");
	
	fprintf(f, "// Enable stats for admins only^n");
	fprintf(f, "kz_uq_only_admins %i^n", uq_admins);
	fprintf(f, "^n");
	
	fprintf(f, "// Enable stats for team (0=all,1=T,2=CT)^n");
	fprintf(f, "kz_uq_team %i^n", uq_team);
	fprintf(f, "^n");
	
	fprintf(f, "// Enable cmd /speed for all team^n");
	fprintf(f, "kz_uq_speed_allteam %i^n", uq_speed_allteam);
	fprintf(f, "^n");
	
	fprintf(f, "// Allow highlighting after landing (1 = on, 0 = off; works for holy, leet and god distances)^n");
	fprintf(f, "kz_uq_light %i^n", uq_light);
	fprintf(f, "^n");
	
	fprintf(f, "// Allow sounds (1 = on, 0 = off)^n");
	fprintf(f, "kz_uq_sounds %i^n",uq_sounds);
	fprintf(f, "^n");
	
	fprintf(f, "// Allow doing ScreenShot if Player going in Top (not work with kz_uq_sql <1> and for map top)^n");
	fprintf(f, "kz_uq_screenshoot %i^n",uq_screen);
	fprintf(f, "^n");
	
	fprintf(f, "// Allow showing info about stats when you record demo^n");
	fprintf(f, "kz_uq_demo_info %i^n",uq_info);
	fprintf(f, "^n");

	fprintf(f, "// How work Sql Module (1=SQL module enable, 0=disable)^n");
	fprintf(f, "kz_uq_sql %i^n",kz_sql);
	fprintf(f, "^n");

	fprintf(f, "// Enable/Disable Web Top (1=Enable,0=Disable) - if you want standart tops with sql module, turn of web mod^n");
	fprintf(f, "kz_uq_web %i^n",web_sql);
	fprintf(f, "^n");
	
	get_pcvar_string(uq_host, s_host, 100);
	get_pcvar_string(uq_user, s_user, 100);
	get_pcvar_string(uq_pass, s_pass, 100);
	get_pcvar_string(uq_db, s_db, 100);
	
	fprintf(f, "// Options for Sql Module^n");
	fprintf(f, "kz_uq_host ^"%s^"^n",s_host);
	fprintf(f, "kz_uq_user ^"%s^"^n",s_user);
	fprintf(f, "kz_uq_pass ^"%s^"^n",s_pass);
	fprintf(f, "kz_uq_db ^"%s^"^n",s_db);
	fprintf(f, "// This Option used only in Showing Top(sql), change this if you use another url on you web server^n");
	get_pcvar_string(kz_uq_url, stringscvars, 255);
	fprintf(f, "kz_uq_url ^"%s^"^n",stringscvars);
	fprintf(f, "kz_uq_update_auth %i - Update in DB Steam and Ip^n",uq_update_auth);
	fprintf(f, "^n");
		
	fprintf(f, "// How to save Top10 (2 = steamid, 1 = Ip, 0 = name)^n");
	fprintf(f, "kz_uq_top_by %i^n",rankby);
	fprintf(f, "^n");
	
	fprintf(f, "kz_uq_save_top %i - On/Off TOP10 (1 = on, 0 = off)^n",kz_top);  
	fprintf(f, "kz_uq_maptop %i  - On/Off MapTop (1 = on, 0 = off)^n",kz_map_top);
	fprintf(f, "kz_uq_save_extras_top %i  - On/Off Extra Tops (1 = on, 0 = off)^n",kz_extras);
	fprintf(f, "kz_uq_weapons_top %i  - On/Off Weapon Tops (1 = on, 0 = off)^n",kz_weapon);	
	fprintf(f, "kz_uq_block_top %i  - On/Off Block Tops (1 = on, 0 = off)^n",kz_block_top);	
	fprintf(f, "kz_uq_block_weapons %i  - On/Off Block Tops for other weapons (1 = on, 0 = off)^n",kz_wpn_block_top);	
	fprintf(f, "^n");
	
	fprintf(f, "// Allow check to legal settings (1 = on, 0 = off)^n");
	fprintf(f, "kz_uq_legal_settings %i^n",leg_settings);
	fprintf(f, "kz_uq_fps %i - (1=more than 100 FPS jump does not count, 0=count)^n",uq_fps); 
	fprintf(f, "kz_uq_bug_check %i - Allow checking for bug distance^n",uq_bug);
	fprintf(f, "^n");
	
	fprintf(f, "// Anti script(Beta)^n");
	fprintf(f, "kz_uq_script_detection %i^n",uq_script_detection);
	fprintf(f, "kz_uq_script_work %i - antiscript works if player distance more then (0=good,1=pro,2=holy,3=leet,4=god distance)^n",uq_script_work);
	fprintf(f, "kz_uq_script_notify %i - print messages to all people on server with scripter name^n",uq_script_notify);
	fprintf(f, "kz_uq_script_punishment %i - (0=nothing,1=kick,2=ban)^n",uq_script_punishment);
	fprintf(f, "kz_uq_ban_type %i - (0=standart bans, 1=amxbans)^n",uq_ban_type);
	fprintf(f, "kz_uq_ban_minutes %i - ban time in minutes^n",uq_ban_minutes);
	fprintf(f, "kz_uq_ban_authid %i - (ban by 0=name,1=ip,2=steam)^n",uq_ban_authid);
	fprintf(f, "^n");

	get_pcvar_string(kz_prefix, stringscvars, 255);
	
	fprintf(f, "// The prefix for all messages in chat^n"); 
	fprintf(f, "kz_uq_prefix ^"%s^"^n", stringscvars);
	fprintf(f, "^n");
	
	fprintf(f, "// How to set up a server by value sv_airaccelerate (Varible=xx, but var=0 reserved for 10aa, var=1 for 100aa)^n");
	fprintf(f, "kz_uq_airaccelerate %i^n",uq_airaccel);
	fprintf(f, "^n");
	
	fprintf(f, "// On/Off Showing stats with noslowdown^n");
	fprintf(f, "kz_uq_noslowdown %i^n",uq_noslow);
	fprintf(f, "^n");
	
	fprintf(f, "// Max strafes (if players strafes>Max, stats doesnt shows)^n");
	fprintf(f, "kz_uq_max_strafes %i^n",NSTRAFES1);
	fprintf(f, "^n");

	fprintf(f, "// Allow InGame Strafe Stats (laggy feature)^n");
	fprintf(f, "kz_uq_istrafes %i^n",uq_istrafe);
	fprintf(f, "^n");
	
	fprintf(f, "// Color Hud message statistics when you jump, in the RGB^n");
	fprintf(f, "kz_uq_stats_red %i^n",stats_r);	
	fprintf(f, "kz_uq_stats_green %i^n",stats_g);
	fprintf(f, "kz_uq_stats_blue %i^n",stats_b);
	fprintf(f, "^n");
	
	fprintf(f, "// Color Hud messages Fail statistics when you jump, in the RGB^n");
	fprintf(f, "kz_uq_failstats_red %i^n",f_stats_r);		
	fprintf(f, "kz_uq_failstats_green %i^n",f_stats_g);
	fprintf(f, "kz_uq_failstats_blue %i^n",f_stats_b);
	fprintf(f, "^n");
	
	fprintf(f, "// Color Hud messages prestrafe, in the RGB^n");
	fprintf(f, "kz_uq_prestrafe_red %i^n",prest_r);	
	fprintf(f, "kz_uq_prestrafe_green %i^n",prest_g);
	fprintf(f, "kz_uq_prestrafe_blue %i^n",prest_b);
	fprintf(f, "^n");
	
	fprintf(f, "// Color of speed, in the RGB^n");
	fprintf(f, "kz_uq_speed_red %i^n",speed_r);		
	fprintf(f, "kz_uq_speed_green %i^n",speed_g);
	fprintf(f, "kz_uq_speed_blue %i^n",speed_b);
	fprintf(f, "^n");
	
	fprintf(f, "//Coordinates Hud messages^n");
	fprintf(f, "^n");
	fprintf(f, "//General stats jump^n");
	
	get_pcvar_string(kz_stats_x, s_x, 9);
	get_pcvar_string(kz_stats_y, s_y, 9);
	
	fprintf(f, "kz_uq_stats_x ^"%s^"^n", s_x);
	fprintf(f, "kz_uq_stats_y ^"%s^"^n", s_y);
	fprintf(f, "^n");
	fprintf(f, "//Strafes Stats^n");
	
	get_pcvar_string(kz_strafe_x, s_x, 9);
	get_pcvar_string(kz_strafe_y, s_y, 9);
	
	fprintf(f, "kz_uq_strafe_x ^"%s^"^n", s_x);
	fprintf(f, "kz_uq_strafe_y ^"%s^"^n", s_y);
	fprintf(f, "^n");
	fprintf(f, "//Ducks Stats for Multi dd^n");
	
	get_pcvar_string(kz_duck_x, s_x, 9);
	get_pcvar_string(kz_duck_y, s_y, 9);
	
	fprintf(f, "kz_uq_duck_x ^"%s^"^n", s_x);
	fprintf(f, "kz_uq_duck_y ^"%s^"^n", s_y); 
	fprintf(f, "^n");
	fprintf(f, "//Speed^n");
	
	get_pcvar_string(kz_speed_x, s_x, 9);
	get_pcvar_string(kz_speed_y, s_y, 9);
	
	fprintf(f, "kz_uq_speed_x ^"%s^"^n", s_x);
	fprintf(f, "kz_uq_speed_y ^"%s^"^n", s_y); 
	fprintf(f, "^n");
	fprintf(f, "//Prestrafe^n");
	
	get_pcvar_string(kz_prest_x, s_x, 9);
	get_pcvar_string(kz_prest_y, s_y, 9);
	
	fprintf(f, "kz_uq_prestrafe_x ^"%s^"^n", s_x);
	fprintf(f, "kz_uq_prestrafe_y ^"%s^"^n", s_y); 
	fprintf(f, "^n");
	
	fprintf(f, "// Channel Hud messages of general stats jump^n");
	fprintf(f, "kz_uq_hud_stats %i^n",h_stats);
	fprintf(f, "^n");
	fprintf(f, "// Channel Hud messages of strafes Stats^n");
	fprintf(f, "kz_uq_hud_strafe %i^n",h_streif);
	fprintf(f, "^n");
	fprintf(f, "// Channel Hud messages of ducks Stats for Multi CountJump^n");
	fprintf(f, "kz_uq_hud_duck %i^n",h_duck);
	fprintf(f, "^n");
	fprintf(f, "// Channel Hud messages of speed^n");
	fprintf(f, "kz_uq_hud_speed %i^n",h_speed);
	fprintf(f, "^n");
	fprintf(f, "// Channel Hud messages of prestafe^n");
	fprintf(f, "kz_uq_hud_pre %i^n",h_prest);
	fprintf(f, "^n");
	
	fprintf(f, "// For what technique stats enable^n");
	fprintf(f, "kz_uq_lj %i^n",uq_lj);	
	fprintf(f, "kz_uq_cj %i^n",uq_cj);	
	fprintf(f, "kz_uq_bj %i^n",uq_bj);	
	fprintf(f, "kz_uq_sbj %i^n",uq_sbj);	
	fprintf(f, "kz_uq_wj %i^n",uq_wj);	
	fprintf(f, "kz_uq_dcj %i^n",uq_dcj);	
	fprintf(f, "kz_uq_mcj %i^n",uq_mcj);	
	fprintf(f, "kz_uq_drbj %i^n",uq_drbj);		
	fprintf(f, "kz_uq_drcj %i^n",uq_drcj);	
	fprintf(f, "kz_uq_ladder %i^n",uq_ladder);	
	fprintf(f, "kz_uq_ldbj %i^n",uq_ldbj);	
	fprintf(f, "^n");
	
	fprintf(f, "// Max,Min block to show in edge^n");
	fprintf(f, "kz_uq_max_block %i^n",uq_maxedge);	
	fprintf(f, "kz_uq_min_block %i^n",uq_minedge);	
	fprintf(f, "^n");
	
	fprintf(f, "// Minimum Prestrafe to show^n");
	fprintf(f, "kz_uq_min_pre %i^n",uq_min_pre);		
	fprintf(f, "^n");
	
	fprintf(f, "// For what Extra technique stats enable^n");
	fprintf(f, "kz_uq_scj %i^n",uq_drsbj);
	fprintf(f, "kz_uq_dscj %i^n",uq_dscj);	
	fprintf(f, "kz_uq_mscj %i^n",uq_mscj);	
	fprintf(f, "kz_uq_dropscj %i^n",uq_dropscj);	
	fprintf(f, "kz_uq_dropdscj %i^n",uq_dropdscj);	
	fprintf(f, "kz_uq_dropmscj %i^n",uq_dropmscj);	
	fprintf(f, "kz_uq_duckbhop %i^n",uq_duckbhop);	
	fprintf(f, "kz_uq_bhopinduck %i^n",uq_bhopinduck);	
	fprintf(f, "kz_uq_realldbhop %i^n",uq_realldbhop);	
	fprintf(f, "kz_uq_upbj %i^n",uq_upbj);	
	fprintf(f, "kz_uq_upsbj %i^n",uq_upsbj);	
	fprintf(f, "kz_uq_upbhopinduck %i^n",uq_upbhopinduck);	
	fprintf(f, "kz_uq_multibhop %i^n",uq_multibhop);
	fprintf(f, "kz_uq_dropdcj %i^n",uq_dropdcj);	
	fprintf(f, "kz_uq_dropmcj %i^n",uq_dropmcj);	
	fprintf(f, "^n");
	
	fprintf(f, "// Color for chat messages of jump distances (good = grey, pro = green, holy = blue, leet = red, god = red (with sound godlike for all players))^n");
	fprintf(f, "// LongJump/HighJump^n");
	fprintf(f, "kz_uq_good_lj %i^n",lj_good_dist);	
	fprintf(f, "kz_uq_pro_lj %i^n",lj_pro_dist);
	fprintf(f, "kz_uq_holy_lj %i^n",lj_holy_dist);
	fprintf(f, "kz_uq_leet_lj %i^n",lj_leet_dist);
	fprintf(f, "kz_uq_god_lj %i^n",lj_god_dist);
	fprintf(f, "^n");

	fprintf(f, "// CountJump^n");
	fprintf(f, "kz_uq_good_cj %i^n",cj_good_dist);	
	fprintf(f, "kz_uq_pro_cj %i^n",cj_pro_dist);
	fprintf(f, "kz_uq_holy_cj %i^n",cj_holy_dist);
	fprintf(f, "kz_uq_leet_cj %i^n",cj_leet_dist);
	fprintf(f, "kz_uq_god_cj %i^n",cj_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// Double CountJump/Multi CountJump^n");
	fprintf(f, "kz_uq_good_dcj %i^n",dcj_good_dist);	
	fprintf(f, "kz_uq_pro_dcj %i^n",dcj_pro_dist);
	fprintf(f, "kz_uq_holy_dcj %i^n",dcj_holy_dist);
	fprintf(f, "kz_uq_leet_dcj %i^n",dcj_leet_dist);
	fprintf(f, "kz_uq_god_dcj %i^n",dcj_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// LadderJump^n");
	fprintf(f, "kz_uq_good_ladder %i^n",ladder_good_dist);	
	fprintf(f, "kz_uq_pro_ladder %i^n",ladder_pro_dist);
	fprintf(f, "kz_uq_holy_ladder %i^n",ladder_holy_dist);
	fprintf(f, "kz_uq_leet_ladder %i^n",ladder_leet_dist);
	fprintf(f, "kz_uq_god_ladder %i^n",ladder_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// BhopJump/StandUp BhopJump^n");
	fprintf(f, "kz_uq_good_bj %i^n",bj_good_dist);	
	fprintf(f, "kz_uq_pro_bj %i^n",bj_pro_dist);
	fprintf(f, "kz_uq_holy_bj %i^n",bj_holy_dist);
	fprintf(f, "kz_uq_leet_bj %i^n",bj_leet_dist);
	fprintf(f, "kz_uq_god_bj %i^n",bj_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// WeirdJump/Drop CountJump(double,multi)/Ladder BhopJump^n");
	fprintf(f, "kz_uq_good_wj %i^n",wj_good_dist);	
	fprintf(f, "kz_uq_pro_wj %i^n",wj_pro_dist);
	fprintf(f, "kz_uq_holy_wj %i^n",wj_holy_dist);
	fprintf(f, "kz_uq_leet_wj %i^n",wj_leet_dist);
	fprintf(f, "kz_uq_god_wj %i^n",wj_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// Drop BhopJump^n");
	fprintf(f, "kz_uq_good_dbj %i^n",dbj_good_dist);	
	fprintf(f, "kz_uq_pro_dbj %i^n",dbj_pro_dist);
	fprintf(f, "kz_uq_holy_dbj %i^n",dbj_holy_dist);
	fprintf(f, "kz_uq_leet_dbj %i^n",dbj_leet_dist);
	fprintf(f, "kz_uq_god_dbj %i^n",dbj_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// StandUp CountJump (Double or Multi StandUp CountJump=SCJ+10units)(if 100aa all cvar dist +10 units)^n");
	fprintf(f, "kz_uq_good_scj %i^n",scj_good_dist);	
	fprintf(f, "kz_uq_pro_scj %i^n",scj_pro_dist);
	fprintf(f, "kz_uq_holy_scj %i^n",scj_holy_dist);
	fprintf(f, "kz_uq_leet_scj %i^n",scj_leet_dist);
	fprintf(f, "kz_uq_god_scj %i^n",scj_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// Drop StandUp CountJump(double,multi)^n");
	fprintf(f, "kz_uq_good_dropscj %i^n",dropscj_good_dist);	
	fprintf(f, "kz_uq_pro_dropscj %i^n",dropscj_pro_dist);
	fprintf(f, "kz_uq_holy_dropscj %i^n",dropscj_holy_dist);
	fprintf(f, "kz_uq_leet_dropscj %i^n",dropscj_leet_dist);
	fprintf(f, "kz_uq_god_dropscj %i^n",dropscj_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// Up Bhop^n");
	fprintf(f, "kz_uq_good_upbj %i^n",upbj_good_dist);	
	fprintf(f, "kz_uq_pro_upbj %i^n",upbj_pro_dist);
	fprintf(f, "kz_uq_holy_upbj %i^n",upbj_holy_dist);
	fprintf(f, "kz_uq_leet_upbj %i^n",upbj_leet_dist);
	fprintf(f, "kz_uq_god_upbj %i^n",upbj_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// Up StandBhop^n");
	fprintf(f, "kz_uq_good_upsbj %i^n",upsbj_good_dist);	
	fprintf(f, "kz_uq_pro_upsbj %i^n",upsbj_pro_dist);
	fprintf(f, "kz_uq_holy_upsbj %i^n",upsbj_holy_dist);
	fprintf(f, "kz_uq_leet_upsbj %i^n",upsbj_leet_dist);
	fprintf(f, "kz_uq_god_upsbj %i^n",upsbj_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// Bhop In Duck(Up Bhop In Duck)^n");
	fprintf(f, "kz_uq_good_bhopinduck %i^n",bhopinduck_good_dist);	
	fprintf(f, "kz_uq_pro_bhopinduck %i^n",bhopinduck_pro_dist);
	fprintf(f, "kz_uq_holy_bhopinduck %i^n",bhopinduck_holy_dist);
	fprintf(f, "kz_uq_leet_bhopinduck %i^n",bhopinduck_leet_dist);
	fprintf(f, "kz_uq_god_bhopinduck %i^n",bhopinduck_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// Duck Bhop^n");
	fprintf(f, "kz_uq_good_duckbhop %i^n",duckbhop_good_dist);	
	fprintf(f, "kz_uq_pro_duckbhop %i^n",duckbhop_pro_dist);
	fprintf(f, "kz_uq_holy_duckbhop %i^n",duckbhop_holy_dist);
	fprintf(f, "kz_uq_leet_duckbhop %i^n",duckbhop_leet_dist);
	fprintf(f, "kz_uq_god_duckbhop %i^n",duckbhop_god_dist);
	fprintf(f, "^n");
	
	fprintf(f, "// Real Ladder Bhop^n");
	fprintf(f, "kz_uq_good_realldbhop %i^n",real_good_dist);	
	fprintf(f, "kz_uq_pro_realldbhop %i^n",real_pro_dist);
	fprintf(f, "kz_uq_holy_realldbhop %i^n",real_holy_dist);
	fprintf(f, "kz_uq_leet_realldbhop %i^n",real_leet_dist);
	fprintf(f, "kz_uq_god_realldbhop %i^n",real_god_dist);
	fprintf(f, "^n");
	
	fclose(f);
	
	server_cmd("exec %s", config);
	server_exec();
}
public Log_script(f_frames,cheated_frames,id,Float:log_dist,Float:log_max,Float:log_pre,log_str,log_sync,jump_type_str[],wpn_str[],punishments[],t_str[40*NSTRAFES])
{
	new Date[20];
	get_time("%m/%d/%y %H:%M:%S", Date, 19)	;
	new username[33];
	get_user_name(id, username, 32);
	new userip[16];
	get_user_ip(id, userip, 15, 1);
	new authid[35];
	get_user_authid(id, authid, 34);
	new main_text[512];
	
	write_file(logs_path, "---------------------------------------------------", -1);
	formatex(main_text, 511, "%s |%s |%s |%s |%s |%s ^n", Date,username, authid, userip, "Script",punishments);
	write_file(logs_path, main_text, -1);
	formatex(main_text, 511, "Type: %s ::: Weapon: %s^nDistance: %.03f Maxspeed: %.03f Prestrafe: %.03f Strafes: %d Sync: %d^n",jump_type_str,wpn_str,log_dist,log_max,log_pre,log_str,log_sync);
	write_file(logs_path, main_text, -1);
	formatex(main_text, 511, "Total Frames: %d^nCheated Frames: %d^n",f_frames,cheated_frames);
	write_file(logs_path, main_text, -1);
	
	new strf[40];
	for(new ll=INFO_ONE; (ll <= log_str) && (ll < NSTRAFES);ll++)
	{
		strtok(t_str,strf,40,t_str,40*NSTRAFES,'^n');
		replace(strf,40,"^n","");
		write_file(logs_path, strf, -1);
	}
	write_file(logs_path, "---------------------------------------------------", -1);
	
	if(uq_script_notify)
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SCRIPTNOTIFY",prefix,username,jump_type_str);
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_SCRIPTNOTIFY",prefix,username,jump_type_str);
		Color_Chat_Lang(id,GREY,"%L",LANG_SERVER,"UQSTATS_SCRIPTNOTIFY",prefix,username,jump_type_str);
	}
}
public krasnota(id)
{                
		message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, id);
		write_short(1<<10);
		write_short(1<<10);
		write_short(0x0000);
		write_byte(255);
		write_byte(0);
		write_byte(0);
		write_byte(110);
		message_end();
}

public sineva(id)
{                
		message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, id);
		write_short(1<<10);
		write_short(1<<10);
		write_short(0x0000);
		write_byte(0);
		write_byte(0);
		write_byte(255);
		write_byte(110);
		message_end();
}

public tskFps(id)
{
	if( leg_settings)
	{
		id-=434490;
		client_cmd(id, "developer 0;fps_max 101;cl_forwardspeed 400;cl_sidespeed 400;cl_backspeed 400");
	}
}
public server_frame()
{
	if( leg_settings )
	{
		if( get_pcvar_num(edgefriction) != 2 )
			set_pcvar_num(edgefriction, 2);
		
		if( get_pcvar_num(mp_footsteps) != 1 )
			set_pcvar_num(mp_footsteps, 1);
		
		if( get_pcvar_num(sv_cheats) != 0 )
			set_pcvar_num(sv_cheats, 0);
		
		if( get_pcvar_num(sv_gravity)!= 800 )
			set_pcvar_num(sv_gravity, 800);
		
		if((uq_airaccel==0 || uq_airaccel==10) && get_pcvar_num(sv_airaccelerate) != 10 )
			set_pcvar_num(sv_airaccelerate, 10);
		else if((uq_airaccel==1 || uq_airaccel==100) && get_pcvar_num(sv_airaccelerate) != 100 )
			set_pcvar_num(sv_airaccelerate, 100);
		else if(get_pcvar_num(sv_airaccelerate) != uq_airaccel && uq_airaccel!=0 && uq_airaccel!=1)
			set_pcvar_num(sv_airaccelerate, uq_airaccel);
		
		if( get_pcvar_num(sv_maxspeed) != 320 )
			set_pcvar_num(sv_maxspeed, 320);
		
		if( get_pcvar_num(sv_stepsize) != 18 )
			set_pcvar_num(sv_stepsize, 18);
		
		if( get_pcvar_num(sv_maxvelocity) != 2000 )
			set_pcvar_num(sv_maxvelocity, 2000);
	}
}
public client_putinserver(id)
{
	if(speedon[id] && !is_user_hltv(id) && !is_user_bot(id))// && is_user_alive(id) && is_user_bot(id) && is_user_hltv())
	{
		set_task(0.1, "DoSpeed", id+212299, "", 0, "b", 0);
	}
	
	get_user_name(id, g_playername[id], 63);
	get_user_ip(id, g_playerip[id], 15, 1);
	get_user_authid(id, g_playersteam[id], 35);

	if(kz_sql == 1)
	{
		player_load_info(id);
	}
	
	if(is_user_admin(id))
	{
		player_admin[id]=true;
	}
}
public Dojof(taskid)
{
	taskid-=212398;
	
	static alive, spectatedplayer;
	alive = g_alive[taskid];
	spectatedplayer = get_spectated_player(taskid);
	
	if( (alive || spectatedplayer > 0))
	{
		new show_id;
		
		if( alive )
		{
			show_id=taskid;
		}
		else
		{
			show_id=spectatedplayer;
		}
		
		if(jof[show_id]!=0.0)
		{	
			if(jof[show_id]>5.0)
			{
				set_hudmessage(255, 255, 255, -1.0, 0.6, 0, 0.0, 0.7, 0.0, 0.0, h_speed);
			}
			else
			{
				set_hudmessage(255, 0, 0, -1.0, 0.6, 0, 0.0, 0.7, 0.0, 0.0, h_speed);
			}
			show_hudmessage(taskid,"%L",LANG_SERVER,"UQSTATS_JOF", jof[show_id]);
		}
	}
}


public DoSpeed(taskid)
{
	taskid-=212299;
	
	static alive, spectatedplayer;
	alive = g_alive[taskid];
	spectatedplayer = get_spectated_player(taskid);
	
	if( (alive || spectatedplayer > 0))
	{
		new show_id;
		
		if( alive )
		{
			show_id=taskid;
		}
		else
		{
			show_id=spectatedplayer;
		}
		
		new Float:velocity[3];
		pev(show_id, pev_velocity, velocity);
			
		if( velocity[2] != 0 )
			velocity[2]-=velocity[2];
					
		new Float:speedy = vector_length(velocity);
		
		if(speedtype[taskid])
		{
			set_dhudmessage(speed_r, speed_g, speed_b, speed_x, speed_y, 0, 0.0, 0.1, 0.0, 0.0);
			show_dhudmessage(taskid, "%L",LANG_SERVER,"UQSTATS_SPEEDSHOW", floatround(speedy, floatround_floor));
		}
		else
		{
			set_hudmessage(speed_r, speed_g, speed_b, speed_x, speed_y, 0, 0.0, 0.2, 0.0, 0.0, h_speed);
			show_hudmessage(taskid, "%L",LANG_SERVER,"UQSTATS_SPEEDSHOW", floatround(speedy, floatround_floor));		
		}
	}
}
public wait(id)
{
	id-=3313;
	waits[id]=1;

}

public wait1(id)
{
	id-=3214;
	waits1[id]=1;

}

public client_command(id)
{
	static command[32];
	read_argv( 0, command, 31 );

	static const forbidden[][] = {
		"tele", "tp", "gocheck", "gc", "stuck", "unstuck", "start", "reset", "restart",
		"spawn", "respawn"
	};
	if(uq_info)
	{
		if(record_start[id]==0 && equali( command, "fullupdate" ))
		{
			record_start[id]=1;
		}
		else if(record_start[id]==1 && equali( command, "specmode" ))
		{
			set_hudmessage(255, 255, 255, 0.72, 0.0, 0, 6.0, 1.0);
			show_hudmessage(id, "%L",LANG_SERVER,"UQSTATS_INFOSTS",VERSION);
			
			record_start[id]=0;
		}
	}
	
	if( equali( command, "say" ) )
	{
		read_args( command, 31 );
		remove_quotes( command );
	}
	
	if( equali( command, "+hook" ) )
	{
		JumpReset(id,0);
		donehook[id]=true;
		hookcheck[id]=false;
	}
	else if( command[0] == '/' || command[0] == '.' )
	{
		copy( command, 31, command[1] );
		
		for( new i ; i < sizeof( forbidden ) ; i++ )
		{
			if( equali( command, forbidden[i] ) )
			{
				JumpReset(id,1);
				break;
			}
		}
	}
}
public remove_beam_ent(id)
{
	for(new i=0;i<ent_count[id];i++)
	{
		message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
		write_byte(99);
		write_short(beam_entity[id][i]);
		message_end();
		
		remove_entity(beam_entity[id][i]);
	}
	ent_count[id]=0;
}
public epta(id,Float:or[3],direct_strafe,l_lost[NSTRAFES][NVAR],full,ducked,str_num,strafe_frame1[NSTRAFES],strafe_frame2[NSTRAFES],strafe_lost[NSTRAFES])
{	
	new Float:os_start,Float:temp_or[3],direct[2];
	
	switch(direct_strafe)
	{
		case 1:
		{
			temp_or[0]=or[0];
			temp_or[1]=or[1]+48.0;
			
			if(ducked)
			{
				temp_or[2]=or[2]+16+18;
			}
			else temp_or[2]=or[2]+18;
		}
		case 2:
		{
			temp_or[0]=or[0];
			temp_or[1]=or[1]-48.0;
			
			if(ducked)
			{
				temp_or[2]=or[2]+16+18;
			}
			else temp_or[2]=or[2]+18;
			
			direct[1]=1;
		}
		case 3:
		{
			temp_or[0]=or[1];
			temp_or[1]=or[0]+48.0;
			
			if(ducked)
			{
				temp_or[2]=or[2]+16+18;
			}
			else temp_or[2]=or[2]+18;
			
			direct[0]=1;
			direct[1]=1;
		}
		case 4:
		{
			temp_or[0]=or[1];
			temp_or[1]=or[0]-48.0;
			
			if(ducked)
			{
				temp_or[2]=or[2]+16+18;
			}
			else temp_or[2]=or[2]+18;
			
			direct[0]=1;
		}
	}
	
	os_start=temp_or[0]-(full/2);

	if(direct[1])
	{
		new Float:temp_start=os_start+full;
			
		beam_entity[id][ent_count[id]] = create_entity("info_target");
		
		//entity_set_int(beam_entity[id][ent_count[id]], EV_INT_solid, SOLID_NOT);
		entity_set_model(beam_entity[id][ent_count[id]], "models/hairt.mdl");
		
		new Float:ent_or[3];
		if(direct[0])
		{
			ent_or[0]=temp_or[1];
			ent_or[1]=temp_start;
		}
		else 
		{
			ent_or[0]=temp_start;
			ent_or[1]=temp_or[1];
		}
		ent_or[2]=temp_or[2];
		
		entity_set_origin(beam_entity[id][ent_count[id]], ent_or);
		
		message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id);
		
		write_byte(TE_BEAMENTPOINT);
		write_short(beam_entity[id][ent_count[id]]);
	
///////////////////////////////////////////	
		if(direct[0])
		{
			write_coord(floatround(temp_or[1]));
			write_coord(floatround(temp_start-full));
		}
		else 
		{
			write_coord(floatround(temp_start-full));
			write_coord(floatround(temp_or[1]));
		}
		write_coord(floatround(temp_or[2]));
///////////////////////////////////////////	
		write_short(heystats);
		write_byte(0);
		write_byte(5);
		write_byte(showtime_st_stats[id]);
		write_byte(1);
		write_byte(0);
			
		
		write_byte(0);
		write_byte(0);
		write_byte(255);
	
		write_byte(150);
		write_byte(1);
		message_end();
		
		ent_count[id]++;
		
		for(new i=0;i<2;i++)
		{
			beam_entity[id][ent_count[id]] = create_entity("info_target");
			
			//entity_set_int(beam_entity[id][ent_count[id]], EV_INT_solid, SOLID_NOT);
			entity_set_model(beam_entity[id][ent_count[id]], "models/hairt.mdl");
			
			new Float:ent_org[3];
			if(direct[0])
			{
				ent_org[0]=temp_or[1];
				
				if(i==1)
					ent_org[1]=temp_start-full;
				else
					ent_org[1]=temp_start;
			}
			else 
			{
				if(i==1)
					ent_org[0]=temp_start-full;
				else
					ent_org[0]=temp_start;
					
				ent_org[1]=temp_or[1];
			}
			ent_org[2]=temp_or[2]-10.0;
			
			entity_set_origin(beam_entity[id][ent_count[id]], ent_org);
			
			message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id);
			
			write_byte(TE_BEAMENTPOINT);
			write_short(beam_entity[id][ent_count[id]]);
			
	///////////////////////////////////////////	
			if(direct[0])
			{
				write_coord(floatround(temp_or[1]));
				
				if(i==1)
					write_coord(floatround(temp_start-full));
				else
					write_coord(floatround(temp_start));
			}
			else 
			{
				if(i==1)
					write_coord(floatround(temp_start-full));
				else
					write_coord(floatround(temp_start));
					
				write_coord(floatround(temp_or[1]));
			}
			write_coord(floatround(temp_or[2]+10.0));
	///////////////////////////////////////////	
			write_short(heystats);
			write_byte(0);
			write_byte(5);
			write_byte(showtime_st_stats[id]);
			write_byte(5);
			write_byte(0);
				
			
			write_byte(0);
			write_byte(0);
			write_byte(255);
		
			write_byte(150);
			write_byte(1);
			message_end();
			
			ent_count[id]++;
		}
		
		for(new i=1;i<=str_num;i++)
		{
			new Float:st_start,Float:st_finish;
			
			st_finish=temp_start-strafe_lost[i]-strafe_frame1[i]-strafe_frame2[i];
			st_start=temp_start-strafe_lost[i];
			
			for(new Float:j=st_start,count_l=0;j>st_finish;j=j-1.0)
			{
				beam_entity[id][ent_count[id]] = create_entity("info_target");
		
				//entity_set_int(beam_entity[id][ent_count[id]], EV_INT_solid, SOLID_NOT);
				entity_set_model(beam_entity[id][ent_count[id]], "models/hairt.mdl");
				
				new Float:ent_org[3];
				if(direct[0])
				{
					ent_org[0]=temp_or[1];
					ent_org[1]=j;
				}
				else 
				{
					ent_org[0]=j;
					ent_org[1]=temp_or[1];
				}
				
				if(i%2!=0)
					ent_org[2]=temp_or[2];
				else 
					ent_org[2]=temp_or[2]-4.0;
				
				entity_set_origin(beam_entity[id][ent_count[id]], ent_org);
				
				message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id);
				
				write_byte(TE_BEAMENTPOINT);
				write_short(beam_entity[id][ent_count[id]]);
				
		///////////////////////////////////////////	
				if(direct[0])
				{
					write_coord(floatround(temp_or[1]));
					write_coord(floatround(j));
				}
				else 
				{
					write_coord(floatround(j));
					write_coord(floatround(temp_or[1]));
				}
				
				if(i%2!=0)
					write_coord(floatround(temp_or[2]+4.0));
				else 
					write_coord(floatround(temp_or[2]));
		///////////////////////////////////////////	
				write_short(heystats);
				write_byte(0);
				write_byte(5);
				write_byte(showtime_st_stats[id]);
				write_byte(5);
				write_byte(0);
					
				if(l_lost[i][count_l])
				{
					write_byte(255);
					write_byte(0);
					write_byte(0);
					line_lost[id][i][count_l]=0;
				}
				else
				{
					write_byte(0);
					write_byte(255);
					write_byte(0);
				}
				
				write_byte(200);
				write_byte(1);
				message_end();
				count_l++;
				ent_count[id]++;
			}
			temp_start=st_finish;
			
		}
	}
	else
	{
		new Float:temp_start=os_start;
		
		beam_entity[id][ent_count[id]] = create_entity("info_target");
		
	//	entity_set_int(beam_entity[id][ent_count[id]], EV_INT_solid, SOLID_NOT);
		entity_set_model(beam_entity[id][ent_count[id]], "models/hairt.mdl");
		
		new Float:ent_or[3];
		if(direct[0])
		{
			ent_or[0]=temp_or[1];
			ent_or[1]=temp_start;
		}
		else 
		{
			ent_or[0]=temp_start;
			ent_or[1]=temp_or[1];
		}
		ent_or[2]=temp_or[2];
		
		entity_set_origin(beam_entity[id][ent_count[id]], ent_or);
		
		message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id);
		
		write_byte(TE_BEAMENTPOINT);
		write_short(beam_entity[id][ent_count[id]]);
		
///////////////////////////////////////////	
		if(direct[0])
		{
			write_coord(floatround(temp_or[1]));
			write_coord(floatround(temp_start+full));
		}
		else 
		{
			write_coord(floatround(temp_start+full));
			write_coord(floatround(temp_or[1]));
		}
		write_coord(floatround(temp_or[2]));
///////////////////////////////////////////	
		write_short(heystats);
		write_byte(0);
		write_byte(5);
		write_byte(showtime_st_stats[id]);
		write_byte(1);
		write_byte(0);
			
		
		write_byte(0);
		write_byte(0);
		write_byte(255);
	
		write_byte(150);
		write_byte(1);
		message_end();
		
		ent_count[id]++;
		
		for(new i=0;i<2;i++)
		{
			beam_entity[id][ent_count[id]] = create_entity("info_target");
		
			//entity_set_int(beam_entity[id][ent_count[id]], EV_INT_solid, SOLID_NOT);
			entity_set_model(beam_entity[id][ent_count[id]], "models/hairt.mdl");
			
			new Float:ent_org[3];
			if(direct[0])
			{
				ent_org[0]=temp_or[1];
				
				if(i==1)
					ent_org[1]=temp_start+full;
				else
					ent_org[1]=temp_start;
			}
			else 
			{
				if(i==1)
					ent_org[0]=temp_start+full;
				else
					ent_org[0]=temp_start;
					
				ent_org[1]=temp_or[1];
			}
			ent_org[2]=temp_or[2]-10.0;
			
			entity_set_origin(beam_entity[id][ent_count[id]], ent_org);
			
			message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id);
			
			write_byte(TE_BEAMENTPOINT);
			write_short(beam_entity[id][ent_count[id]]);
	///////////////////////////////////////////	
			if(direct[0])
			{
				write_coord(floatround(temp_or[1]));
				
				if(i==1)
					write_coord(floatround(temp_start+full));
				else
					write_coord(floatround(temp_start));
			}
			else 
			{
				if(i==1)
					write_coord(floatround(temp_start+full));
				else
					write_coord(floatround(temp_start));
					
				write_coord(floatround(temp_or[1]));
			}
			write_coord(floatround(temp_or[2]+10.0));
	///////////////////////////////////////////	
			write_short(heystats);
			write_byte(0);
			write_byte(5);
			write_byte(showtime_st_stats[id]);
			write_byte(5);
			write_byte(0);
				
			
			write_byte(0);
			write_byte(0);
			write_byte(255);
		
			write_byte(150);
			write_byte(1);
			message_end();
			
			ent_count[id]++;
		}
		
		for(new i=1;i<=str_num;i++)
		{
			new Float:st_start,Float:st_finish;
			
			st_finish=temp_start+strafe_lost[i]+strafe_frame1[i]+strafe_frame2[i];
			st_start=temp_start+strafe_lost[i];
			//ColorChat(id,RED,"start=%f tempstart=%f st_start=%f st_finish=%f",os_start,temp_start, st_start,st_finish);
			
			for(new Float:j=st_start,count_l=0;j<st_finish;j++)
			{
				beam_entity[id][ent_count[id]] = create_entity("info_target");
		
			//	entity_set_int(beam_entity[id][ent_count[id]], EV_INT_solid, SOLID_NOT);
				entity_set_model(beam_entity[id][ent_count[id]], "models/hairt.mdl");
				
				new Float:ent_org[3];
				if(direct[0])
				{
					ent_org[0]=temp_or[1];
					ent_org[1]=j;
				}
				else 
				{
					ent_org[0]=j;
					ent_org[1]=temp_or[1];
				}
				
				if(i%2!=0)
					ent_org[2]=temp_or[2];
				else 
					ent_org[2]=temp_or[2]-4.0;
				
				entity_set_origin(beam_entity[id][ent_count[id]], ent_org);
				
				message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id);
				
				write_byte(TE_BEAMENTPOINT);
				write_short(beam_entity[id][ent_count[id]]);

		///////////////////////////////////////////	
				if(direct[0])
				{
					write_coord(floatround(temp_or[1]));
					write_coord(floatround(j));
				}
				else 
				{
					write_coord(floatround(j));
					write_coord(floatround(temp_or[1]));
				}
				
				if(i%2!=0)
					write_coord(floatround(temp_or[2]+4.0));
				else 
					write_coord(floatround(temp_or[2]));
		///////////////////////////////////////////	
				write_short(heystats);
				write_byte(0);
				write_byte(5);
				write_byte(showtime_st_stats[id]);
				write_byte(5);
				write_byte(0);
					
				if(l_lost[i][count_l])
				{
					write_byte(255);
					write_byte(0);
					write_byte(0);
					line_lost[id][i][count_l]=0;
				}
				else
				{
					write_byte(0);
					write_byte(255);
					write_byte(0);
				}
				
				write_byte(200);
				write_byte(1);
				message_end();
				count_l++;
				ent_count[id]++;
			}
			temp_start=st_finish;
		}
	}
}


public fwdPreThink( id )
{
	if(g_userConnected[id]==true && g_pBot[id]==false)
	{	
		if(uq_admins==1 && !player_admin[id])
		{
			return FMRES_IGNORED;
		}
		else
		{
			new tmpTeam[33],dead_flag;	
			get_user_team(id,tmpTeam,32);
			dead_flag=pev(id, pev_deadflag);
			
			if(equali(tmpTeam,"SPECTATOR") && g_alive[id])
			{
				g_alive[id]=false;
				
				if( task_exists(id, 0) )
					remove_task(id, 0);
					
				if( task_exists(id+434490, 0) )
					remove_task(id+434490, 0);
					
				if( task_exists(id, 0) )
					remove_task(id, 0);
				
				if( task_exists(id+89012, 0) )
					remove_task(id+89012, 0);
				
				if( task_exists(id+3313, 0) )
					remove_task(id+3313, 0);
				
				if( task_exists(id+3214, 0) )
					remove_task(id+3214, 0);
					
				if( task_exists(id+15237, 0) )
					remove_task(id+15237, 0);
				
				if( task_exists(id+212398, 0) )
					remove_task(id+212398, 0);
			}
			else if(equali(tmpTeam,"TERRORIST") || equali(tmpTeam,"CT"))
			{
				if(dead_flag==2 && g_alive[id])
				{
					g_alive[id]=false;
					
					if( task_exists(id, 0) )
						remove_task(id, 0);
						
					if( task_exists(id+434490, 0) )
						remove_task(id+434490, 0);
						
					if( task_exists(id, 0) )
						remove_task(id, 0);
					
					if( task_exists(id+89012, 0) )
						remove_task(id+89012, 0);
					
					if( task_exists(id+3313, 0) )
						remove_task(id+3313, 0);
					
					if( task_exists(id+3214, 0) )
						remove_task(id+3214, 0);
						
					if( task_exists(id+15237, 0) )
						remove_task(id+15237, 0);
					
					if( task_exists(id+212398, 0) )
						remove_task(id+212398, 0);
				}
				else if(dead_flag==0 && g_alive[id]==false)
				{
					g_alive[id]=true;
				}
			}
			
			
			
			if(uq_team==0)
			{
				team[id]=0;
			}
			else if(equali(tmpTeam,"TERRORIST"))
			{
				team[id]=1;
			}
			else if(equali(tmpTeam,"CT"))
			{
				team[id]=2;
			}
			else
			{
				team[id]=uq_team;
			}
			
			if( g_alive[id] && team[id]==uq_team)
			{
				static bool:failed_ducking[33];
				static bool:first_frame[33];
				static Float:duckoff_time[33];
				static Float:duckoff_origin[33][3], Float:pre_jumpoff_origin[33][3];
				static Float:jumpoff_foot_height[33];	
				static Float:prest[33],Float:prest1[33],Float:jumpoff_origin[33][3],Float:failed_velocity[33][3],Float:failed_origin[33][3];
				static Float:frame_origin[33][2][3], Float:frame_velocity[33][2][3], Float:jumpoff_time[33], Float:last_land_time[33];
				
				new entlist1[1];
				
				weapSpeedOld[id] = weapSpeed[id];
				
				if( g_reset[id] ==true)
				{
					angles_arry[id]=0;
					dd_sync[id]=0;
					g_reset[id]	= false;
					g_Jumped[id]	= false;
					cjjump[id] =false;
					in_air[id]	= false;
					in_duck[id]	= false;
					in_bhop[id]	= false;
					ducks[id]=0;
					first_duck_z[id]=0.0;
					backwards[id]=false;
					dropaem[id]=false;
					failed_jump[id] = false;
					prest[id]=0.0;
					bug_true[id]=false;
					detecthj[id]=0;
					edgedone[id]=false;
					jumpblock[id]=1000;
					schetchik[id]=0;
					CjafterJump[id]=0;
					upBhop[id]=false;
					old_type_dropbj[id]=Type_Null;
					first_surf[id]=false;
					surf[id]=0.0;
					ddbeforwj[id]=false;
					duckstring[id]=false;
					notjump[id]=false;
					frames_gained_speed[id] = 0;
					frames[id]	= 0;
					strafe_num[id] = 0;
					ladderjump[id]=false;
					started_multicj_pre[id]	= false;
					started_cj_pre[id]		= false;
					jumpoffirst[id]=false;
					jump_type[id]	= Type_None;
					gBeam_count[id] = 0;
					edgedist[id]=0.0;
					oldjump_height[id]=0.0;
					jheight[id]=0.0;
					duckbhop_bug_pre[id]=false;
					FullJumpFrames[id]=0;
					direct_for_strafe[id]=0;
					ddstandcj[id]=false;
					
					for( new i = 0; i < 100; i++ )
					{
						gBeam_points[id][i][0]	= 0.0;
						gBeam_points[id][i][1]	= 0.0;
						gBeam_points[id][i][2]	= 0.0;
						gBeam_duck[id][i]	= false;
						gBeam_button[id][i]=false;
						
					}
					Checkframes[id]=false;
					for(new i=0;i<NSTRAFES;i++)
					{
						type_button_what[id][i]=0;
						if(uq_istrafe)
							lost_frame_count[id][i]=0;						
					}
					
					if(uq_istrafe)
					{
						for(new i=0;i<=line_erase_strnum[id];i++)
						{
							for( new j = 0; j <= line_erase[id][i]; j++ )
							{
								if(i<NSTRAFES && j<NVAR)
									line_lost[id][i][j]=0;
							}
						}
					}
				}
				
				static button, oldbuttons, flags;
				pev(id, pev_maxspeed, weapSpeed[id]);
				pev(id, pev_origin, origin);
				button = pev(id, pev_button );
				flags = pev(id, pev_flags );
				oldbuttons = pev( id, pev_oldbuttons );
				
				static Float:fGravity,Pmaxspeed;
				pev(id, pev_gravity, fGravity);
				Pmaxspeed=pev( id, pev_maxspeed );
				new Float:velocity[3];
				pev(id, pev_velocity, velocity);
				movetype[id] = pev(id, pev_movetype);
				
				if( flags&FL_ONGROUND && flags&FL_INWATER )  
						velocity[2] = 0.0;
				if( velocity[2] != 0 )
					velocity[2]-=velocity[2];
					
				speed[id] = vector_length(velocity);	
				
				new is_spec_user[33];
				for( new i = INFO_ONE; i < max_players; i++ )
				{
					is_spec_user[i]=is_user_spectating_player(i, id);
				}
				if(strafe_num[id]>NSTRAFES1)
				{
					g_reset[id]=true;
					for( new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]))
						{
							set_hudmessage( 255, 255, 255, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );
							show_hudmessage(i,"%L",LANG_SERVER,"UQSTATS_STR1",NSTRAFES1,strafe_num[id]);	
						}
					}
					return FMRES_IGNORED;
				}
				
				
				if((button&IN_RIGHT || button&IN_LEFT) && !(flags&FL_ONGROUND))
				{
					for(new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]))
						{
							client_print(i,print_center,"%L",LANG_SERVER,"UQSTATS_STR2");
							JumpReset(id,28);
							return FMRES_IGNORED;
						}
					}
				}
				new airace,aircj;
				if(uq_airaccel<=10 && uq_airaccel!=1)
				{
					if(uq_airaccel==0)
						airace=10;
					else
						airace=uq_airaccel;
						
					aircj=0;
					formatex(airacel[id],32,"");
				}
				else
				{
					if(uq_airaccel==1)
					{
						airace=100;
						formatex(airacel[id],32,"(100aa)");
					}
					else
					{
						airace=uq_airaccel;
						formatex(airacel[id],32,"(%daa)",uq_airaccel);
					}
					aircj=10;
				}
				
				new spd;
				if(equali(mapname,"slide_gs_longjumps") || equali(mapname,"b2j_slide_longjumps"))
				{
					spd=1400;
				}
				else spd=450;
				
				if(speed[id]> spd || weapSpeedOld[id] != weapSpeed[id])
				{
					if(weapSpeedOld[id] != weapSpeed[id])
					{
						
						changetime[id]=get_gametime();
					}
					JumpReset(id,29);
					return FMRES_IGNORED;
				}
				
				if(leg_settings==1 && (get_pcvar_num(edgefriction) != 2 || fGravity != 1.0 || get_pcvar_num(mp_footsteps) != 1
					|| get_pcvar_num(sv_cheats) != 0
					|| get_pcvar_num(sv_gravity) != 800
					|| get_pcvar_num(sv_airaccelerate) != airace
					|| get_pcvar_num(sv_maxspeed) != 320
					|| get_pcvar_num(sv_stepsize) != 18
					|| get_pcvar_num(sv_maxvelocity) != 2000
					|| pev(id, pev_waterlevel) >= 2 ))
					{
						JumpReset(id,99);
						return FMRES_IGNORED;
					}
			
				if(!(button&IN_MOVELEFT)
				&& oldbuttons&IN_MOVELEFT)
				{
					preessbutton[id]=false;
					button_what[id]=0;
				}
				else if(oldbuttons&IN_MOVERIGHT
				&& !(button&IN_MOVERIGHT))
				{
					button_what[id]=0;
					preessbutton[id]=false;
				}
				else if(oldbuttons&IN_BACK
				&& !(button&IN_BACK))
				{
					preessbutton[id]=false;
					button_what[id]=0;
				}
				else if(oldbuttons&IN_FORWARD
				&& !(button&IN_FORWARD))
				{
					preessbutton[id]=false;
					button_what[id]=0;
				}
					
				if( !(flags&FL_ONGROUND) )
				{
					last_land_time[id] = get_gametime();
					jof[id]=0.0;
				}
					
				
				if(bhopaem[id]==true && !(flags&FL_ONGROUND) && movetype[id] != MOVETYPE_FLY)
				{
					bhopaemtime[id]=get_gametime();
				}
				else if(bhopaem[id]==true && flags&FL_ONGROUND && get_gametime()-bhopaemtime[id]>0.1 && movetype[id] != MOVETYPE_FLY)
				{
			
					bhopaem[id]=false;
				}
				
				if(nextbhop[id]==true && flags&FL_ONGROUND && first_ground_bhopaem[id]==false)
				{
					first_ground_bhopaem[id]=true;
					ground_bhopaem_time[id]=get_gametime();
				}
				else if(nextbhop[id]==true && !(flags&FL_ONGROUND) && first_ground_bhopaem[id]==true && movetype[id] != MOVETYPE_FLY)
				{
					first_ground_bhopaem[id]=false;
				}
				
				if(nextbhop[id]==true && flags&FL_ONGROUND && first_ground_bhopaem[id]==true && (get_gametime()-ground_bhopaem_time[id]>0.1) && movetype[id] != MOVETYPE_FLY)
				{
					first_ground_bhopaem[id]=false;
					bhopaem[id]=false;
					nextbhop[id]=false;
				}
				
				if(nextbhop[id]==true && !(flags&FL_ONGROUND) && movetype[id] != MOVETYPE_FLY)
				{
					nextbhoptime[id]=get_gametime();
				}
				if(nextbhop[id]==true && flags&FL_ONGROUND && get_gametime()-nextbhoptime[id]>0.1 && movetype[id] != MOVETYPE_FLY)
				{
					nextbhop[id]=false;
				}
				if(flags & FL_ONGROUND && h_jumped[id]==false && movetype[id] != MOVETYPE_FLY)
				{
					heightoff_origin[id]=0.0;
				}
				
				if(!g_Jumped[id] && flags & FL_ONGROUND && button&IN_BACK && backwards[id]==false)
				{
					backwards[id]=true;
				}
				else if(!g_Jumped[id] && flags & FL_ONGROUND && button&IN_FORWARD && backwards[id])
				{
					backwards[id]=false;
				}
				
				if(flags & FL_ONGROUND && button&IN_JUMP && !(oldbuttons&IN_JUMP) && movetype[id] != MOVETYPE_FLY)
				{
					if(is_user_ducking(id))
					{
						heightoff_origin[id]=origin[2]+18;
					}
					else heightoff_origin[id]=origin[2];
					
					h_jumped[id]=true;
				}
				else if(flags & FL_ONGROUND && h_jumped[id] && movetype[id] != MOVETYPE_FLY)
				{
					new Float:heightland_origin;
					if(is_user_ducking(id))
					{
						heightland_origin=origin[2]+18;
					}
					else heightland_origin=origin[2];
					
					
					for( new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]))
						{	
							if(height_show[i]==true )
							{
								if(heightland_origin-heightoff_origin[id]==0.0)
								{
									set_hudmessage(prest_r,prest_g, prest_b, stats_x, stats_y, 0, 0.0, 0.7, 0.1, 0.1, h_stats);
									show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_FJHEIGH1");
								}
								else if(heightland_origin-heightoff_origin[id]>0.0)
								{
									set_hudmessage(prest_r,prest_g, prest_b, stats_x, stats_y, 0, 0.0, 0.7, 0.1, 0.1, h_stats);
									show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_FJHEIGH2",heightland_origin-heightoff_origin[id]);
								}
								else if(heightland_origin-heightoff_origin[id]<0.0)
								{
									set_hudmessage(prest_r,prest_g, prest_b, stats_x, stats_y, 0, 0.0, 0.7, 0.1, 0.1, h_stats);
									show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_FJHEIGH3",floatabs(heightland_origin-heightoff_origin[id]));
								}
							}
						}
					}
					for( new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]))
						{
							if(height_show[i]==true )
							{
								if(heightland_origin-heightoff_origin[id]==0.0)
								{
									client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_FJHEIGH1");
								}
								else if(heightland_origin-heightoff_origin[id]>0.0)
								{
									client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_FJHEIGH2",heightland_origin-heightoff_origin[id]);
								}
								else if(heightland_origin-heightoff_origin[id]<0.0)
								{
									client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_FJHEIGH3",floatabs(heightland_origin-heightoff_origin[id]));
								}
							}
						}
					}
					h_jumped[id]=false;
				}
				
				if((movetype[id] != MOVETYPE_FLY))	
				{
					if(firstfr[id]==false)
					{
						firstfr[id]=true;
						pev(id, pev_velocity, velocity);
						pev(id, pev_origin, origin);
						if((g_Jumped[id]==true || !(flags&FL_ONGROUND)))
						{
							firstvel[id]=velocity[2];
						}
						firstorig[id]=origin;
					}
					else if(firstfr[id]==true )
					{
						pev(id, pev_origin, origin);
						pev(id, pev_velocity, velocity);
			
						secorig[id]=origin;
						if((g_Jumped[id]==true || !(flags&FL_ONGROUND)))
						{
							secvel[id]=velocity[2];
						}
						firstfr[id]=false;	
					}
					if(!(flags&FL_ONGROUND) && first_air[id]==false)
					{
						framecount[id]++;
						if(framecount[id]==2)
						{
							first_air[id]=true;
						}
						
						SurfFrames[id]=floatabs(firstvel[id]-secvel[id]);
						
						if(floatabs(firstvel[id]-secvel[id])>41)
						{
							SurfFrames[id]=oldSurfFrames[id];
						}
						oldSurfFrames[id]=SurfFrames[id];
					}
					if(flags&FL_ONGROUND && first_air[id]==true)
					{
						first_air[id]=false;
						framecount[id]=0;
					}
					if(!(flags&FL_ONGROUND) && SurfFrames[id]<7.9 && uq_fps==1 && fps_hight[id]==false)
					{
						fps_hight[id]=true;
					}
					if((flags&FL_ONGROUND) && SurfFrames[id]>7.9 && fps_hight[id])
					{
						fps_hight[id]=false;
					}
			
					if(!(flags&FL_ONGROUND) && 1.7*floatabs(firstvel[id]-secvel[id])<SurfFrames[id] && floatabs(firstvel[id]-secvel[id])!=4.0)
					{
						if(equali(mapname,"slide_gs_longjumps") || equali(mapname,"b2j_slide_longjumps"))
						{
							slide[id]=true;
						}
						else if(!ladderjump[id] && movetype[id] != MOVETYPE_FLY)
						{
							find_sphere_class (id, "func_ladder",200.0, entlist1, 1);
							if(!entlist1[0])
							{
								JumpReset(id,30);
								slide_protec[id]=true;
								return FMRES_IGNORED;
							}
						}
					}
					else 
					{
						if(slide[id]==true && ((oldbuttons&IN_MOVELEFT && button&IN_MOVERIGHT) || (oldbuttons&IN_MOVERIGHT && button&IN_MOVELEFT)))
						{
							if(touch_ent[id])
							{
								JumpReset(id,102);
							}
							
							if(task_exists(id)) remove_task(id);
							
							set_task(1.5,"JumpReset1", id);
							
							pev(id, pev_origin, origin);
							
							slidim[id]=true;
							jump_type[id]=Type_Slide;
							
							g_Jumped[id]	= true;
							prestrafe[id]	= speed[id];
			
							if(showpre[id]==true)
							{
								set_hudmessage(255,255, 255, -1.0, 0.85, 0, 0.0, 0.7, 0.1, 0.1, 2);
								show_hudmessage(id, "Slide pre: %.03f",speed);
							}
							slide[id]=false;
						}
					}
					
					firstorig[id][2]=0.0;
					secorig[id][2]=0.0;
					
					if((slidim[id]==true || slide[id]==true) && get_distance_f(firstorig[id],secorig[id])>20.0)
					{
						groundslide[id]=0.0;
						waits[id]=0;
						slidim[id]=false;
						taskslide[id]=0;
						failslide[id]=false;
						slide[id]=false;
						g_Jumped[id]	= false;
						
						return FMRES_IGNORED;
					}
					
					if((g_Jumped[id]==true || h_jumped[id]) && get_distance_f(firstorig[id],secorig[id])>6.0)
					{
						h_jumped[id]=false;
						JumpReset(id,31);
						return FMRES_IGNORED;
					}
				}
				if(slidim[id]==true)
				{
					
					//if(Pmaxspeed != 250.0)
					//{
					//	client_print(id,print_center,"Slide works only withs weapons 250.0 speed"); 
					//	return FMRES_IGNORED;
					//}
					
					pev(id, pev_origin, origin);
					new Float:start[33][3],Float:end[33][3];
					
				
					start[id][0]=origin[0];
					start[id][1]=origin[1]+16.0;
					start[id][2]=origin[2];
					end[id][0]=origin[0];
					end[id][1]=origin[1]+16.0;
					end[id][2]=origin[2]-500.0;
					
					engfunc(EngFunc_TraceLine, start[id], end[id], IGNORE_GLASS, id, 0); 
					get_tr2( 0, TR_vecEndPos, slidez[id][0]);
			
					start[id][0]=origin[0];
					start[id][1]=origin[1]-16.0;
					start[id][2]=origin[2];
					end[id][0]=origin[0];
					end[id][1]=origin[1]-16.0;
					end[id][2]=origin[2]-500.0;
					
					engfunc(EngFunc_TraceLine, start[id], end[id], IGNORE_GLASS, id, 0); 
					get_tr2( 0, TR_vecEndPos, slidez[id][1]);
					
					start[id][0]=origin[0]+16.0;
					start[id][1]=origin[1];
					start[id][2]=origin[2];
					end[id][0]=origin[0]+16.0;
					end[id][1]=origin[1];
					end[id][2]=origin[2]-500.0;
					
					engfunc(EngFunc_TraceLine, start[id], end[id], IGNORE_GLASS, id, 0); 
					get_tr2( 0, TR_vecEndPos, slidez[id][2]);
					
					start[id][0]=origin[0]-16.0;
					start[id][1]=origin[1];
					start[id][2]=origin[2];
					end[id][0]=origin[0]-16.0;
					end[id][1]=origin[1];
					end[id][2]=origin[2]-500.0;
					
					engfunc(EngFunc_TraceLine, start[id], end[id], IGNORE_GLASS, id, 0); 
					get_tr2( 0, TR_vecEndPos, slidez[id][3]);
					
					for(new i=0;i<4;i++)
					{		
						if(i!=3)
						{
							if(slidez[id][i][2]>slidez[id][i+1][2])
							{
								needslide[id]=slidez[id][i][2];
								groundslide[id]=slidez[id][i+1][2];
							
								if(needslide[id]-groundslide[id]>149.0 && landslide[id]==false)
								{
									landslide[id]=true;
									pev(id, pev_origin, origin);
									if( !(is_user_ducking(id)) )
									{
										origin[2]-=36.0;
									}
									else origin[2]-=18.0;
									
									slideland[id]=origin[2];
									slidedist[id]=slideland[id]-groundslide[id];
									maxspeed[id]=speed[id];
								}
							}
						}
					}
				
					if(taskslide[id]==0)
					{
						set_task(0.4,"wait", id+3313);
						taskslide[id]=1;
					}
					
					pev(id, pev_velocity, velocity);
					if(velocity[1]==0.0 && failslide[id]==false && !(flags&FL_ONGROUND) && waits[id]==1 )
					{
						if( !(is_user_ducking(id)) )
						{
							origin[2]-=36.0;
						}
						else origin[2]-=18.0;
						failslidez[id]=origin[2];
						failslide[id]=true;			
					}
				}
				
				if(flags&FL_ONGROUND && slidim[id]==true && Pmaxspeed == 250.0)
				{
					for( new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]) && g_lj_stats[i]==true)
						{
							if(needslide[id]-groundslide[id]==slidedist[id])
							{
								client_print(i, print_console, "Slide Distance: %d.xxx",floatround(slidedist[id], floatround_floor));
								set_hudmessage( stats_r, stats_g, stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );	
								show_hudmessage( i, "Slide Distance: %d.xxx",floatround(slidedist[id], floatround_floor));
							}
							else
							{
								client_print(i, print_console, "Slide Distance: %f",slidedist[id]);
								set_hudmessage(stats_r, stats_g, stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );	
								show_hudmessage( i, "Slide Distance: %f",slidedist[id]);
							
							}
						}
					}
									
					new iPlayers[32],iNum; 
					get_players ( iPlayers, iNum,"ch") ;
					for(new i=0;i<iNum;i++) 
					{ 
						new ids=iPlayers[i]; 
						if(gHasColorChat[ids] ==true || ids==id)
						{
							if(needslide[id]-groundslide[id]==slidedist[id])
							{
								ColorChat(ids, GREY, "[%s] %s jumped %d.xxx units with Slide lj!^x01%s",prefix, g_playername[id], floatround(slidedist[id], floatround_floor),airacel[id]);
							}
							else 
							ColorChat(ids, GREY, "[%s] %s jumped %.3f units with Slide lj!^x01%s",prefix, g_playername[id], slidedist[id],airacel[id]);				
						}
					}
										
					slidim[id]=false;
					groundslide[id]=0.0;
					waits[id]=0;
					slidim[id]=false;
					taskslide[id]=0;
					taskslide1[id]=0;
					
					message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id);
					write_byte ( TE_BEAMPOINTS );
					write_coord(floatround(origin[0]));
					write_coord(floatround(origin[1]));
					write_coord(floatround(slideland[id]));
					write_coord(floatround(origin[0]));
					write_coord(floatround(origin[1]+52.0));
					write_coord(floatround(slideland[id]));
				
					write_short(gBeam);
					write_byte(1);
					write_byte(5);
					write_byte(1130);
					write_byte(20);
					write_byte(0);
					write_byte(255);
					write_byte(0);
					write_byte(0);
					
					write_byte(200);
					write_byte(200);
					message_end();
					landslide[id]=false;
				}
				if((failslide[id]==true) && slidim[id]==true)
				{
					for( new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]) && g_lj_stats[i]==true)
						{
							client_print(i, print_console, "Slide Distance: %f Prestrafe: %f",failslidez[id]-groundslide[id],prestrafe[id]);
					
							set_hudmessage( f_stats_r, f_stats_g, f_stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );
							show_hudmessage( i, "Slide Distance: %f^nPrestrafe: %f",failslidez[id]-groundslide[id],prestrafe[id]);
						}
					}
					
					message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id);
					write_byte ( TE_BEAMPOINTS );
					write_coord(floatround(origin[0]));
					write_coord(floatround(origin[1]));
					write_coord(floatround(failslidez[id]));
					write_coord(floatround(origin[0]));
					write_coord(floatround(origin[1]+52.0));
					write_coord(floatround(failslidez[id]));
					
					write_short(gBeam);
					write_byte(1);
					write_byte(5);
					write_byte(1130);
					write_byte(20);
					write_byte(0);
					write_byte(255);
					write_byte(0);
					write_byte(0);
					
					write_byte(200);
					write_byte(200);
					message_end();
			
					failslide[id]=false;
					slidim[id]=false;
					groundslide[id]=0.0;
					waits[id]=0;
					taskslide[id]=0;
					taskslide1[id]=0;
				}
			
				if( (in_air[id]==true || in_bhop[id] == true) && !(flags&FL_ONGROUND) )
				{
					static i;
					for( i = INFO_ZERO; i < 2; i++ )
					{
						if( (i == 1) 
						|| (frame_origin[id][i][0] == 0
						&& frame_origin[id][i][1] == 0
						&& frame_origin[id][i][2] == 0 
						&& frame_velocity[id][i][0] == 0
						&& frame_velocity[id][i][1] == 0
						&& frame_velocity[id][i][2] == 0 )) 
						{
							frame_origin[id][i][0] = origin[0];
							frame_origin[id][i][1] = origin[1];
							frame_origin[id][i][2] = origin[2];
							
							pev(id, pev_velocity, velocity);
							frame_velocity[id][i][0] = velocity[0];
							frame_velocity[id][i][1] = velocity[1];
							frame_velocity[id][i][2] = velocity[2];
							i=2;
						}
					}
					
				}
				
				if( (in_air[id]) && !( flags & FL_ONGROUND ) && !failed_jump[id])
				{	
					if(uq_script_detection)
					{
						new Float:angles[3];
						pev(id,pev_angles,angles);
						
						if(floatabs(angles[0]-old_angles[id][0])==0.0)
						{
							angles_arry[id]++;
						}
						//if()
						//{
						//	angles_arry1[id]++;
						//}
						
						//client_print(id,print_chat,"%f",floatabs(vector_length(angles)-vector_length(old_angles[id])));	
					
						old_angles[id]=angles;
					}
					
					new Float:jh_origin;
					
					jh_origin=origin[2];
					
					if(floatabs(jumpoff_origin[id][2]-jh_origin)<oldjump_height[id] && jheight[id]==0.0)
					{
						
						if(is_user_ducking(id))
						{
							jheight[id]=oldjump_height[id]+18.0;
						}
						else jheight[id]=oldjump_height[id];
						
						for( new i = INFO_ONE; i < max_players; i++ )
						{
							if( (i == id || is_spec_user[i]))
							{	
								if(jheight_show[i]==true )
								{
									set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
									show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE39",jheight[id]);
									
									client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_PRE39",jheight[id]);
								}
							}
						}
						
						if(!direct_for_strafe[id])
						{
							if(velocity[1]>0 && floatabs(velocity[1])>floatabs(velocity[0]))
							{
								direct_for_strafe[id]=1;
							}
							else if(velocity[1]<0 && floatabs(velocity[1])>floatabs(velocity[0]))
							{
								direct_for_strafe[id]=2;
							}
							else if(velocity[0]>0 && floatabs(velocity[0])>floatabs(velocity[1]))
							{
								direct_for_strafe[id]=3;
							}
							else if(velocity[0]<0 && floatabs(velocity[0])>floatabs(velocity[1]))
							{
								direct_for_strafe[id]=4;
							}
						}
					}
					
					
					
					oldjump_height[id]=floatabs(jumpoff_origin[id][2]-origin[2]);
					
					if(bug_check[id]==0 && floatfract(velocity[2])==0)
					{
						bug_check[id]=1;
					}
					else if(bug_check[id]==1 && floatfract(velocity[2])==0)
					{
						bug_true[id]=true;
						bug_check[id]=0;
					}
					if( !in_bhop[id] )
					{
						fnSaveBeamPos( id );
					}
					static Float:old_speed[33];
					if( speed[id] > old_speed[id] )
					{
						frames_gained_speed[id]++;
					}
					frames[id]++;
					
					old_speed[id] = speed[id];
			
					if( speed[id] > maxspeed[id] )
					{
						if (strafe_num[id] < NSTRAFES)
						{
							strafe_stat_speed[id][strafe_num[id]][0] += speed[id] - maxspeed[id];
						}
						maxspeed[id] = speed[id];
					}
					if ((speed[id] < TempSpeed[id]) && (strafe_num[id] < NSTRAFES))
					{
						strafe_stat_speed[id][strafe_num[id]][1] += TempSpeed[id] - speed[id];
						if(strafe_stat_speed[id][strafe_num[id]][1]>5)
						{
							if(floatabs(firstvel[id]-secvel[id])<SurfFrames[id]-0.1)
							{
								Checkframes[id]=true;
							}
							else if(floatabs(firstvel[id]-secvel[id])>SurfFrames[id])
							{
								Checkframes[id]=true;
							}
						}
						
						
					}
					TempSpeed[id] = speed[id];
					
					if((origin[2] + 18.0 - jumpoff_origin[id][2] < 0))
					{
						failed_jump[id] = true;
					}
					else if( (is_user_ducking(id) ? (origin[2]+18) : origin[2]) >= jumpoff_origin[id][2] )
					{
						failed_origin[id] = origin;
						failed_ducking[id] = is_user_ducking( id );
						failed_velocity[id] = velocity;
						
						origin[2] = pre_jumpoff_origin[id][2];	
					}
					if( first_frame[id] ) 
					{
						first_frame[id] = false;
						frame_velocity[id][0] = velocity;
						
						gBeam_count[id] = 0;
						for( new i = 0; i < 100; i++ )
						{
							gBeam_points[id][i][0]	= 0.0;
							gBeam_points[id][i][1]	= 0.0;
							gBeam_points[id][i][2]	= 0.0;
							gBeam_duck[id][i]	= false;
							gBeam_button[id][i]=false;
						}
						
						if(in_bhop[id] && jump_type[id]!=Type_DuckBhop)
						{
							if(upBhop[id])
							{
								if(jump_type[id]==Type_Up_Bhop_In_Duck)
								{
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_UBID");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_UBID");
								}
								else if(velocity[2] < upbhop_koeff[id])
								{
									jump_type[id]=Type_Up_Bhop;
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_UBJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_UBJ");
								}
								else
								{
									jump_type[id]=Type_Up_Stand_Bhop;
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_USBJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_USBJ");
								}
								upBhop[id]=false;
							}
							else if(jump_type[id]==Type_Bhop_In_Duck)
							{
								formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_BID");
								formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_BID");
							}
							else if( velocity[2] < 229.0)
							{
								jump_type[id] = Type_BhopLongJump;
								formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_BJ");
								formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_BJ");
							}
							else 
							{
							
								jump_type[id] = Type_StandupBhopLongJump;
								formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_SBJ");
								formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_SBJ");
								jumpoff_origin[id][2] = pre_jumpoff_origin[id][2];
							}
							
							for( new i = INFO_ONE; i < max_players; i++ )
							{
								if( (i == id || is_spec_user[i]))
								{	
									if(showpre[i]==true && prestrafe[id]>min_prestrafe[id])
									{
										if((Pmaxspeed * 1.2)>prestrafe[id] )
										{
											if(jump_type[id]==Type_Up_Bhop_In_Duck && (uq_upbhopinduck==1 ))
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE33",prestrafe[id]);
											}
											else if(jump_type[id]==Type_Up_Bhop && (uq_upbj==1 ))
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE34",prestrafe[id]);
											}
											else if(jump_type[id]==Type_Up_Stand_Bhop && (uq_upsbj==1 ))
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE35",prestrafe[id]);
											}
											else if(jump_type[id]==Type_Bhop_In_Duck   &&  uq_bhopinduck==1)
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE36",prestrafe[id]);
											}
											else if(jump_type[id]==Type_BhopLongJump   &&  uq_bj==1)
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE37",prestrafe[id]);
											}
											else if(jump_type[id]==Type_StandupBhopLongJump  && uq_sbj==1)
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE38",prestrafe[id]);
											}
										}
										else
										{	
											set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 1.5, 0.1, 0.1, h_prest);
											show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PREHIGH",prestrafe[id],Pmaxspeed * 1.2);
										}
									}
								}
							}
						}
						else if(jump_type[id]==Type_DuckBhop)
						{
							for( new i = INFO_ONE; i < max_players; i++ )
							{
								if( (i == id || is_spec_user[i]))
								{	
									if(showpre[i]==true && speed[id]>50.0)
									{
										if((Pmaxspeed * 1.2)>speed[id] )
										{
											if(prestrafe[id]<200)
											{
												if(jump_type[id]==Type_DuckBhop && (uq_duckbhop==1))
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE32",prestrafe[id]);
												}
											}
										}
									}
								}
							}
						}
					} 
					else
					{	
						frame_velocity[id][1] = velocity;
					}
					
					if( in_bhop[id] )
						fnSaveBeamPos( id );
			
					if(detecthj[id]!=1)
					{	
						starthj[id][0] = origin[0];
						starthj[id][1] = origin[1];
						starthj[id][2] = jumpoff_origin[id][2]+28.0;
						stophj[id][0] = origin[0];
						stophj[id][1] = origin[1];
						stophj[id][2] = starthj[id][2] - 133.0; 
							
						engfunc( EngFunc_TraceLine, starthj[id], stophj[id], IGNORE_MONSTERS, id, 0 );
						get_tr2( 0, TR_vecEndPos, endhj[id]);
						
						if(starthj[id][2]-endhj[id][2]<133.0 && (starthj[id][2]-endhj[id][2]-64)!=0 && (starthj[id][2]-endhj[id][2]-64)>0 && detecthj[id]!=1)
						{
							detecthj[id]=2;
						}
						
						if(starthj[id][2]-endhj[id][2]>=133.0 && detecthj[id]!=2)
						{
							detecthj[id]=1;
						}
					}
					
					if(ddafterJump[id])
						ddafterJump[id]=false;	
				}
				
				if(notjump[id] && bhopaem[id])
				{
					notjump[id]=false;
				}
				
				if( flags&FL_ONGROUND )
				{
					surf[id]=0.0;
					if (!pev( id, pev_solid ))
					{
						static ClassName[32];
						pev(pev(id, pev_groundentity), pev_classname, ClassName, 32);
			
						if( equali(ClassName, "func_train")
							|| equali(ClassName, "func_conveyor") 
							|| equali(ClassName, "trigger_push") || equali(ClassName, "trigger_gravity"))
						{
							JumpReset(id,32);
							set_task(0.4,"JumpReset1", id);
						}
						else if(equali(ClassName, "func_door") || equali(ClassName, "func_door_rotating") )
						{
							JumpReset(id,33);
							set_task(0.4,"JumpReset1", id);	
						}
					}
					
					pev(id, pev_origin, origin);
					notjump[id]=true;
					if(is_user_ducking(id))
					{
						falloriginz[id]=origin[2]+18;
					}
					else falloriginz[id]=origin[2];
					
					if( OnGround[id] == false)
					{	
						if (dropbhop[id] || in_ladder[id] || jump_type[id] == Type_WeirdLongJump || jump_type[id]==Type_ladderBhop || jump_type[id]==Type_Drop_BhopLongJump)
						{
							FallTime[id]=get_gametime();
							
						}
						OnGround[id] = true;
					}
				}
				
				if( !(flags&FL_ONGROUND) && notjump[id]==true && (movetype[id] != MOVETYPE_FLY) && jump_type[id]!=Type_ladderBhop )//&& jump_type[id] != Type_Drop_CountJump)
				{	
					pev(id, pev_origin, origin);
			
					OnGround[id] = false;
					
					pev(id, pev_velocity, velocity);
					
					new Float:tempfall;
					
					if(is_user_ducking(id))
					{
						tempfall=origin[2]+18;
					}
					else tempfall=origin[2];
					
					if( falloriginz[id]-tempfall>1.0 && !cjjump[id] && (ddforcj[id] || jump_type[id] == Type_Drop_CountJump || jump_type[id] == Type_StandUp_CountJump || jump_type[id] == Type_None || jump_type[id] == Type_CountJump || jump_type[id] == Type_Multi_CountJump || jump_type[id] == Type_Double_CountJump))
					{
						oldjump_type[id]=0;
			
						formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_WJ");
						formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_WJ");
						
						if(ddforcj[id])
						ddforcj[id]=false;
						
						jump_type[id] = Type_WeirdLongJump;
						
					}
					
					if (velocity[2] == -240.0)
					{
						oldjump_type[id]=0;
						ddbeforwj[id]=true;
						jump_type[id] = Type_WeirdLongJump;
						
						
						formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DDWJ");
						formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DDWJ");
					}
				}
				else if(!(flags&FL_ONGROUND) && notjump[id]==false && (movetype[id] != MOVETYPE_FLY) && in_ladder[id]==false && jump_type[id] != Type_Slide)
				{
					oldjump_type[id]=0;
					OnGround[id] = false;
			
					pev(id, pev_velocity, velocity);
					pev(id, pev_origin, origin);
					
					new Float:drbh;
					if(is_user_ducking(id))
					{
						drbh=origin[2]+18;
					}
					else drbh=origin[2];
			
					if(dropbjorigin[id][2]-drbh>2.0)
					{
						if(dropbjorigin[id][2]-drbh<30 && jump_type[id] != Type_Drop_BhopLongJump && jump_type[id] != Type_None)
						{
							old_type_dropbj[id]=jump_type[id];
							formatex(Jtype_old_dropbj[id],32,Jtype[id]);
							formatex(Jtype_old_dropbj1[id],32,Jtype1[id]);
						}
						
						jump_type[id] = Type_Drop_BhopLongJump;
						formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DRBJ");
						formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DRBJ");
						nextbhop[id]=false;
						bhopaem[id]=false;
						dropbhop[id]=true;
					}
				}
				
				if( movetype[id] == MOVETYPE_FLY) 
				{
					OnGround[id] = false;
					firstvel[id]=8.0;
					secvel[id]=0.0;
					checkladdertime[id]=get_gametime();
				}
				if( movetype[id] == MOVETYPE_FLY && firstladder[id]==false) 
				{
					firstladder[id]=true;
					nextbhop[id]=false;
					bhopaem[id]=false;
					h_jumped[id]=false;
					JumpReset(id,34);
					return FMRES_IGNORED;
				}
				if( movetype[id] != MOVETYPE_FLY && firstladder[id]==true && flags&FL_ONGROUND) 
				{
					firstladder[id]=false;
				}
				if( (movetype[id] == MOVETYPE_FLY) &&  (button&IN_FORWARD || button&IN_BACK || button&IN_LEFT || button&IN_RIGHT ) )
				{
					ladderjump[id]=true;
					find_sphere_class (id, "func_ladder",18.0, entlist1, 1);
					
					if(entlist1[0]!=0)
					{
						for(new i=0;i<nLadder;i++)
						{
							if(entlist[i]==entlist1[0])
							{
								nashladder=i;	
							}
						}
					}
			
					prestrafe[id]	= speed[id];
					maxspeed[id]	= speed[id];
				}
				
				if( (movetype[id] == MOVETYPE_FLY) &&  button&IN_JUMP )
				{
					jump_type[id]=Type_ladderBhop;
					formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_LDBJ");
					formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_LDBJ");
					ladderjump[id]=false;
					in_air[id]=false;
					in_ladder[id]=false;
					bhopaem[id]=false;
					notjump[id]=true;
					dropbhop[id]=false;		
				}
				
				if( movetype[id] != MOVETYPE_FLY && ladderjump[id]==true)
				{
					if(touch_ent[id])
					{
						JumpReset(id,103);
					}
					notjump[id]=true;
					dropbhop[id]=false;
					pev(id, pev_origin, origin);
					jumpoff_origin[id] = origin;
					jumpoff_origin[id][2]=ladderxyz[nashladder][2]+35.031250;
					
					jumpoff_time[id] = get_gametime( );
					strafecounter_oldbuttons[id] = INFO_ZERO;
					
					jump_type[id]=Type_ladder;
					laddertime[id]=get_gametime();
			
					formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_LDJ");
					formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_LDJ");
					
					if(laddersize[nashladder][0]<=laddersize[nashladder][1])
					{
						laddist[id]=laddersize[nashladder][0]+0.03125;
					}
					else if(laddersize[nashladder][0]>laddersize[nashladder][1])
					{
						laddist[id]=laddersize[nashladder][1]+0.03125;
					}
					
					if(laddist[id]>10)
					{
						laddist[id]=4.0;
					}
					ladderjump[id]=false;	
					TempSpeed[id] = 0.0;
					static i;
					for( i = INFO_ZERO; i < NSTRAFES; i++ )
					{
						strafe_stat_speed[id][i][0] = 0.0;
						strafe_stat_speed[id][i][1] = 0.0;
						strafe_stat_sync[id][i][0] = INFO_ZERO;
						strafe_stat_sync[id][i][1] = INFO_ZERO;
						strafe_stat_time[id][i] = 0.0;
						strafe_lost_frame[id][i] = 0;
						
					}
					in_air[id]	= true;
					in_ladder[id]=true;
					g_Jumped[id]	= true;
					first_frame[id] = true;
					
					turning_right[id] = false;
					turning_left[id] = false;
					
					for( i = INFO_ZERO; i < 2; i++ )
					{
						frame_origin[id][i][0] = 0.0;
						frame_origin[id][i][1] = 0.0;
						frame_origin[id][i][2] = 0.0;
						
						frame_velocity[id][i][0] = 0.0;
						frame_velocity[id][i][1] = 0.0;
						frame_velocity[id][i][2] = 0.0;
					}
					for( i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]))
						{
							if(showpre[id]==true && uq_ladder==1 )
							{
								set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 1.0, 0.1, 0.1, h_prest);
								show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE31",prestrafe[id]);
							}
						}
					}
				}
				
				
				if((button & IN_JUMP && flags & FL_ONGROUND) || in_ladder[id])
				{
					x_jump[id]=true;
					if(is_user_ducking(id))
					{
						x_heightland_origin[id]=origin[2]+18;
					}
					else x_heightland_origin[id]=origin[2];
				}
				
				if((x_jump[id]==true || in_ladder[id]) && button & IN_DUCK && !(oldbuttons &IN_DUCK) && flags & FL_ONGROUND )
				{
					if(x_jump[id])
					{
						x_jump[id]=false;
						
						new Float:heightland_origin;
						if(is_user_ducking(id))
						{
							heightland_origin=origin[2]+18;
						}
						else heightland_origin=origin[2];
						if(heightland_origin-x_heightland_origin[id]>0 && !in_ladder[id])
						{
							JumpReset(id,45);
							
							UpcjFail[id]=true;
								
							return FMRES_IGNORED;
						}
						
						if(bhopaem[id] && !ddforcjafterbhop[id])
						{
							ddforcjafterbhop[id]=true;
						}
						else ddforcjafterbhop[id]=false;
						
						if(in_ladder[id] && !ddforcjafterladder[id])
						{
							ddforcjafterladder[id]=true;
						}
						else ddforcjafterladder[id]=false;
						
						ddforcj[id]=true;
					}
					
				}
				
				if(cjjump[id]==false && (button & IN_DUCK || oldbuttons & IN_DUCK) && (jump_type[id] == Type_Drop_CountJump || ddforcj[id] || ddafterJump[id] || jump_type[id]==Type_CountJump || jump_type[id]==Type_Multi_CountJump || jump_type[id]==Type_Double_CountJump))
				{
					if(origin[2]-duckstartz[id]<-1.21 && origin[2]-duckstartz[id]>-2.0)
					{
						if(ddstandcj[id])
						{
							nextbhop[id]=false;
							bhopaem[id]=false;
						}
						if(jump_typeOld[id]==1)
						{
							multiscj[id]=0;	
						}
						else if(jump_typeOld[id]==2)
						{
							multiscj[id]=1;	
						}
						else if(jump_typeOld[id]==3)
						{
							multiscj[id]=2;	
						}
						jump_type[id] = Type_StandUp_CountJump;
												
						formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_SCJ");
						formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_SCJ");
							
						FallTime[id]=get_gametime();
					}
				}
				if( button & IN_DUCK && !(oldbuttons &IN_DUCK) && flags & FL_ONGROUND)
				{
					nextbhop[id]=false;
					bhopaem[id]=false;
					doubleduck[id]=true;
					
					sync_doubleduck[id]=true;
					
					doubletime[id]=get_gametime();
					FallTime1[id]=get_gametime();
					ddnum[id]++;
				}
				if(sync_doubleduck[id] && g_Jumped[id])
				{
					sync_doubleduck[id]=false;
					doubleduck_stat_sync[id][0]=0;
					doubleduck_stat_sync[id][1]=0;
				}
				if(flags & FL_ONGROUND)
				{
					if(duckstartz[id]-origin[2]<18.0 && doubleduck[id]==true && (get_gametime()-doubletime[id]>0.4) && ddbeforwj[id]==false && (jump_type[id]==Type_CountJump || jump_type[id]==Type_Multi_CountJump || jump_type[id]==Type_Double_CountJump))
					{
						JumpReset(id,2);
						doubleduck[id]=false;
					}	
				}
				pev(id, pev_origin, origin);
				
				if(slide_protec[id]==false && button & IN_JUMP && !( oldbuttons & IN_JUMP ) && flags & FL_ONGROUND && bhopaem[id]==false && UpcjFail[id]==false)
				{	
					bhop_num[id]=0;
					notjump[id]=false;
					if(ddforcj[id]==true)
					{
						if(jump_type[id] == Type_StandUp_CountJump)
						{
							ddstandcj[id]=true;
						}
							
						ddforcj[id]=false;
							
						if(jump_type[id] != Type_StandUp_CountJump && (jump_type[id]!=Type_Drop_CountJump || ddforcjafterladder[id]))
						{
							if(ddnum[id]==1)
							{
								jump_type[id]=Type_CountJump;
								CjafterJump[id]=1;
							}
							else if(ddnum[id]==2)
							{
								jump_type[id] = Type_Double_CountJump ;
								CjafterJump[id]=2;
							}
							else if(ddnum[id]>=3)
							{
								jump_type[id] = Type_Multi_CountJump;
								CjafterJump[id]=3;
							}
							
							ddnum[id]=0;
							nextbhop[id]=false;
							bhopaem[id]=false;
						}
					}
					
					oldjump_height[id]=0.0;
					jheight[id]=0.0;
					
					if(nextbhop[id] && ddafterJump[id]==false)
					{
						FullJumpFrames[id]=0;
						direct_for_strafe[id]=0;
						angles_arry[id]=0;
						
						if(uq_istrafe)
						{
							for(new i=0;i<=line_erase_strnum[id];i++)
							{
								for( new j = 0; j <= line_erase[id][i]; j++ )
								{
									line_lost[id][i][j]=0;
									lost_frame_count[id][i]=0;
								}
							}
						}
						
						edgedone[id]=false;
						if(get_gametime()-checkladdertime[id]<0.5)
						{
							ladderbug[id]=true;
						}
						
						if(touch_ent[id])
						{
							JumpReset(id,105);
						}
						ddnum[id]=0;
						
						if(cjjump[id]==true && (get_gametime()-duckoff_time[id])<0.2)
						{
							JumpReset(id,35);
							return FMRES_IGNORED;
							
						}
					
						if(oldbuttons & IN_DUCK && button & IN_DUCK && duckbhop[id]==true && (jump_type[id]==Type_HighJump || jump_type[id]==Type_LongJump || jump_type[id]==Type_None))
						{
							jump_type[id]=Type_DuckBhop;
							formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DKBJ");
							formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DKBJ");
							duckbhop[id]=false;
						}
						
						bhopaem[id]=true;
						
						pev(id, pev_origin, origin);
						static bool:ducking;
						ducking = is_user_ducking( id ); 
						strafecounter_oldbuttons[id] = INFO_ZERO;
					
						strafe_num[id] = 0;
						TempSpeed[id] = 0.0;
						in_bhop[id] = true;
						pre_jumpoff_origin[id] = jumpoff_origin[id];
						jumpoff_foot_height[id] = ducking ? origin[2] - 18.0 : origin[2] - 36.0; //todo:think about this gavno
						
						jumpoff_time[id] = get_gametime( );
						
						new Float:checkbhop;
						
						if(is_user_ducking(id)==true)
						{
							checkbhop=jumpoff_origin[id][2]-origin[2]-18.0;
						}
						else checkbhop=jumpoff_origin[id][2]-origin[2];
						
						if(checkbhop<-1.0)
						{
							if(button & IN_DUCK )
							{
								jump_type[id]=Type_Up_Bhop_In_Duck;
							}
							upbhop_koeff[id]=UpBhop_calc(floatabs(checkbhop));
							upheight[id]=floatabs(checkbhop);
							upBhop[id]=true;
						}
						else if(jump_type[id]!=Type_DuckBhop)
						{
							if(button & IN_DUCK )
							{
								jump_type[id]=Type_Bhop_In_Duck;
							}
						}
						
						jumpoff_origin[id] = origin;
						if(is_user_ducking( id )==true)
						{
							
							jumpoff_origin[id][2] = origin[2]+18.0;
						}
						else jumpoff_origin[id][2] = origin[2];
						
						pev(id, pev_velocity, velocity);
						first_frame[id] = true;
						
						prestrafe[id] = speed[id];
						maxspeed[id] = speed[id];
						
						static i;
						for( i = INFO_ZERO; i < NSTRAFES; i++ )
						{
							strafe_stat_speed[id][i][0] = 0.0;
							strafe_stat_speed[id][i][1] = 0.0;
							strafe_stat_sync[id][i][0] = INFO_ZERO;
							strafe_stat_sync[id][i][1] = INFO_ZERO;
							strafe_stat_time[id][i] = 0.0;
							strafe_lost_frame[id][i] = 0;
						}
						for( i = INFO_ZERO; i < 2; i++ )
						{
							frame_origin[id][i][0] = 0.0;
							frame_origin[id][i][1] = 0.0;
							frame_origin[id][i][2] = 0.0;
							
							frame_velocity[id][i][0] = 0.0;
							frame_velocity[id][i][1] = 0.0;
							frame_velocity[id][i][2] = 0.0;
						}
						in_air[id]	= true;
						g_Jumped[id]	= true;
						turning_right[id] = false;
						turning_left[id] = false;
					}
					else 
					{
						if(get_gametime()-checkladdertime[id]<0.5 && jump_type[id]!=Type_ladderBhop)
						{
							ladderbug[id]=true;
						}
						
						if(touch_ent[id])
						{
							JumpReset(id,106);
						}	
						ddnum[id]=0;
						if(in_ladder[id]==true)
						{
							in_ladder[id]=false;
							
							jump_type[id]=Type_Real_ladder_Bhop;
							
							formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_RLDBJ");
							formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_RLDBJ");
							
						}
						
						strafe_num[id]=0;
						
						if(get_gametime()-changetime[id]<0.5)
						{
							JumpReset(id,38);
							return FMRES_IGNORED;
						}
						
						if(task_exists(id+2311))
							remove_task(id+2311);
						
						pev(id, pev_velocity, velocity);
						
						if(jump_type[id]!=Type_ladderBhop)
						{
							if(oldjump_typ1[id]==1)
							{
								jump_type[id]=Type_ladderBhop;
								oldjump_typ1[id]=0;
							}
						}
						
						
						
						jumpoff_origin[id] = origin;
						
						if(is_user_ducking(id))
						{
							jumpoff_origin[id][2] = origin[2]+18.0;
						}
						else jumpoff_origin[id][2] = origin[2];
						
						jumpoff_time[id] = get_gametime( );
						strafecounter_oldbuttons[id] = INFO_ZERO;
						
						pev(id, pev_origin, origin);
						if(is_user_ducking(id))
						{
							dropbjorigin[id][2]=origin[2]+18;
						}
						else dropbjorigin[id][2]=origin[2];
						dropbjorigin[id][0]=origin[0];
						dropbjorigin[id][1]=origin[1];
						pev(id, pev_velocity, velocity);
						secorig[id]=origin;
						
						nextbhop[id]=true;
						
						
						if(dropbhop[id] && jump_type[id] != Type_Drop_CountJump && jump_type[id] != Type_StandUp_CountJump)
						{
							dropbhop[id]=false;
							jump_type[id] = Type_Drop_BhopLongJump; 
						}
						else dropbhop[id]=false;
						
						if(jump_type[id]==Type_CountJump || jump_type[id]==Type_Multi_CountJump || jump_type[id]==Type_Double_CountJump)
						{
							cjjump[id]=true;
						}
						if (!ddstandcj[id] && !CjafterJump[id] && (jump_type[id] == Type_CountJump || jump_type[id] == Type_Multi_CountJump || jump_type[id] == Type_Double_CountJump) && floatabs(duckstartz[id]-jumpoff_origin[id][2])>4.0)
						{
							if(speed[id]<200.0)
							{
								jump_type[id] = Type_LongJump;
								formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_LJ");
								formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_LJ");
							}
							else
							{
								jump_type[id] = Type_WeirdLongJump;
																
								formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_WJ");
								formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_WJ");
							}
						}
						if(jump_type[id] == Type_Drop_CountJump && multidropcj[id]==0 && (origin[2]-first_duck_z[id])>4)
						{
							JumpReset(id,146);
							return FMRES_IGNORED;
						}
						prestrafe[id]	= speed[id];
						maxspeed[id]	= speed[id];
						new Float:kkk;
							
						kkk=1.112*Pmaxspeed;
						
						if(prestrafe[id]<kkk && jump_type[id] !=Type_ladderBhop && jump_type[id] != Type_Drop_BhopLongJump && jump_type[id] != Type_WeirdLongJump && jump_type[id] != Type_CountJump && jump_type[id] != Type_Multi_CountJump && jump_type[id] != Type_Double_CountJump && jump_type[id] != Type_BhopLongJump && jump_type[id] != Type_StandupBhopLongJump && jump_type[id] != Type_Drop_CountJump)
						{
							if(jump_type[id] != Type_Drop_CountJump && jump_type[id] != Type_StandUp_CountJump && jump_type[id] !=Type_Real_ladder_Bhop)
							{
								jump_type[id] = Type_LongJump;
								formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_LJ");
								formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_LJ");
								
								if((jumpoff_origin[id][2]-origin[2])==18.0 && oldbuttons & IN_DUCK && button & IN_DUCK && duckbhop[id]==false)
								{
									duckbhop[id]=true;
									//client_print(id,print_chat,"%f",jumpoff_origin[id][2]-origin[2]);
									
									find_sphere_class (id, "func_ladder",100.0, entlist1, 1);
									if(entlist1[0]!=0)
									{
										if(get_gametime()-checkladdertime[id]<0.1 || prestrafe[id]>110)
										{
											ladderbug[id]=true;
										}
										else if(entlist1[0]!=0)
										{
											ladderbug[id]=true;
										}
										find_ladder[id]=true;
									}
								}
								else duckbhop[id]=false;
							}
						}
						
						TempSpeed[id] = 0.0;
						
						static i;
						for( i = INFO_ZERO; i < NSTRAFES; i++ )
						{
							strafe_stat_speed[id][i][0] = 0.0;
							strafe_stat_speed[id][i][1] = 0.0;
							strafe_stat_sync[id][i][0] = INFO_ZERO;
							strafe_stat_sync[id][i][1] = INFO_ZERO;
							strafe_stat_time[id][i] = 0.0;
							strafe_lost_frame[id][i] = 0;
						}
						in_air[id]	= true;
						g_Jumped[id]	= true;
						first_frame[id] = true;
						
						prestrafe[id]	= speed[id];
						maxspeed[id]	= speed[id];
						
						turning_right[id] = false;
						turning_left[id] = false;
						
						for( i = INFO_ZERO; i < 2; i++ )
						{
							frame_origin[id][i][0] = 0.0;
							frame_origin[id][i][1] = 0.0;
							frame_origin[id][i][2] = 0.0;
							
							frame_velocity[id][i][0] = 0.0;
							frame_velocity[id][i][1] = 0.0;
							frame_velocity[id][i][2] = 0.0;
						}
						
						if(jump_type[id]==Type_LongJump && prestrafe[id]>kkk)
						{
							jump_type[id] = Type_WeirdLongJump;
							
							
							formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_WJ");
							formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_WJ");
						}
						
						
						if ((doubleduck_stat_sync[id][0]+doubleduck_stat_sync[id][1]) > 0)
						{
							dd_sync[id] =(doubleduck_stat_sync[id][0] * 100)/(doubleduck_stat_sync[id][0]+doubleduck_stat_sync[id][1]);
							
							if(dd_sync[id]<96)
								dd_sync[id] =5+dd_sync[id]; 		
							
						}				
						else
						{
							dd_sync[id] = 0;
						}
						
						for( i = INFO_ONE; i < max_players; i++ )
						{
							if( (i == id || is_spec_user[i]))
							{
								if((Pmaxspeed * 1.2)>prestrafe[id])
								{	
									if(prestrafe[id]>min_prestrafe[id])
									{
										if(jump_type[id] == Type_Double_CountJump && showpre[id]==true && uq_dcj==1)
										{
											if(CjafterJump[id]==2)
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												
												if(ddforcjafterbhop[id])
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE1",prestrafe[id]);	
												else if(ddforcjafterladder[id])
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE2",prestrafe[id]);
												else
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE3",prestrafe[id]);	
											
											}
											else
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE4",prestrafe[id]);
											}
										}
										else if(jump_type[id] == Type_CountJump && showpre[id]==true && uq_cj==1)
										{
											if(CjafterJump[id]==1)
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												
												if(ddforcjafterbhop[id])
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE5",prestrafe[id]);	
												else if(ddforcjafterladder[id])
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE6",prestrafe[id]);
												else
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE7",prestrafe[id]);
											}
											else
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE8",prestrafe[id]);
											}
										}
										else if(jump_type[id] == Type_Multi_CountJump  && showpre[id]==true  && uq_mcj==1)
										{
											if(CjafterJump[id]==3)
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												
												if(ddforcjafterbhop[id])
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE9",prestrafe[id]);	
												else if(ddforcjafterladder[id])
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE10",prestrafe[id]);
												else
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE11",prestrafe[id]);	
											}
											else
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE12",prestrafe[id]);
											}
										}
										else if(jump_type[id] == Type_LongJump && showpre[id]==true && ljpre[id]==true && uq_lj==1)
										{
											set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
											show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE13",prestrafe[id]);
										}
										else if(jump_type[id] == Type_WeirdLongJump && showpre[id]==true && ddbeforwj[id]==true  && uq_wj==1)
										{
											set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
											show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE14",prestrafe[id]);
										}
										else if(jump_type[id] == Type_WeirdLongJump && showpre[id]==true && ddbeforwj[id]==false && uq_wj==1)
										{
											set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
											show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE15",prestrafe[id]);
										}
										else if((jump_type[id] == Type_Drop_BhopLongJump)&& showpre[id]==true && uq_drbj==1 )
										{
											set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
											show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE16",prestrafe[id]);
										}
										else if((jump_type[id] == Type_ladderBhop)&& showpre[id]==true && uq_ldbj==1 )
										{
											set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
											show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE17",prestrafe[id]);
										}
										else if((jump_type[id]==Type_Drop_CountJump)&& showpre[id]==true)
										{
											if(multidropcj[id]==0 && uq_drcj==1)
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE18",prestrafe[id]);
											}
											else if(multidropcj[id]==1 && uq_dropdcj==1)
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE19",prestrafe[id]);
											}
											else if(multidropcj[id]==2 && uq_dropmcj==1)
											{
												set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
												show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE20",prestrafe[id]);
											}
										}
										else if((jump_type[id]==Type_StandUp_CountJump) && showpre[id]==true && uq_drsbj==1)
										{
											if(dropaem[id])
											{
												if(multiscj[id]==0 && uq_dropscj==1)
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE21",prestrafe[id]);
												}
												else if(multiscj[id]==1 && uq_dropdscj==1)
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE22",prestrafe[id]);
												}
												else if(multiscj[id]==2 && uq_dropmscj==1)
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE23",prestrafe[id]);
												}
											}
											else if(ddstandcj[id])
											{
												if(multiscj[id]==0)
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE24",prestrafe[id]);
												}
												else if(multiscj[id]==1)
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE25",prestrafe[id]);
												}
												else if(multiscj[id]==2)
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE26",prestrafe[id]);
												}
											}
											else
											{
												if(multiscj[id]==0 && uq_drsbj==1)
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE27",prestrafe[id]);
												}
												else if(multiscj[id]==1 && uq_dscj==1)
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE28",prestrafe[id]);
												}
												else if(multiscj[id]==2 && uq_mscj==1)
												{
													set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
													show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE29",prestrafe[id]);
												}
											}
										}
										else if((jump_type[id]==Type_Real_ladder_Bhop) && showpre[id]==true && uq_realldbhop==1)
										{
											set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
											show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PRE30",prestrafe[id]);
										}
									}
								}
								else if(showpre[id]==true)
								{
									set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 1.5, 0.1, 0.1, h_prest);
									show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PREHIGH",prestrafe[id],Pmaxspeed * 1.2);
								}
							}
						}
					}
				}
				else if(slide_protec[id]==false && ddafterJump[id]==false && UpcjFail[id]==false && bhopaem[id]==true && button & IN_JUMP && !( oldbuttons & IN_JUMP ) && flags & FL_ONGROUND)
				{
					if(touch_ent[id])
					{
						JumpReset(id,106);
					}
					ddnum[id]=0;
					if(ddforcj[id]==true)
					{
						ddforcj[id]=false;
						JumpReset(id,46);
						return FMRES_IGNORED;
					}
					pev(id, pev_origin, origin);
					static bool:ducking;
					ducking = is_user_ducking( id );
					strafecounter_oldbuttons[id] = INFO_ZERO;
				
					strafe_num[id] = 0;
					TempSpeed[id] = 0.0;
					
					pre_jumpoff_origin[id] = jumpoff_origin[id];
					jumpoff_foot_height[id] = ducking ? origin[2] - 18.0 : origin[2] - 36.0;
					
					jumpoff_time[id] = get_gametime( );
					
					jumpoff_origin[id] = origin;
					if(is_user_ducking( id )==true)
					{
						jumpoff_origin[id][2] = origin[2]+18.0;
					}
					else jumpoff_origin[id][2] = origin[2];
					pev(id, pev_velocity, velocity);
					
					first_frame[id] = true;
					
					prestrafe[id] = speed[id];
					maxspeed[id] = speed[id];
					
					static i;
					for( i = INFO_ZERO; i < NSTRAFES; i++ )
					{
						strafe_stat_speed[id][i][0] = 0.0;
						strafe_stat_speed[id][i][1] = 0.0;
						strafe_stat_sync[id][i][0] = INFO_ZERO;
						strafe_stat_sync[id][i][1] = INFO_ZERO;
						strafe_stat_time[id][i] = 0.0;
						strafe_lost_frame[id][i] = 0;
					}
					for( i = INFO_ZERO; i < 2; i++ )
					{
						frame_origin[id][i][0] = 0.0;
						frame_origin[id][i][1] = 0.0;
						frame_origin[id][i][2] = 0.0;
						
						frame_velocity[id][i][0] = 0.0;
						frame_velocity[id][i][1] = 0.0;
						frame_velocity[id][i][2] = 0.0;
					}
					in_air[id]	= true;
					g_Jumped[id]	= true;
					turning_right[id] = false;
					turning_left[id] = false;
					jump_type[id]=Type_Multi_Bhop;
					formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_MBJ");
					formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_MBJ");
				
					bhop_num[id]++;
					for( new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]))
						{	
							if(showpre[i]==true && multibhoppre[id] && speed[id]>50.0)
							{
								if((Pmaxspeed * 1.2)>speed[id] && (uq_bj==1 || uq_sbj==1))
								{
									set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
									show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_MBPRE",speed[id]);
								}
								else
								{	if((uq_bj==1 || uq_sbj==1))
									{
										set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 1.5, 0.1, 0.1, h_prest);
										show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_PREHIGH",prestrafe[id],Pmaxspeed * 1.2);
									}
								}
							}
						}
					}
				}
				else if(slide_protec[id]==false && ddafterJump[id]==false && UpcjFail[id]==false && !(button&IN_JUMP) && oldbuttons&IN_JUMP && flags & FL_ONGROUND && nextbhop[id]==true && cjjump[id]==false && bhopaem[id]==false && jump_type[id]!=Type_Drop_BhopLongJump)	
				{		
					if(touch_ent[id])
					{
						JumpReset(id,109);
					}
					ddnum[id]=0;
					if(ddforcj[id]==true)
					{
						JumpReset(id,46);
						return FMRES_IGNORED;
					}
					bhop_num[id]=0;
			
					if(oldbuttons & IN_DUCK && button & IN_DUCK && duckbhop[id]==true && (jump_type[id]==Type_LongJump || jump_type[id]==Type_None))
					{
						jump_type[id]=Type_DuckBhop;
						formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DKBJ");
						formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DKBJ");
						duckbhop[id]=false;
					}
					else
					{
						bhopaem[id]=true;
						
						static i;
						for( i = INFO_ONE; i < max_players; i++ )
						{
							if( (i == id || is_spec_user[i]))
							{	
								if(showpre[id]==true && failearly[id]==true && (uq_bj==1 || uq_sbj==1))
								{
									set_hudmessage(255, 0, 109, -1.0, 0.70, 0, 0.0, 0.5, 0.1, 0.1, h_stats);
									show_hudmessage(id, "%L",LANG_SERVER,"UQSTATS_JEARLY");
								}
							}
						}
					}
				}
				else if( ( failed_jump[id] || flags&FL_ONGROUND)&& in_air[id] )
				{	
					if(old_type_dropbj[id]!=Type_Null && jump_type[id]==Type_Drop_BhopLongJump)
					{
						jump_type[id]=old_type_dropbj[id];
						
						formatex(Jtype[id],32,Jtype_old_dropbj[id]);
						formatex(Jtype1[id],32,Jtype_old_dropbj1[id]);
					}
					if(bug_true[id])
					{
						JumpReset(id,322);
						return FMRES_IGNORED;
					}
					if(prestrafe[id]>200 && jump_type[id]==Type_DuckBhop)
					{
						duckbhop_bug_pre[id]=true;
						set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 1.5, 0.1, 0.1, h_prest);
						show_hudmessage(id, "%L",LANG_SERVER,"UQSTATS_PROBBUG",prestrafe[id]);
					}
					new summad,summws;
					for(new i=0;i<NSTRAFES;i++)
					{
						if(type_button_what[id][i]==1)
						summad++;
						if(type_button_what[id][i]==2)
						summws++;
					}
					if(summws>summad)
					{
						if(backwards[id])
						{
							formatex(pre_type[id],32,"%L",LANG_SERVER,"UQSTATS_PRETYPE1"); //Back-Side?? don't know...
						}
						else formatex(pre_type[id],32,"%L",LANG_SERVER,"UQSTATS_PRETYPE1");
					}
					else if(backwards[id])
					{
						formatex(pre_type[id],32,"%L",LANG_SERVER,"UQSTATS_PRETYPE2");
					}
					else pre_type[id] = "";
			
					static bool:ducking;
					
					static type[33];
					type[0] = '^0';
					new bool:failed;
					if (failed_jump[id] == true)
					{
						formatex( type, 32, "" );
						failed=true;
						origin=failed_origin[id];
					}
					else
					{
						pev(id, pev_origin, origin);
						ducking = is_user_ducking( id );
						failed=false;
					}
					
					if(donehook[id])
					{
						donehook[id]=false;
						failed_jump[id]=true;
						client_print(id,print_center,"%L",LANG_SERVER,"UQSTATS_HOOKPROTECT");		
					}	
					if(failed==false)
					{
						height_difference[id] =  ducking ? jumpoff_origin[id][2] - origin[2] - 18.0 : jumpoff_origin[id][2] - origin[2];
						if(jump_type[id] == Type_BhopLongJump || jump_type[id] == Type_StandupBhopLongJump || jump_type[id]==Type_Bhop_In_Duck)
						{
							if(height_difference[id] <-22.0)
							{
								JumpReset(id,4);
								return FMRES_IGNORED;
							}
							
							if(height_difference[id] > -18.0)
							{
								if(height_difference[id] <= -1.0)
								{
									JumpReset(id,5);
									return FMRES_IGNORED;
								}	
							}
						}
						else
						{
							if(height_difference[id] < -1.0)
							{
								if((jump_type[id]==Type_Drop_BhopLongJump || jump_type[id]==Type_StandUp_CountJump) && height_difference[id]==-18.0)
								{
									//ColorChat(id, GREEN, "ne reset");
								}
								else
								{	
									JumpReset(id,6);
									return FMRES_IGNORED;	
								}
							}	
						}
						if(jump_type[id]==Type_StandupBhopLongJump)
						{
							if(height_difference[id] > 1.0)
							failed_jump[id]=true; 
						}
						else if(height_difference[id] > 0.0 && jump_type[id]!=Type_Drop_BhopLongJump )
						{
							JumpReset(id,7);
							return FMRES_IGNORED; 
						}
						else if(height_difference[id] > 0.02 && jump_type[id]==Type_Drop_BhopLongJump )
						{
							failed_jump[id]=true; 
						}
					}
					
					if( is_user_ducking(id))
					{
						origin[2]+=18.0;
					}
					
					static Float:distance1;
					if(jump_type[id] == Type_ladder)
					{
						if(floatabs(jumpoff_origin[id][2]-origin[2])>4.0)
						{
							failed_jump[id]=true;
						}
						
						distance1 = get_distance_f( jumpoff_origin[id], origin )+laddist[id];
					}
					else distance1 = get_distance_f( jumpoff_origin[id], origin ) + 32.0;
					
					if( is_user_ducking(id) )
					{
						origin[2]-=18.0;
					}
					
					if( frame_velocity[id][1][0] < 0.0 ) frame_velocity[id][1][0] *= -1.0;
					if( frame_velocity[id][1][1] < 0.0 ) frame_velocity[id][1][1] *= -1.0;
					
					static Float:land_origin[3];
					
					land_origin[2] = frame_velocity[id][0][2] * frame_velocity[id][0][2] + (2 * get_pcvar_float(sv_gravity) * (frame_origin[id][0][2] - origin[2]));
					
					rDistance[0] = (floatsqroot(land_origin[2]) * -1) - frame_velocity[id][1][2];
					rDistance[1] = get_pcvar_float(sv_gravity)*-1;
					
					frame2time = floatdiv(rDistance[0], rDistance[1]);
					if(frame_velocity[id][1][0] < 0 )
					frame_velocity[id][1][0] = frame_velocity[id][1][0]*-1;
					rDistance[0] = frame2time*frame_velocity[id][1][0];
						
					if( frame_velocity[id][1][1] < 0 )
					frame_velocity[id][1][1] = frame_velocity[id][1][1]*-1;
					rDistance[1] = frame2time*frame_velocity[id][1][1];
			
					if( frame_velocity[id][1][2] < 0 )
					frame_velocity[id][1][2] = frame_velocity[id][1][2]*-1;
					rDistance[2] = frame2time*frame_velocity[id][1][2];
					
					if( frame_origin[id][1][0] < origin[0] )
					land_origin[0] = frame_origin[id][1][0] + rDistance[0];
					else
					land_origin[0] = frame_origin[id][1][0] - rDistance[0];
					if( frame_origin[id][1][1] < origin[1] )
					land_origin[1] = frame_origin[id][1][1] + rDistance[1];
					else
					land_origin[1] = frame_origin[id][1][1] - rDistance[1];
					
					if( is_user_ducking(id) )
					{
						origin[2]+=18.0;
						duckstring[id]=true;
					}
			
					land_origin[2] = origin[2];
					
					frame2time += (last_land_time[id]-jumpoff_time[id]);
					
					static Float:distance2;
					if(jump_type[id] == Type_ladder)
					{
						distance2 = get_distance_f( jumpoff_origin[id], land_origin ) +laddist[id];
					}
					else distance2 = get_distance_f( jumpoff_origin[id], land_origin ) + 32.0;
					
					if(failed==true)
					{
						if(jump_type[id] == Type_ladder)
						{
							distance[id] = GetFailedDistance(laddist[id],failed_ducking[id], GRAVITY, jumpoff_origin[id], velocity, failed_origin[id], failed_velocity[id]);
						}
						else distance[id] = GetFailedDistance(32.0,failed_ducking[id], GRAVITY, jumpoff_origin[id], velocity, failed_origin[id], failed_velocity[id]);
					}
					else distance[id] = distance1 > distance2 ? distance2 : distance1; //distance
					
					
					new Float:Landing,bool:land_bug;
					
					if(jump_type[id]!=Type_ladder && distance[id]>64.0)
					{
						new Float:landing_orig[3];
						
						landing_orig=origin;
						landing_orig[2]=landing_orig[2]-36.1;
						
						Landing=LandingCalculate(id,landing_orig,jumpoff_origin[id]);
						if(distance[id]<(jumpblock[id]+edgedist[id]+Landing))
						{
							landing_orig=land_origin;
							landing_orig[2]=landing_orig[2]-36.1;
							
							Landing=LandingCalculate(id,landing_orig,jumpoff_origin[id]);
							Landing=Landing-0.06250;
							land_bug=true;
						}
						else land_bug=false;
					}
					
					if(!uq_noslow && entity_get_float(id,EV_FL_fuser2)==0.0 && jump_type[id] != Type_ladder)
					{
						failed_jump[id]=true;
					}
					if(fps_hight[id] && jump_type[id]!=Type_ladder)
					{
						failed_jump[id]=true;
					}
					if(duckbhop_bug_pre[id])
					{
						failed_jump[id]=true;
					}
					
					new tmp_dist,tmp_min_dist,tmp_maxdist,tmp_mindist_other;
					if(Pmaxspeed != 250.0 && jump_type[id]!=Type_ladder)
					{
						tmp_dist=floatround((250.0-Pmaxspeed)*0.73,floatround_floor);
						
						tmp_min_dist=min_distance-tmp_dist;
						
					}
					else tmp_min_dist=min_distance;
					
					tmp_maxdist=max_distance;
					tmp_mindist_other=min_distance_other;
					
					if(jump_type[id]!=Type_Bhop_In_Duck && jump_type[id]!=Type_Up_Bhop_In_Duck && jump_type[id]!=Type_Up_Stand_Bhop  && jump_type[id] != Type_Up_Bhop && jump_type[id] != Type_ladder && jump_type[id] != Type_Multi_Bhop && jump_type[id]!=Type_DuckBhop && jump_type[id]!=Type_Real_ladder_Bhop)
					{
						if( distance[id] < tmp_min_dist || tmp_maxdist < distance[id] )
						{
							JumpReset(id,8);
							return FMRES_IGNORED;
						}
					}
					else if( jump_type[id] == Type_ladder && (distance[id] > tmp_maxdist || distance[id] < tmp_mindist_other))
					{
						JumpReset(id,9);
						return FMRES_IGNORED;
					}
					else if( (jump_type[id] == Type_Multi_Bhop || jump_type[id]==Type_Real_ladder_Bhop) && (distance[id] > tmp_maxdist || distance[id] < tmp_mindist_other))
					{
						JumpReset(id,10);
						return FMRES_IGNORED;
					}
					else if( (jump_type[id]==Type_Bhop_In_Duck || jump_type[id]==Type_Up_Bhop_In_Duck || jump_type[id]==Type_Up_Stand_Bhop ||  jump_type[id] == Type_Up_Bhop || jump_type[id]==Type_Real_ladder_Bhop)&& (distance[id] > tmp_maxdist || distance[id] < tmp_mindist_other))
					{
						JumpReset(id,11);
						return FMRES_IGNORED;
					}
					else if( jump_type[id]==Type_DuckBhop && (distance[id] > tmp_maxdist || distance[id] < tmp_min_dist-150))
					{
						JumpReset(id,1111);
						return FMRES_IGNORED;
					}
					
					
					
					if( jump_type[id] == Type_LongJump ) 
					{			
						oldjump_type[id]=1;
					}
					else oldjump_type[id]=0;
					
					if(jump_type[id] == Type_LongJump && detecthj[id]==1) 
					{
						jump_type[id] = Type_HighJump;
						formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_HJ");
						formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_HJ");
					}
					new Float:kkk;
							
					kkk=1.112*Pmaxspeed;
					
					if((jump_type[id] == Type_LongJump || jump_type[id] == Type_HighJump) && prestrafe[id]>kkk)
					{
						jump_type[id] = Type_Drop_BhopLongJump;
						formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DRBJ");
						formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DRBJ");
					}
					if(touch_somthing[id])
					{
						failed_jump[id]=true;
					}
					if(trigger_protection[id])
					{
						failed_jump[id]=true;
					}
					new wpn,weapon_name[21],weapon_name1[21],clip,ammo;
					
					wpn = get_user_weapon(id,clip,ammo);
					if(wpn)
					{
						get_weaponname(wpn,weapon_name,20);
						get_weaponname(wpn,weapon_name1,20);
						
						replace(weapon_name,20,"weapon_","");
					}
					else formatex(weapon_name,20,"Unknow");
	
					new t_type;
					t_type=0;
					
					switch(jump_type[id])
					{
						case 0: t_type=1;
						case 1: t_type=1;
						case 2: t_type=2;
						case 9: t_type=2;
						case 11:t_type=2;
						case 6: t_type=2;
						case 7: t_type=2;
						case 15: t_type=2;
						case 17: t_type=2;
						case 18: t_type=2;
						case 19: t_type=2;
						case 3: t_type=3;
						case 5: t_type=3;
						case 21: t_type=3;
						case 22: t_type=3;
						case 13: t_type=4;
						case 23: t_type=5;
						case 24:t_type=5;
						case 12: t_type=6;
					}
					
					if(uq_bug==1 && check_for_bug_distance(distance[id],t_type,Pmaxspeed))
					{
						JumpReset(id,2311);
						return FMRES_IGNORED;
					}
					if(uq_bug==1)
					{
						new Float:b_check=2.1;
						
						if(jump_type[id]==Type_ladder)
						{
							b_check=b_check-0.1;
						}
						
						if((maxspeed[id]+prestrafe[id])/distance[id]<b_check)
						{
							JumpReset(id,23451);
							return FMRES_IGNORED;
						}
					}
					new god_dist,leet_dist,holy_dist,pro_dist,good_dist;
					new d_array[5];
					
					d_array=get_colorchat_by_distance(jump_type[id],Pmaxspeed,tmp_dist,dropaem[id],multiscj[id],aircj);
					god_dist=d_array[4];
					leet_dist=d_array[3];
					holy_dist=d_array[2];
					pro_dist=d_array[1];
					good_dist=d_array[0];
					
					new script_dist;
					if(angles_arry[id]>SCRIPTFRAMES && uq_script_detection)
					{
						script_dist=god_dist;
						
						switch(uq_script_work)
						{
							case 0:
								script_dist=good_dist;
							case 1:
								script_dist=pro_dist;
							case 2:
								script_dist=holy_dist;
							case 3:
								script_dist=leet_dist;
							case 4:
								script_dist=god_dist;
						}
					}
					
					new bool:not_save;
					if((jump_type[id]==Type_LongJump || jump_type[id]==Type_HighJump) && prestrafe[id]>kkk && !uq_noslow)
					{
						not_save=true;
					}
					else if(prestrafe[id]>Pmaxspeed*1.2 && !uq_noslow)
					{
						not_save=true;
					}
					else not_save=false;
					
					new bool:find_script;
					
					if(strafe_num[id]>4 && angles_arry[id]>SCRIPTFRAMES && uq_script_detection && distance[id]>script_dist && !not_save)
					{
						if(FullJumpFrames[id]>80)
							failed_jump[id]=true;
						else
							find_script=true;
					}
					
					//streifs stat
					sync_[id] = INFO_ZERO;
					strMess[0] = '^0'; //unnecessary?
					strMessBuf[0] = '^0'; //unnecessary?
					strLen = INFO_ZERO;
					badSyncTemp = INFO_ZERO;
					goodSyncTemp = INFO_ZERO;
					new Float:tmpstatspeed[NSTRAFES],Float:tmpstatpoteri[NSTRAFES];
								
					Fulltime = last_land_time[id]-jumpoff_time[id];
					if(strafe_num[id] < NSTRAFES)
					{
						strafe_stat_time[id][0] = jumpoff_time[id];
						strafe_stat_time[id][strafe_num[id]] =last_land_time[id];
						for(jj = 1;jj <= strafe_num[id]; jj++)
						{
							//client_print(id,print_chat,"%d=%d,%d - %d",jj,strafe_stat_sync[id][jj][0],strafe_stat_sync[id][jj][1],strafe_lost_frame[id][jj]);

							time_ = ((strafe_stat_time[id][jj] - strafe_stat_time[id][jj-1])*100) / (Fulltime);
							if ((strafe_stat_sync[id][jj][0]+strafe_stat_sync[id][jj][1]) > 0)
							{
								sync_[id] =(strafe_stat_sync[id][jj][0] * 100)/(strafe_stat_sync[id][jj][0]+strafe_stat_sync[id][jj][1]); //using like a buffer		
							}				
							else
							{
								sync_[id] = 0;
							}
							strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS1", jj, strafe_stat_speed[id][jj][0], strafe_stat_speed[id][jj][1], time_, sync_[id]);
							goodSyncTemp += strafe_stat_sync[id][jj][0];
							badSyncTemp += strafe_stat_sync[id][jj][1];
							tmpstatspeed[jj]=strafe_stat_speed[id][jj][0];
							tmpstatpoteri[jj]=strafe_stat_speed[id][jj][1];
							
							if(tmpstatpoteri[jj]>200)
							{
								if(duckstring[id]==false)
								duckstring[id]=true;
							}
							if(tmpstatpoteri[jj]>200 && Checkframes[id])
							{
								Checkframes[id]=false;
								failed_jump[id]=true;
							}
						}
						//client_print(id,print_chat,"full=%d - %d,%d",FullJumpFrames[id],strafe_stat_sync[id][0][0],strafe_stat_sync[id][0][1]);

						if(strafe_num[id]!=0)
						{
							if (jump_type[id]==Type_ladder && strafe_stat_speed[id][0][0]!=0)
							{	
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS2",strafe_stat_speed[id][0][0]);
							}
							if (duckstring[id]==false)
							{							
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS3");
							}
							if (jump_type[id]==Type_StandupBhopLongJump || jump_type[id]==Type_Up_Stand_Bhop)
							{
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS4");
							}
							if(wpn!=29 && wpn!=17 && wpn!=16)
							{
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS5",weapon_name);
							}
							
							if(Show_edge[id] && failed_jump[id]==false && jump_type[id]!=Type_ladder && jumpblock[id]<user_block[id][0] && jumpblock[id]>user_block[id][1] && edgedist[id]<100.0 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
							{
								if((jumpblock[id]+Landing+edgedist[id])>(distance[id]+10.0) || Landing<=0.0)
								{
									strLen =strLen+format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS6",jumpblock[id],edgedist[id]);
								}
								else if(land_bug)
								{
									strLen =strLen+format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS7",jumpblock[id],edgedist[id],Landing);
								}
								else strLen =strLen+format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS8",jumpblock[id],edgedist[id],Landing);
							}
							else if(Show_edge[id] && failed_jump[id] && jump_type[id]!=Type_ladder && jumpblock[id]<user_block[id][0] && jumpblock[id]>user_block[id][1] && edgedist[id]<100.0 && edgedist[id]!=0.0)
							{
								strLen =strLen+format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS9",jumpblock[id],edgedist[id]);
							}
							else if(Show_edge_Fail[id] && failed_jump[id] && jump_type[id]!=Type_ladder && edgedist[id]<100.0 && edgedist[id]!=0.0)
							{
								strLen =strLen+format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS10",edgedist[id]);	
							}
							if(jump_type[id]==Type_Up_Bhop || jump_type[id]==Type_Up_Stand_Bhop || jump_type[id]==Type_Up_Bhop_In_Duck)
							{
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS11",upheight[id]);
							}
							if(fps_hight[id] && jump_type[id]!=Type_ladder)
							{
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS12");
							}
							if(ladderbug[id])
							{
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS13");
								failed_jump[id]=true;
							}
							if(find_ladder[id] && jump_type[id]==Type_DuckBhop)
							{
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS14");
								failed_jump[id]=true;
							}
							if(touch_somthing[id])
							{
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS15");
							}
							if(find_script)
							{
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_HUDSTRSTATS16");
								failed_jump[id]=true;
							}
							if(trigger_protection[id])
							{
								strLen += format(strMess[strLen],(40*NSTRAFES)-strLen-1, "%L",LANG_SERVER,"UQSTATS_TRIGGERPROTECT");
							}
						}
					}
					//Sync
					if( goodSyncTemp > 0 ) sync_[id]= (goodSyncTemp*100/(goodSyncTemp+badSyncTemp));
					else sync_[id] = INFO_ZERO;
					
					switch( jump_type[id] )
					{
						case 0: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE1"); //Lj
						case 1: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE2" ); //hj
						case 2: 
						{
							if(CjafterJump[id]==1)
							{
								if(ddforcjafterbhop[id])
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE3" );
									
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_CJAB");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_CJAB");
								}
								else if(ddforcjafterladder[id])
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE4" );
									
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_CJAL");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_CJAL");
								}
								else
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE5" );
									
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_CJAJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_CJAJ");
								}
							}
							else formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE6" ); //cj
						}
						case 3: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE7" );//bj
						case 4: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE8" );//??
						case 5: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE9" );//sbj
						case 6: 
						{
							if(ddbeforwj[id]==false)
							{
								formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE10" ); //wj
							}
							else
							{
								formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE11" );
							}
						}
						case 7: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE12" );
						case 9:
						{
							if(CjafterJump[id]==2)
							{
								if(ddforcjafterbhop[id])
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE13" );
									
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DCJAB");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DCJAB");
								}
								else if(ddforcjafterladder[id])
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE14" );
									
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DCJAL");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DCJAL");
								}
								else
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE15" );
									
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DCJAJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DCJAJ");
								}
							}
							else formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE16" ); //dcj
						}
						case 11: 
						{
							if(CjafterJump[id]==3)
							{
								if(ddforcjafterbhop[id])
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE17" );
									
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_MCJAB");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_MCJAB");
								}
								else if(ddforcjafterladder[id])
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE18" );
									
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_MCJAL");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_MCJAL");
								}
								else
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE19" );
									
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_MCJAJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_MCJAJ");
								}
							}
							else formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE20" );//mcj
						}
						case 12: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE21" );//nothing
						case 13: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE22" );//ld
						case 15: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE23" );
						case 16: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE24" );
						case 17: formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE25" );
						case 18:
						{	
							if(multidropcj[id]==0)
							{
								formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE26" );
							}
							else if(multidropcj[id]==1)
							{
								formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE27" );
								formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DROPDCJ");
							}
							else if(multidropcj[id]==2)
							{
								formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE28" );
								formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DROPMCJ");
							}
						}
						case 19:
						{	if(dropaem[id])
							{
								if(multiscj[id]==0)
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE29" );
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DROPSCJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DROPSCJ");
								}
								else if(multiscj[id]==1)
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE30" );
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DROPDSCJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DROPDSCJ");
								}
								else if(multiscj[id]==2)
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE31" );
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DROPMSCJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DROPMSCJ");
									
								}
							}
							else if(ddstandcj[id])
							{
								if(multiscj[id]==0)
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE32" );
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_SCJAF");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_SCJAF");
								}
								else if(multiscj[id]==1)
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE33" );
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DSCJAF");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DSCJAF");
								}
								else if(multiscj[id]==2)
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE34" );
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_MSCJAF");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_MSCJAF");
								}
							}
							else
							{
								if(multiscj[id]==0)
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE35" );
								}
								else if(multiscj[id]==1)
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE36" );
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DSCJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DSCJ");
								}
								else if(multiscj[id]==2)
								{
									formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE37" );
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_MSCJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_MSCJ");
								}
							}
						}
						case 20:formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE38" );
						case 21:formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE39" );
						case 22:formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE40" );
						case 23:formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE41");
						case 24:formatex( type, 32, "%L",LANG_SERVER,"UQSTATS_HUD_JUMPTYPE42");
					}
					//gain
					
					
					
					new Float:gain[33];
					gain[id] = floatsub( maxspeed[id], prestrafe[id] );
			
					if(jump_type[id]==Type_StandUp_CountJump && dropaem[id]==false && multiscj[id]==0 && uq_drsbj==0)
					{
						JumpReset(id,12);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_StandUp_CountJump && dropaem[id]==false && multiscj[id]==1 && uq_dscj==0)
					{
						JumpReset(id,12);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_StandUp_CountJump && dropaem[id]==false && multiscj[id]==2 && uq_mscj==0)
					{
						JumpReset(id,12);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_StandUp_CountJump && dropaem[id] && multiscj[id]==0 && uq_dropscj==0)
					{
						JumpReset(id,12);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_StandUp_CountJump && dropaem[id] && multiscj[id]==1 && uq_dropdscj==0)
					{
						JumpReset(id,12);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_StandUp_CountJump && dropaem[id] && multiscj[id]==2 && uq_dropmscj==0)
					{
						JumpReset(id,12);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Double_CountJump&& uq_dcj==0)
					{
						JumpReset(id,13);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Multi_CountJump && uq_mcj==0)
					{
						JumpReset(id,14);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_CountJump && uq_cj==0)
					{
						JumpReset(id,15);
						return FMRES_IGNORED;
					}
					else if((jump_type[id]==Type_LongJump || jump_type[id]==Type_HighJump) && uq_lj==0)
					{
						JumpReset(id,16);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_ladder && uq_ladder==0)
					{
						JumpReset(id,17);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Bhop_In_Duck && (uq_bhopinduck==0 )) 
					{
						JumpReset(id,18);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_DuckBhop && (uq_duckbhop==0 )) 
					{
						JumpReset(id,18);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Up_Bhop && (uq_upbj==0) ) 
					{
						JumpReset(id,18);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Up_Bhop_In_Duck && (uq_upbhopinduck==0 )) 
					{
						JumpReset(id,18);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_BhopLongJump && uq_bj==0) 
					{
						JumpReset(id,19);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_ladderBhop && uq_ldbj==0)
					{
						JumpReset(id,20);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Real_ladder_Bhop && uq_realldbhop==0)
					{
						JumpReset(id,20);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_WeirdLongJump && uq_wj==0) 
					{
						JumpReset(id,21);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Drop_CountJump && multidropcj[id]==0 && uq_drcj==0)
					{
						JumpReset(id,22);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Drop_CountJump && multidropcj[id]==1 && uq_dropdcj==0)
					{
						JumpReset(id,22);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Drop_CountJump && multidropcj[id]==2 && uq_dropmcj==0)
					{
						JumpReset(id,22);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Drop_BhopLongJump && uq_drbj==0)
					{
						JumpReset(id,23);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_StandupBhopLongJump && uq_sbj==0)
					{
						JumpReset(id,24);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Up_Stand_Bhop && uq_upsbj==0)
					{
						JumpReset(id,24);
						return FMRES_IGNORED;
					}
					else if(jump_type[id]==Type_Multi_Bhop && uq_multibhop==0)
					{
						JumpReset(id,242);
						return FMRES_IGNORED;
					}
					
					for(new i=1;i<NSTRAFES;i++)
					{
						if(tmpstatspeed[i]>40 && jump_type[id]!=Type_ladder && jump_type[id]!=Type_Real_ladder_Bhop && jump_type[id]!=Type_Slide)
						{
							JumpReset(id,40);
							return FMRES_IGNORED;
						}
					}
					
					if(jump_type[id]==Type_Multi_Bhop && multibhoppre[id]==false)
					{
						g_reset[id]=true;
						return FMRES_IGNORED;
					}
					if(!failed_jump[id] && !not_save)
					{
						new tmp_type_num=-1;
						
						//saving tops
						if(!ddstandcj[id] && !CjafterJump[id] && jump_type[id]!=Type_None && jump_type[id]!=Type_Null && jump_type[id]!=Type_Nothing && jump_type[id]!=Type_Nothing2 && Pmaxspeed==250.0 && kz_top==1 && kz_map_top==1)
						{
							checkmap( id, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],Jtype1[id]); 
						}
						
						if(!CjafterJump[id] && jump_type[id]==Type_Double_CountJump && kz_top==1 && uq_dcj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[10],10, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[10],10, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
								else if(Pmaxspeed!=250.0 && kz_weapon)
								{
									checktops_weapon( id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[6],6, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],weapon_name); 
									
									if(kz_wpn_block_top && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[6],6,distance[id],edgedist[id],jumpblock[id],weapon_name); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"doublecj_top");
								tmp_type_num=10;
							}
						}
						else if(!CjafterJump[id] && jump_type[id]==Type_Multi_CountJump && kz_top==1 && uq_mcj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops2( id,Type_List[21],21, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],ducks[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[21],21, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
								else if(Pmaxspeed!=250.0 && kz_weapon)
								{
									checktops_weapon( id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[7],7, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],weapon_name); 
									
									if(kz_wpn_block_top && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[7],7,distance[id],edgedist[id],jumpblock[id],weapon_name); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"multicj_top");
								tmp_type_num=21;
							}
						}
						else if(!CjafterJump[id] && jump_type[id]==Type_CountJump && kz_top==1 && uq_cj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[2],2, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[2],2, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
								else if(Pmaxspeed!=250.0 && kz_weapon)
								{
									checktops_weapon( id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[1],1, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],weapon_name); 
									
									if(kz_wpn_block_top && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[1],1,distance[id],edgedist[id],jumpblock[id],weapon_name); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"cj_top");
								tmp_type_num=2;
							}
						}
						else if((jump_type[id]==Type_LongJump || jump_type[id]==Type_HighJump) && kz_top==1 && uq_lj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[0],0, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										if(jump_type[id]==Type_HighJump)
										{
											checktops_block( id,"hj",6, distance[id], edgedist[id], jumpblock[id]); 
										}
										else checktops_block( id,Type_List[0],0, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
								else if(Pmaxspeed!=250.0 && kz_weapon)
								{
									checktops_weapon( id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[0],0, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],weapon_name); 
								
									if(kz_wpn_block_top && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										if(jump_type[id]==Type_HighJump)
										{
											checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),"hj",9,distance[id],edgedist[id],jumpblock[id],weapon_name); 
										}
										else checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[0],0,distance[id],edgedist[id],jumpblock[id],weapon_name); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"lj_top");
								tmp_type_num=0;
							}
						}
						else if(jump_type[id]==Type_ladder && kz_top==1 && uq_ladder==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[6],6, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
								}
								
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"ladder_top");
								tmp_type_num=6;
							}
						}
						else if(jump_type[id]==Type_BhopLongJump && kz_top==1 && uq_bj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[4],4, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[4],4, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
								else if(Pmaxspeed!=250.0 && kz_weapon)
								{
									checktops_weapon( id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[3],3, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],weapon_name); 
								
									if(kz_wpn_block_top && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[3],3,distance[id],edgedist[id],jumpblock[id],weapon_name); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"bj_top");
								tmp_type_num=4;
							}
						}
						else if(jump_type[id]==Type_ladderBhop && kz_top==1 && uq_ldbj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0) 
								{
									checktops1( id,Type_List[7],7, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[7],7, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"ladderbhop_top");
								tmp_type_num=7;
							}
						}
						else if(jump_type[id]==Type_WeirdLongJump && kz_top==1 && uq_wj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[3],3, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[3],3, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
								else if(Pmaxspeed!=250.0 && kz_weapon)
								{
									checktops_weapon( id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[2],2, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],weapon_name); 
									
									if(kz_wpn_block_top && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[2],2,distance[id],edgedist[id],jumpblock[id],weapon_name); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"wj_top");
								tmp_type_num=3;
							}
						}
						else if(jump_type[id]==Type_Drop_BhopLongJump && kz_top==1 && uq_drbj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[9],9, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]);  
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[9],9, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
								else if(Pmaxspeed!=250.0 && kz_weapon)
								{
									checktops_weapon( id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[5],5, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],weapon_name); 
								
									if(kz_wpn_block_top && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[5],5,distance[id],edgedist[id],jumpblock[id],weapon_name); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"dropbj_top");
								tmp_type_num=9;
							}
						}
						else if(jump_type[id]==Type_StandupBhopLongJump && kz_top==1 && uq_sbj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[5],5, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]);  
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[5],5, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
								else if(Pmaxspeed!=250.0 && kz_weapon)
								{
									checktops_weapon( id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[4],4, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],weapon_name); 
								
									if(kz_wpn_block_top && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[4],4,distance[id],edgedist[id],jumpblock[id],weapon_name); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"sbj_top");
								tmp_type_num=5;
							}
						}
						else if(!ddstandcj[id] && jump_type[id]==Type_StandUp_CountJump && dropaem[id]==false && multiscj[id]==0 && kz_extras==1 && kz_top==1 && uq_drsbj==1)
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[1],1, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]);   
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[1],1, distance[id], edgedist[id], jumpblock[id]); 
									}
								
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"scj_top");
								tmp_type_num=1;
							}
						}
						else if(!ddstandcj[id] && jump_type[id]==Type_StandUp_CountJump && dropaem[id]==false && multiscj[id]==1 && kz_extras==1 && kz_top==1 && uq_dscj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[11],11, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[11],11, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"doublescj_top");
								tmp_type_num=11;
							}
						}
						else if(!ddstandcj[id] && jump_type[id]==Type_StandUp_CountJump && dropaem[id]==false && multiscj[id]==2 && kz_extras==1 && kz_top==1 && uq_mscj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0) 
								{
									checktops2( id,Type_List[22],22, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],ducks[id]);  
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[22],22, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"multiscj_top");
								tmp_type_num=22;
							}
						}
						else if(!ddstandcj[id] && jump_type[id]==Type_StandUp_CountJump && dropaem[id] && multiscj[id]==0 && kz_extras==1 && kz_top==1 && uq_dropscj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[12],12, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]);  
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[12],12, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"dropscj_top");
								tmp_type_num=12;
							}
						}
						else if(!ddstandcj[id] && jump_type[id]==Type_StandUp_CountJump && dropaem[id] && multiscj[id]==1 && kz_extras==1 && kz_top==1 && uq_dropdscj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[13],13, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[13],13, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"dropdoublescj_top");
								tmp_type_num=13;
							}
						}
						else if(!ddstandcj[id] && jump_type[id]==Type_StandUp_CountJump && dropaem[id] && multiscj[id]==2 && kz_extras==1 && kz_top==1 && uq_dropmscj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops2( id,Type_List[23],23, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],ducks[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[23],23, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"dropmultiscj_top");
								tmp_type_num=23;
							}
						}
						else if(jump_type[id]==Type_DuckBhop && kz_extras==1 && kz_top==1 && uq_duckbhop==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[14],14, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[14],14, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"duckbhop_top");
								tmp_type_num=14;
							}
						}
						else if(jump_type[id]==Type_Bhop_In_Duck && kz_extras==1 && kz_top==1 && uq_bhopinduck==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[15],15, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[15],15, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"bhopinduck_top");
								tmp_type_num=15;
							}
						}
						else if(jump_type[id]==Type_Real_ladder_Bhop && kz_extras==1 && kz_top==1 && uq_realldbhop==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[16],16, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[16],16, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"realladderbhop_top");
								tmp_type_num=16;
							}
						}
						else if(jump_type[id]==Type_Up_Bhop && kz_extras==1 && kz_top==1 && uq_upbj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[17],17, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[17],17, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"upbj_top");
								tmp_type_num=17;
							}
						}
						else if(jump_type[id]==Type_Up_Bhop_In_Duck && kz_extras==1 && kz_top==1 && uq_upbhopinduck==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[19],19, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[19],19, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"upbhopinduck_top");
								tmp_type_num=19;
							}
						}
						else if(jump_type[id]==Type_Up_Stand_Bhop && kz_extras==1 && kz_top==1 && uq_upsbj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[18],18, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[18],18, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"upsbj_top");
								tmp_type_num=18;
							}
						}
						else if(jump_type[id]==Type_Multi_Bhop && kz_extras==1 && kz_top==1 && uq_multibhop==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops2( id,Type_List[24],24, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],bhop_num[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[24],24, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"multibhop_top");
								tmp_type_num=24;
							}
						}
						else if(jump_type[id]==Type_Drop_CountJump && multidropcj[id]==2 && kz_extras==1 && kz_top==1 && uq_dropmcj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops2( id,Type_List[25],25, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],ducks[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[25],25, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"multidropcj_top");
								tmp_type_num=25;
							}
						}
						else if(jump_type[id]==Type_Drop_CountJump && multidropcj[id]==1 && kz_extras==1 && kz_top==1 && uq_dropdcj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[20],20, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[20],20, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"doubledropcj_top");
								
								tmp_type_num=20;
							}
						}
						else if(jump_type[id]==Type_Drop_CountJump && multidropcj[id]==0 && kz_top==1 && uq_drcj==1) 
						{
							if(kz_sql==0) 
							{
								if(Pmaxspeed==250.0)
								{
									checktops1( id,Type_List[8],8, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id]); 
									
									if(kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block( id,Type_List[8],8, distance[id], edgedist[id], jumpblock[id]); 
									}
								}
								else if(Pmaxspeed!=250.0 && kz_weapon)
								{
									checktops_weapon( id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[8],8, distance[id], maxspeed[id], prestrafe[id], strafe_num[id], sync_[id],weapon_name); 
								
									if(kz_wpn_block_top && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
									{
										checktops_block_weapon(id,Pmaxspeed,weapon_rank(Pmaxspeed),Type_List_weapon[8],8,distance[id],edgedist[id],jumpblock[id],weapon_name); 
									}
								}
							}
							if(kz_sql==1)
							{
								formatex(sql_JumpType[id],25,"dropcj_top");
								
								tmp_type_num=8;
							}
						}
						
					
						if(tmp_type_num!=-1 && !ddstandcj[id] && !CjafterJump[id] && kz_sql==1 && jump_type[id]!=Type_None && jump_type[id]!=Type_Null && jump_type[id]!=Type_Nothing && jump_type[id]!=Type_Nothing2) 
						{
							if(jumpblock[id]>100 && kz_block_top==1 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
							{
								new cData[6];
								
								cData[0] = floatround(distance[id]*1000000);
								cData[1] = floatround(edgedist[id]*1000000);
								cData[2] = jumpblock[id];
								
								if(jump_type[id]==Type_HighJump)
								{
									cData[3]=6;
								}
								else cData[3] = tmp_type_num;
								
								cData[4] = Pmaxspeed;
								cData[5] = wpn;
								
								PlayerSaveData_to_SQL_block(id, cData);
							}
							
							new cData[9];
							cData[0] = floatround(distance[id]*1000000);
							cData[1] = floatround(maxspeed[id]*1000000);
							cData[2] = floatround(prestrafe[id]*1000000);
							cData[3] = strafe_num[id];
							cData[4] = sync_[id];
							
							
							if(jump_type[id]==Type_Multi_Bhop)
							{
								cData[5]=bhop_num[id];
							}
							else cData[5] = ducks[id];
							
							cData[6] = tmp_type_num;
							cData[7] = Pmaxspeed;
							cData[8] = wpn;
							
							PlayerSaveData_to_SQL(id, cData);
						}
					}
					
			
					if(kz_stats_pre[id]==true)//ducks stat for mcj
					{
						strM[0] = '^0'; 
						strMBuf[0] = '^0'; 
						strL = INFO_ZERO;
						for(jj = 2;jj <= ducks[id]; jj++)
						{
							strL += format(strM[strL],(40*NSTRAFES)-strL-1, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT8", jj-1,statsduckspeed[id][jj]);
						}
						copy(strMBuf,strL,strM);//dlya stat ducks
					}
					if(uq_istrafe)
					{
						new st1[NSTRAFES],st2[NSTRAFES];
						for(new i = 1;i <= strafe_num[id]; i++)
						{
							if(i<NSTRAFES)
							{
								st1[i]=strafe_stat_sync[id][i][0];
								st2[i]=strafe_stat_sync[id][i][1];
							}
						}
						
						for( new i = INFO_ONE; i < max_players; i++ )
						{
							if( (i == id || is_spec_user[i]))
							{
								if(ingame_strafe[i])
								{
									new Float:or[3];
									pev(id,pev_origin,or);
									
									remove_beam_ent(i);
									
									epta(i,or,direct_for_strafe[id],line_lost[id],FullJumpFrames[id],is_user_ducking(id),strafe_num[id],st1,st2,strafe_lost_frame[id]);
								}
							}
						}
					}
					for( new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]) && g_lj_stats[i]==true)
						{	
							copy(strMessBuf,strLen,strMess);
							//stats
							if(jump_type[id]==Type_Multi_Bhop &&!failed_jump[id])
							{
								set_hudmessage(stats_r, stats_g, stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats  );	
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT1", type, distance[id], maxspeed[id], gain[id], prestrafe[id],strafe_num[id], sync_[id],bhop_num[id]);
							}
							else if((jump_type[id]==Type_Double_CountJump || (multiscj[id]==1 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==1 && jump_type[id] == Type_Drop_CountJump)) &&!failed_jump[id])
							{
								set_hudmessage(stats_r, stats_g, stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );	
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT2", type, distance[id], maxspeed[id], gain[id], prest1[id],prest[id], prestrafe[id],strafe_num[id], sync_[id],dd_sync[id]);
							}
							else if((jump_type[id]==Type_ladderBhop || jump_type[id]==Type_ladder || jump_type[id]==Type_Drop_BhopLongJump || jump_type[id]==Type_WeirdLongJump || jump_type[id]==Type_LongJump || jump_type[id]==Type_HighJump) &&!failed_jump[id])
							{
								set_hudmessage(stats_r, stats_g, stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats  );	
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT0", type, distance[id], maxspeed[id], gain[id], prestrafe[id],strafe_num[id], sync_[id]);
							}
							else if((jump_type[id]==Type_CountJump || (multiscj[id]==0 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==0 && jump_type[id] == Type_Drop_CountJump)) && !failed_jump[id])
							{
								set_hudmessage(stats_r, stats_g, stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats);
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT4", type, distance[id], maxspeed[id], gain[id], prest1[id],prestrafe[id],strafe_num[id], sync_[id],dd_sync[id]);
							}
							else if((jump_type[id]==Type_Bhop_In_Duck || jump_type[id]==Type_Up_Bhop_In_Duck || jump_type[id]==Type_Up_Stand_Bhop || jump_type[id]==Type_Up_Bhop || jump_type[id]==Type_Real_ladder_Bhop || jump_type[id]==Type_DuckBhop || jump_type[id] == Type_BhopLongJump || jump_type[id] == Type_StandupBhopLongJump ) && !failed_jump[id])
							{
								set_hudmessage(stats_r, stats_g, stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats);
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT0", type, distance[id], maxspeed[id], gain[id],prestrafe[id],strafe_num[id], sync_[id]);
							}
							else if((jump_type[id]==Type_Multi_CountJump || (multiscj[id]==2 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==2 && jump_type[id] == Type_Drop_CountJump)) && !failed_jump[id])
							{
								set_hudmessage(stats_r, stats_g, stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT6", type, distance[id], maxspeed[id], gain[id], prest1[id],prestrafe[id],ducks[id], strafe_num[id], sync_[id],dd_sync[id]);
							}
							
							if(jump_type[id] != Type_Slide && streifstat[id]==true && jump_type[id]!=Type_None && !failed_jump[id])
							{
								set_hudmessage(stats_r, stats_g, stats_b, strafe_x, strafe_y, 0, 6.0, 2.5, 0.1, 0.3, h_streif);
								show_hudmessage(i,"%L",LANG_SERVER,"UQSTATS_HUD_PRINT7",strMessBuf); //stata streifof
							}
							
							if(kz_stats_pre[id]==true && (jump_type[id]==Type_Multi_CountJump || (multiscj[id]==2 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==2 && jump_type[id] == Type_Drop_CountJump)) && !failed_jump[id])
							{
								set_hudmessage(stats_r, stats_g, stats_b, duck_x,duck_y, 0, 6.0, 2.5, 0.1, 0.3, h_duck);	
								show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT7",strMBuf);//stata duckov
							}
							
							//failstats
							if(jump_type[id]==Type_Multi_Bhop  && (failed_jump[id]))
							{
								set_hudmessage( f_stats_r, f_stats_g, f_stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT1", type, distance[id], maxspeed[id], gain[id], prestrafe[id],strafe_num[id], sync_[id],bhop_num[id]);
							}
							else if((jump_type[id]==Type_ladderBhop || jump_type[id]==Type_ladder || jump_type[id]==Type_Drop_BhopLongJump || jump_type[id]==Type_WeirdLongJump || jump_type[id]==Type_LongJump || jump_type[id]==Type_HighJump)  && (failed_jump[id]))
							{
								set_hudmessage( f_stats_r, f_stats_g, f_stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT0", type, distance[id], maxspeed[id], gain[id], prestrafe[id],strafe_num[id], sync_[id]);
							}
							else if((jump_type[id]==Type_CountJump || (multiscj[id]==0 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==0 && jump_type[id] == Type_Drop_CountJump)) && (failed_jump[id]))
							{
								set_hudmessage(f_stats_r, f_stats_g, f_stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT4", type, distance[id], maxspeed[id], gain[id], prest1[id],prestrafe[id],strafe_num[id], sync_[id],dd_sync[id]);
							}
							else if((jump_type[id]==Type_Bhop_In_Duck || jump_type[id]==Type_Up_Bhop_In_Duck || jump_type[id]==Type_Up_Stand_Bhop || jump_type[id]==Type_Up_Bhop || jump_type[id]==Type_Real_ladder_Bhop || jump_type[id]==Type_DuckBhop || jump_type[id] == Type_BhopLongJump || jump_type[id] == Type_StandupBhopLongJump ) && (failed_jump[id]))
							{
								set_hudmessage(f_stats_r, f_stats_g, f_stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT0", type, distance[id], maxspeed[id], gain[id], prestrafe[id],strafe_num[id], sync_[id]);
							}
							else if((jump_type[id]==Type_Double_CountJump || (multiscj[id]==1 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==1 && jump_type[id] == Type_Drop_CountJump)) && (failed_jump[id]))
							{
								set_hudmessage( f_stats_r, f_stats_g, f_stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT2", type, distance[id], maxspeed[id], gain[id], prest1[id],prest[id], prestrafe[id],strafe_num[id], sync_[id],dd_sync[id]);
							}
							else if((jump_type[id]==Type_Multi_CountJump || (multiscj[id]==2 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==2 && jump_type[id] == Type_Drop_CountJump)) && (failed_jump[id]))
							{
								set_hudmessage(f_stats_r, f_stats_g, f_stats_b, stats_x, stats_y, 0, 6.0, 2.5, 0.1, 0.3, h_stats );
								show_hudmessage( i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT6", type, distance[id], maxspeed[id], gain[id], prest1[id],prestrafe[id],ducks[id],strafe_num[id], sync_[id],dd_sync[id]);
							}
													
							if(jump_type[id] != Type_Slide && streifstat[id]==true && jump_type[id]!=Type_None && (failed_jump[id]))
							{
								set_hudmessage(f_stats_r, f_stats_g, f_stats_b, strafe_x, strafe_y, 0, 6.0, 2.5, 0.1, 0.3, h_streif );
								show_hudmessage(i,"%L",LANG_SERVER,"UQSTATS_HUD_PRINT7",strMessBuf);  //stata streifof fail
							}
							
							if(kz_stats_pre[id]==true && (jump_type[id]==Type_Multi_CountJump || (multiscj[id]==2 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==2 && jump_type[id] == Type_Drop_CountJump)) && (failed_jump[id]))
							{
								set_hudmessage(f_stats_r, f_stats_g, f_stats_b, duck_x,duck_y, 0, 6.0, 2.5, 0.1, 0.3, h_duck);	
								show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_HUD_PRINT7",strMBuf); //stata duckov fail
							}					
						}
					}
					
					//console prints
					for( new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]) && g_lj_stats[i]==true)
						{
							copy(strMessBuf,strLen,strMess);
							if((jump_type[id]==Type_ladderBhop || jump_type[id]==Type_ladder || jump_type[id]==Type_Drop_BhopLongJump || jump_type[id]==Type_WeirdLongJump || jump_type[id]==Type_LongJump || jump_type[id]==Type_HighJump) )
							{
								client_print( i, print_console, " ");
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT1", type, distance[id], maxspeed[id], gain[id], prestrafe[id], strafe_num[id],sync_[id] );
							}
							else if(jump_type[id]==Type_Multi_Bhop )
							{
								client_print( i, print_console, " ");
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT2", type, distance[id], maxspeed[id], gain[id], prestrafe[id], strafe_num[id],sync_[id] ,bhop_num[id]);
							
							}
							else if(jump_type[id]==Type_CountJump || (multiscj[id]==0 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==0 && jump_type[id] == Type_Drop_CountJump))
							{
								client_print( i, print_console, " ");
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT3", type, distance[id], maxspeed[id], gain[id], prest1[id], prestrafe[id], strafe_num[id],sync_[id],dd_sync[id] );
							}
							else if(jump_type[id]==Type_Bhop_In_Duck || jump_type[id]==Type_Up_Bhop_In_Duck || jump_type[id]==Type_Up_Stand_Bhop || jump_type[id]==Type_Up_Bhop || jump_type[id]==Type_Real_ladder_Bhop || jump_type[id]==Type_DuckBhop || jump_type[id] == Type_BhopLongJump || jump_type[id] == Type_StandupBhopLongJump)
							{
								client_print( i, print_console, " ");
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT1", type, distance[id], maxspeed[id], gain[id], prestrafe[id], strafe_num[id],sync_[id] );
							}
							else if(jump_type[id]==Type_Double_CountJump || (multiscj[id]==1 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==1 && jump_type[id] == Type_Drop_CountJump))
							{
								client_print( i, print_console, " ");
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT4", type, distance[id], maxspeed[id], gain[id], prest1[id],prest[id], prestrafe[id], strafe_num[id],sync_[id],dd_sync[id] );
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT5",dd_sync[id]);
							
							}
							else if(jump_type[id]==Type_Multi_CountJump || (multiscj[id]==2 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==2 && jump_type[id] == Type_Drop_CountJump))
							{
								client_print( i, print_console, " ");
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT6", type, distance[id], maxspeed[id], gain[id], prest1[id],prestrafe[id],ducks[id],strafe_num[id], sync_[id]);
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT5",dd_sync[id]);
							
							}
							
							if(jump_type[id]!=Type_None)
							{
								static strMessHalf[40];
								for(jj=INFO_ONE; (jj <= strafe_num[id]) && (jj < NSTRAFES);jj++)
								{
										strtok(strMessBuf,strMessHalf,40,strMessBuf,40*NSTRAFES,'^n');
										replace(strMessHalf,40,"^n","");
										client_print(i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT7", strMessHalf);
								}
							}
							
							if(jump_type[id]==Type_ladder && strafe_stat_speed[id][0][0]!=0)
							{
								client_print(i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT12", strafe_stat_speed[id][0][0]);
							}
							else if(jump_type[id]==Type_Multi_CountJump || (multiscj[id]==2 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==2 && jump_type[id] == Type_Drop_CountJump))
							{
								client_print( i, print_console, "..................................................");
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT8",prest1[id]);
								for(new ss=2;ss<=ducks[id];ss++)
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT9",ss-1,statsduckspeed[id][ss]);
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT10",prestrafe[id]);
								client_print( i, print_console, "..................................................");
							}
							else if(jump_type[id]==Type_Double_CountJump || (multiscj[id]==1 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==1 && jump_type[id] == Type_Drop_CountJump))
							{
								client_print( i, print_console, "..................................................");
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT8",prest1[id]);
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT11",prest[id]);
								client_print( i, print_console, "%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT10",prestrafe[id]);
								client_print( i, print_console, "..................................................");
							}
							else if(jump_type[id]==Type_Up_Bhop || jump_type[id]==Type_Up_Stand_Bhop || jump_type[id]==Type_Up_Bhop_In_Duck)
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT13",upheight[id]);
							}
							if(wpn!=29 && wpn!=17 && wpn!=16)
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT14",weapon_name);
							}
							if(fps_hight[id] && jump_type[id]!=Type_ladder)
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT15");
								fps_hight[id]=false;
							}
							if(ladderbug[id])
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT16");
								ladderbug[id]=false;
							}
							if(find_ladder[id] && jump_type[id]==Type_DuckBhop)
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT17");
								find_ladder[id]=false;
							}
							if(touch_somthing[id])
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT18");
							}
							if(Show_edge[id] && failed_jump[id]==false && jump_type[id]!=Type_ladder && jumpblock[id]<user_block[id][0] && jumpblock[id]>user_block[id][1] && edgedist[id]<100.0 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
							{
								if((jumpblock[id]+Landing+edgedist[id])>(distance[id]+10.0) || Landing<=0.0)
								{
									client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT21",jumpblock[id],edgedist[id]);
								}
								else if(land_bug )
								{
									client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT19",jumpblock[id],edgedist[id],Landing);
								}
								else client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT20",jumpblock[id],edgedist[id],Landing);
							}
							else if(Show_edge[id] && failed_jump[id] && jump_type[id]!=Type_ladder && jumpblock[id]<user_block[id][0] && jumpblock[id]>user_block[id][1] && edgedist[id]<100.0 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT21",jumpblock[id],edgedist[id]);
							}
							else if(Show_edge_Fail[id] && failed_jump[id] && jump_type[id]!=Type_ladder && edgedist[id]<100.0 && edgedist[id]!=0.0)
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CONSOLE_PRINT22",edgedist[id]);	
							}
							if(find_script)
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_PROBSCRIPT");
								
							}
							if(trigger_protection[id])
							{
								client_print( i, print_console,"%L",LANG_SERVER,"UQSTATS_CTRIGGERPROTECT");
								trigger_protection[id]=false;
							}
						}
					}
					
					if(wpn==29 || wpn==17 || wpn==16 || wpn==4 || wpn==9 || wpn==25)
					{
						formatex(weapon_name,20,"");
					}
					else
					{
						new tmp_str[21];
						
						formatex(tmp_str,20,"[");
						add(weapon_name, 20, "]");
						add(tmp_str, 20, weapon_name);
						formatex(weapon_name,20,tmp_str);
					}
					
					if(find_script)
					{
						new punishment[64];
						formatex(punishment,63,"%L",LANG_SERVER,"UQSTATS_PUNISHBLOCK");
						
						switch(uq_script_punishment)
						{
							case 1:
							{
								formatex(punishment,63,"%L",LANG_SERVER,"UQSTATS_PUNISHKICK");
							}
							case 2:
							{
								formatex(punishment,63,"%L",LANG_SERVER,"UQSTATS_PUNISHBAN",uq_ban_minutes);
							}
						}
						
						if(jump_type[id]!=Type_None)
						{
							Log_script(FullJumpFrames[id],angles_arry[id],id,distance[id],maxspeed[id],prestrafe[id],strafe_num[id],goodSyncTemp*100/(goodSyncTemp+badSyncTemp),Jtype[id],weapon_name1,punishment,strMess);
					
							switch(uq_script_punishment)
							{
								case 1:
								{
									kick_function(id,Jtype[id]);										
								}
								case 2:
								{
									ban_function(id,Jtype[id]);
								}
							}
						}
					}
					
					
					new block_colorchat_dist;
					if(uq_block_chat_show)
					{
						block_colorchat_dist=god_dist;
						
						switch(uq_block_chat_min)
						{
							case 0:
								block_colorchat_dist=good_dist;
							case 1:
								block_colorchat_dist=pro_dist;
							case 2:
								block_colorchat_dist=holy_dist;
							case 3:
								block_colorchat_dist=leet_dist;
							case 4:
								block_colorchat_dist=god_dist;
						}
					}
					
					new block_str[20];
					
					if(jumpblock[id]>=block_colorchat_dist && uq_block_chat_show && jumpblock[id]<user_block[id][0] && jumpblock[id]>user_block[id][1] && edgedist[id]<100.0 && edgedist[id]!=0.0 && (jumpblock[id]+edgedist[id])<distance[id])
					{
						formatex(block_str,19,"%L",LANG_SERVER,"UQSTATS_COLORCHAT_BLOCK",jumpblock[id]);
					}
					else
					{
						formatex(block_str,19,"");
					}
					
					new iPlayers[32],iNum; 
					get_players( iPlayers, iNum,"ch") ;
					
					for(new i=0;i<iNum;i++) 
					{ 
						new ids=iPlayers[i]; 
						if(gHasColorChat[ids] ==true || ids==id)
						{	
							if( !failed_jump[id] )
							{
								if((jump_type[id]==Type_Bhop_In_Duck || jump_type[id]==Type_Up_Bhop_In_Duck || jump_type[id]==Type_Up_Stand_Bhop || jump_type[id]==Type_Up_Bhop || jump_type[id]==Type_DuckBhop || jump_type[id]==Type_Real_ladder_Bhop || jump_type[id]==Type_Double_CountJump
										     || (multiscj[id]!=2 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]!=2 && jump_type[id]==Type_Drop_CountJump) || jump_type[id]==Type_CountJump
										     || jump_type[id]==Type_Drop_BhopLongJump || jump_type[id]==Type_BhopLongJump || jump_type[id]==Type_StandupBhopLongJump || jump_type[id]==Type_WeirdLongJump
										     || jump_type[id]==Type_ladderBhop || jump_type[id]==Type_ladder || jump_type[id]==Type_LongJump || jump_type[id]==Type_HighJump))
								{
									if ( distance[id] >= god_dist ) {
										if( uq_sounds && enable_sound[ids]==true )
										{
											client_cmd(ids, "speak misc/mod_godlike");
										}
										if( uq_light ) krasnota(id);
										Color_Chat_Lang(ids, RED, "%L",LANG_SERVER,"UQSTATS_CCHAT_NORMALA",prefix, g_playername[id], distance[id],Jtype[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
									else if ( distance[id] >= leet_dist  ) {
										if( uq_sounds && enable_sound[id]==true ) client_cmd(id, "speak misc/mod_wickedsick");
									
										if( uq_light ) krasnota(id);
										Color_Chat_Lang(ids, RED, "%L",LANG_SERVER,"UQSTATS_CCHAT_NORMALA",prefix, g_playername[id], distance[id],Jtype[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
									else if ( distance[id] >= holy_dist ) {
										if( uq_sounds && enable_sound[id]==true ) client_cmd(id, "speak misc/holyshit");
									
										if( uq_light ) sineva(id);
										Color_Chat_Lang(ids, BLUE, "%L",LANG_SERVER,"UQSTATS_CCHAT_NORMALA",prefix, g_playername[id], distance[id],Jtype[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
									else if ( distance[id] >= pro_dist ) {
										if( uq_sounds && enable_sound[id]==true ) client_cmd(id, "speak misc/perfect");
									
										Color_Chat_Lang(ids, GREEN, "%L",LANG_SERVER,"UQSTATS_CCHAT_NORMALB",prefix, g_playername[id], distance[id],Jtype[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
									else if ( distance[id] >=good_dist ) {
										if( uq_sounds && enable_sound[id]==true ) client_cmd(id, "speak misc/impressive");
									
										Color_Chat_Lang(ids, GREY, "%L",LANG_SERVER,"UQSTATS_CCHAT_NORMALA",prefix, g_playername[id], distance[id],Jtype[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
								}
								else if(jump_type[id]==Type_Multi_CountJump || (multiscj[id]==2 && jump_type[id]==Type_StandUp_CountJump) || (multidropcj[id]==2 && jump_type[id]==Type_Drop_CountJump))
								{
									if ( distance[id] >= god_dist ) {
										if( uq_sounds && enable_sound[ids]==true )
										{
											client_cmd(ids, "speak misc/mod_godlike");
										}
										if( uq_light ) krasnota(id);
										Color_Chat_Lang(ids,RED,"%L",LANG_SERVER,"UQSTATS_COLORCHAT_MULTIDUCKA",prefix, g_playername[id], distance[id],Jtype[id],ducks[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
									else if ( distance[id] >= leet_dist  ) {
										if( uq_sounds && enable_sound[id]==true ) client_cmd(id, "speak misc/mod_wickedsick");
									
										if( uq_light ) krasnota(id);
										Color_Chat_Lang(ids,RED,"%L",LANG_SERVER,"UQSTATS_COLORCHAT_MULTIDUCKA",prefix, g_playername[id], distance[id],Jtype[id],ducks[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
									else if ( distance[id] >= holy_dist ) {
										if( uq_sounds && enable_sound[id]==true ) client_cmd(id, "speak misc/holyshit");
									
										if( uq_light ) sineva(id);
										Color_Chat_Lang(ids,BLUE,"%L",LANG_SERVER,"UQSTATS_COLORCHAT_MULTIDUCKA",prefix, g_playername[id], distance[id],Jtype[id],ducks[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
									else if ( distance[id] >= pro_dist ) {
										if( uq_sounds && enable_sound[id]==true ) client_cmd(id, "speak misc/perfect");
									
										Color_Chat_Lang(ids,GREEN,"%L",LANG_SERVER,"UQSTATS_COLORCHAT_MULTIDUCKB",prefix, g_playername[id], distance[id],Jtype[id],ducks[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
									else if ( distance[id] >=good_dist ) {
										if( uq_sounds && enable_sound[id]==true ) client_cmd(id, "speak misc/impressive");
									
										Color_Chat_Lang(ids,GREY,"%L",LANG_SERVER,"UQSTATS_COLORCHAT_MULTIDUCKA",prefix, g_playername[id], distance[id],Jtype[id],ducks[id],block_str,weapon_name,pre_type[id],airacel[id]);
									}
								}
							}	
						}
					}
					
					// UberBeam start
					if( kz_beam[id]==true)
						{
						for( new i = 0; i < 100; i++ ) {
							if( gBeam_points[id][i][0] == 0.0
							&& gBeam_points[id][i][1] == 0.0
							&& gBeam_points[id][i][2] == 0.0 ) {
								continue;
							}
						
							message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id);
							write_byte ( TE_BEAMPOINTS );
							if( i == 100 ) {
								write_coord(floatround(gBeam_points[id][i][0]));
								write_coord(floatround(gBeam_points[id][i][1]));
								write_coord(floatround(jumpoff_origin[id][2]-34.0));
								write_coord(floatround(land_origin[0]));
								write_coord(floatround(land_origin[1]));
								write_coord(floatround(jumpoff_origin[id][2]-34.0));
							} else {
								if ( i > 2 ) {
									write_coord(floatround(gBeam_points[id][i-1][0]));
									write_coord(floatround(gBeam_points[id][i-1][1]));
									write_coord(floatround(jumpoff_origin[id][2]-34.0));
								} else {
									write_coord(floatround(jumpoff_origin[id][0]));
									write_coord(floatround(jumpoff_origin[id][1]));
									write_coord(floatround(jumpoff_origin[id][2]-34.0));
								}
								write_coord(floatround(gBeam_points[id][i][0]));
								write_coord(floatround(gBeam_points[id][i][1]));
								write_coord(floatround(jumpoff_origin[id][2]-34.0));
							}
							write_short(gBeam);
							write_byte(1);
							write_byte(5);
							write_byte(30);
							write_byte(20);
							write_byte(0);
							if(gBeam_duck[id][i])
							{
								
								write_byte(255);
								write_byte(0);
								write_byte(0);
							}
							else if(beam_type[id]==2 && gBeam_button[id][i])
							{
								if(gBeam_button_what[id][i]==1)
								{
									write_byte(0);
									write_byte(255);
									write_byte(0);
								}
								else if(gBeam_button_what[id][i]==2)
								{
									write_byte(0);
									write_byte(0);
									write_byte(255);
								}
							}
							else 
							{
								write_byte(255);
								write_byte(255);
								write_byte(0);
							}
							write_byte(200);
							write_byte(200);
							message_end();
							
						}
					}
					
					JumpReset(id,25);
			
				}
				
				new bool:posible_dropcj;
				if(button & IN_DUCK && !(oldbuttons &IN_DUCK) && (jump_type[id]==Type_Drop_BhopLongJump || jump_type[id]==Type_WeirdLongJump))
				{
					new Float:tmpdropcj_start[3],Float:tmpdropcj_end[3],Float:tmpdropcj_frame[3];
					pev(id, pev_origin, origin);
					
					tmpdropcj_start=origin;
					tmpdropcj_start[2]=tmpdropcj_start[2]-36.0;
					
					tmpdropcj_end=tmpdropcj_start;
					tmpdropcj_end[2]=tmpdropcj_end[2]-20;
					
					engfunc(EngFunc_TraceLine,origin,tmpdropcj_end, IGNORE_GLASS, id, 0); 
					get_tr2( 0, TR_vecEndPos, tmpdropcj_frame);
					
					if(tmpdropcj_start[2]-tmpdropcj_frame[2]<=18.0)
					{
						posible_dropcj=true;
						in_duck[id]=false;
					}
					else posible_dropcj=false;
					
				}
				
				if(!in_air[id] && button & IN_DUCK && !(oldbuttons &IN_DUCK) && (flags & FL_ONGROUND || posible_dropcj) && !in_duck[id] && UpcjFail[id]==false)
				{	
					if( get_gametime( ) - duckoff_time[id] < 0.3 )
					{
						started_multicj_pre[id] = true;
						prest[id]= speed[id]; 
						ducks[id]++;
						statsduckspeed[id][ducks[id]]=speed[id];
						new Float:tmporg_z;
						if(is_user_ducking(id))
						{
							tmporg_z=origin[2]+18.0;
						}
						else tmporg_z=origin[2];
						
						if(tmporg_z-first_duck_z[id]>4.0)
						{
							JumpReset(id,654);
							if(dropbhop[id])
								dropbhop[id]=false;
							if(in_ladder[id])
								in_ladder[id]=false;
								
							dropupcj[id]=true;
							
							return FMRES_IGNORED;
						}
						
						for( new i = INFO_ONE; i < max_players; i++ )
						{
							if( (i == id || is_spec_user[i]))
							{
								if(showpre[id]==true && showduck[id]==true)
								{
									set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
									show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_DUCKPRE",speed[i]);
								}
							}
						}
					}
					else
					{
						pev(id, pev_origin, origin);
						
						ducks[id]=0;
						prest1[id]= speed[id]; //ground pre
						ducks[id]++;//schetchik duckov
						duckstartz[id]=origin[2];
						statsduckspeed[id][ducks[id]]=speed[id];//dlya vivoda stati po ducka
						
						started_cj_pre[id] = true;
						nextbhop[id]=false;
						bhopaem[id]=false;
						if(first_duck_z[id] && (origin[2]-first_duck_z[id])>4)
						{
							dropupcj[id]=true;
							
							JumpReset(id,655);
							if(dropbhop[id])
								dropbhop[id]=false;
							if(in_ladder[id])
								in_ladder[id]=false;
								
							return FMRES_IGNORED;
						}
						if(ducks[id]==1) 
						{
							if(is_user_ducking(id))
							{
								first_duck_z[id]=origin[2]+18.0;
							}
							else first_duck_z[id]=origin[2];
						}
						if(dropupcj[id]==false && get_gametime()-FallTime[id]<0.3 && (in_ladder[id] || jump_type[id]==Type_ladderBhop || jump_type[id]==Type_Drop_BhopLongJump || jump_type[id]==Type_WeirdLongJump || dropbhop[id]))
						{
							in_ladder[id]=false;
							jump_type[id] = Type_Drop_CountJump;
							formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DRCJ");
							formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DRCJ");
							multidropcj[id]=0;
							dropaem[id]=true;
							
							if(dropbhop[id])
								dropbhop[id]=false;
							if(in_ladder[id])
								in_ladder[id]=false;
						}
						
						for( new i = INFO_ONE; i < max_players; i++ )
						{
							if( (i == id || is_spec_user[i]))
							{
								if(showpre[id]==true && showduck[id]==true)
								{
									set_hudmessage(prest_r,prest_g, prest_b, prest_x, prest_y, 0, 0.0, 0.7, 0.1, 0.1, h_prest);
									show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_DUCKPRE",speed[i]);
								}
							}
						}
					}
					
					in_duck[id] = true;
				}
				else if( !in_air[id] && oldbuttons & IN_DUCK && (flags & FL_ONGROUND || posible_dropcj) && UpcjFail[id]==false)
				{
					if( !is_user_ducking( id ) )
					{	
						in_duck[id] = false;
						if( started_cj_pre[id] )
						{
							started_cj_pre[id] = false;
							
							duckoff_time[id] = get_gametime( );
							duckoff_origin[id] = origin;
							FallTime1[id]=get_gametime();
						
							strafe_num[id] = 0;
							TempSpeed[id] = 0.0;
							
							if(jump_type[id] != Type_Drop_CountJump)
							{
								jump_type[id] = Type_CountJump;
								jump_typeOld[id]=1;			
								if(nextbhop[id] || bhopaem[id])
								{
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_CJAJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_CJAJ");
									
									CjafterJump[id]=1;
			
									ddafterJump[id]=true;
								}
								else
								{
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_CJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_CJ");
									
									CjafterJump[id]=0;
									ddafterJump[id]=false;
								}
								
							}
							else 
							{
								FallTime[id]=get_gametime();
								multidropcj[id]=0;
								jump_typeOld[id]=1;
							}
						}
						else if( started_multicj_pre[id] )
						{
							started_multicj_pre[id] = false;
							
							duckoff_time[id] = get_gametime( );
							duckoff_origin[id] = origin;
							FallTime1[id]=get_gametime();
							
							strafe_num[id] = 0;
							TempSpeed[id] = 0.0;
							
							if(jump_type[id] != Type_Drop_CountJump)
							{
								jump_type[id] = Type_Double_CountJump;
								jump_typeOld[id]=2;
								if(nextbhop[id] || bhopaem[id])
								{
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DCJAJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DCJAJ");
									
									CjafterJump[id]=2;
									ddafterJump[id]=true;
								}
								else
								{
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_DCJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_DCJ");
									
									CjafterJump[id]=0;
									ddafterJump[id]=false;
								}
							}
							else 
							{	
								multidropcj[id]=1;
								FallTime[id]=get_gametime();
								jump_typeOld[id]=2;
							}
						}
						if(ducks[id]>2)
						{	
							if(jump_type[id] != Type_Drop_CountJump)
							{
								jump_type[id] = Type_Multi_CountJump; //detect mcj
								jump_typeOld[id]=3;
								if(nextbhop[id] || bhopaem[id])
								{
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_MCJAJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_MCJAJ");
									
									CjafterJump[id]=3;
									ddafterJump[id]=true;
								}
								else
								{
									formatex(Jtype[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE_MCJ");
									formatex(Jtype1[id],32,"%L",LANG_SERVER,"UQSTATS_JTYPE1_MCJ");
									
									CjafterJump[id]=0;
									ddafterJump[id]=false;
								}
							}
							else 
							{	
								multidropcj[id]=2;
								FallTime[id]=get_gametime();
								jump_typeOld[id]=3;
							}	
						}
					}
				}
				
				
				if(flags&FL_ONGROUND && g_Jumped[id]==false && jofon[id] && movetype[id] != MOVETYPE_FLY)
				{
					new Float:new_origin[3],Float:tmpOrigin[3], Float:tmpOrigin2[3];
						
					pev(id,pev_origin,new_origin);
					new_origin[2]=new_origin[2]-36.1;
					
					pev(id, pev_velocity, velocity);
					
					for(new i=0,j=-18;i<3;i++,j=j+18)
					{
						tmpOrigin=new_origin;
						tmpOrigin2=new_origin;
						
						if(velocity[1]>0 && floatabs(velocity[1])>floatabs(velocity[0]))
						{
							tmpOrigin[1]=new_origin[1]+200;
							tmpOrigin2[1]=new_origin[1]-16;
							
							tmpOrigin[0]=tmpOrigin[0]+j;
							tmpOrigin2[0]=tmpOrigin2[0]+j;
							
						}
						else if(velocity[1]<0 && floatabs(velocity[1])>floatabs(velocity[0]))
						{
							tmpOrigin[1]=new_origin[1]-200;
							tmpOrigin2[1]=new_origin[1]+16;
							
							tmpOrigin[0]=tmpOrigin[0]+j;
							tmpOrigin2[0]=tmpOrigin2[0]+j;
						}
						else if(velocity[0]>0 && floatabs(velocity[0])>floatabs(velocity[1]))
						{
							tmpOrigin[0]=new_origin[0]+200;
							tmpOrigin2[0]=new_origin[0]-16;
							
							tmpOrigin[1]=tmpOrigin[1]+j;
							tmpOrigin2[1]=tmpOrigin2[1]+j;
						}
						else if(velocity[0]<0 && floatabs(velocity[0])>floatabs(velocity[1]))
						{
							tmpOrigin[0]=new_origin[0]-200;
							tmpOrigin2[0]=new_origin[0]+16;
							
							tmpOrigin[1]=tmpOrigin[1]+j;
							tmpOrigin2[1]=tmpOrigin2[1]+j;
						}
						
						new Float:tmpEdgeOrigin[3];
						
						engfunc(EngFunc_TraceLine,tmpOrigin,tmpOrigin2, IGNORE_GLASS, id, 0); 
						get_tr2( 0, TR_vecEndPos, tmpEdgeOrigin);
					
						if(get_distance_f(tmpEdgeOrigin,tmpOrigin2)!=0.0)
						{
							jof[id]=get_distance_f(tmpEdgeOrigin,tmpOrigin2)-0.031250;
						}
					}
				}
				else if(!(flags&FL_ONGROUND) && g_Jumped[id] && edgedone[id]==false && movetype[id] != MOVETYPE_FLY)
				{
					new onbhopblock,bhop_block[1];
					
					find_sphere_class(id,"func_door", 48.0, bhop_block, 1, Float:{0.0, 0.0, 0.0} );
					
					if(bhop_block[0])
					{
						onbhopblock=true;
					}
					else
					{
						onbhopblock=false;
					}
					
					
					new Float:tmpblock[3],tmpjblock[3],Float:new_origin[3],Float:tmpOrigin[3], Float:tmpOrigin2[3];
						
					new_origin=jumpoff_origin[id];
					if(onbhopblock)
					{
						new_origin[2]=new_origin[2]-40.0;
					}
					else new_origin[2]=new_origin[2]-36.1;
					
					pev(id, pev_velocity, velocity);
					
					new block_checking[3];
					
					for(new i=0,j=-18;i<3;i++,j=j+18)
					{
						tmpOrigin=new_origin;
						tmpOrigin2=new_origin;
						tmpblock=new_origin;
						if(velocity[1]>0 && floatabs(velocity[1])>floatabs(velocity[0]))
						{
							tmpOrigin[1]=new_origin[1]+100;
							tmpOrigin2[1]=new_origin[1]-16;
							
							tmpOrigin[0]=tmpOrigin[0]+j;
							tmpOrigin2[0]=tmpOrigin2[0]+j;
							
							tmpblock[1]=new_origin[1]+uq_maxedge+1;
							tmpblock[0]=tmpblock[0]+j;
						}
						else if(velocity[1]<0 && floatabs(velocity[1])>floatabs(velocity[0]))
						{
							tmpOrigin[1]=new_origin[1]-100;
							tmpOrigin2[1]=new_origin[1]+16;
							
							tmpOrigin[0]=tmpOrigin[0]+j;
							tmpOrigin2[0]=tmpOrigin2[0]+j;
							
							tmpblock[1]=new_origin[1]-uq_maxedge+1;
							tmpblock[0]=tmpblock[0]+j;
						}
						else if(velocity[0]>0 && floatabs(velocity[0])>floatabs(velocity[1]))
						{
							tmpOrigin[0]=new_origin[0]+100;
							tmpOrigin2[0]=new_origin[0]-16;
							
							tmpOrigin[1]=tmpOrigin[1]+j;
							tmpOrigin2[1]=tmpOrigin2[1]+j;
							
							tmpblock[0]=new_origin[0]+uq_maxedge+1;
							tmpblock[1]=tmpblock[1]+j;
						}
						else if(velocity[0]<0 && floatabs(velocity[0])>floatabs(velocity[1]))
						{
							tmpOrigin[0]=new_origin[0]-100;
							tmpOrigin2[0]=new_origin[0]+16;
							
							tmpOrigin[1]=tmpOrigin[1]+j;
							tmpOrigin2[1]=tmpOrigin2[1]+j;
							
							tmpblock[0]=new_origin[0]-uq_maxedge+1;
							tmpblock[1]=tmpblock[1]+j;
						}
						
						new Float:tmpEdgeOrigin[3];
						
						engfunc(EngFunc_TraceLine,tmpOrigin,tmpOrigin2, IGNORE_GLASS, id, 0); 
						get_tr2( 0, TR_vecEndPos, tmpEdgeOrigin);
								
						if(get_distance_f(tmpEdgeOrigin,tmpOrigin2)!=0.0)
						{
							edgedist[id]=get_distance_f(tmpEdgeOrigin,tmpOrigin2)-0.031250;
						}
						
						new Float:tmpblockOrigin[3];
						
						engfunc(EngFunc_TraceLine,tmpEdgeOrigin,tmpblock, IGNORE_GLASS, id, 0); 
						get_tr2( 0, TR_vecEndPos, tmpblockOrigin);
						
						if(get_distance_f(tmpblockOrigin,tmpEdgeOrigin)!=0.0)
						{
							tmpjblock[i]=floatround(get_distance_f(tmpblockOrigin,tmpEdgeOrigin),floatround_floor)+1;
						}
						
						new Float:checkblock1[3],Float:checkblock2[3];
						tmpblockOrigin[2]=tmpblockOrigin[2]-1.0;
						
						checkblock1=tmpblockOrigin;
						
						if(velocity[1]>0 && floatabs(velocity[1])>floatabs(velocity[0]))
						{
							checkblock1[1]=checkblock1[1]+2.0;
						}
						else if(velocity[1]<0 && floatabs(velocity[1])>floatabs(velocity[0]))
						{
							checkblock1[1]=checkblock1[1]-2.0;
						}
						else if(velocity[0]>0 && floatabs(velocity[0])>floatabs(velocity[1]))
						{
							checkblock1[0]=checkblock1[0]+2.0;
						}
						else if(velocity[0]<0 && floatabs(velocity[0])>floatabs(velocity[1]))
						{
							checkblock1[0]=checkblock1[0]-2.0;
						}
						
						checkblock2=checkblock1;
						checkblock2[2]=checkblock2[2]+18.0;
						
						new Float:tmpcheckblock[3];
						engfunc(EngFunc_TraceLine,checkblock2,checkblock1, IGNORE_GLASS, id, 0); 
						get_tr2( 0, TR_vecEndPos, tmpcheckblock);
						
						if(floatabs(tmpblockOrigin[2]-tmpcheckblock[2])==0.0)
						{
							block_checking[i]=1;
						}
						
						edgedone[id]=true;
					}
					
					if(tmpjblock[0]!=0 && tmpjblock[0]<=tmpjblock[1] && tmpjblock[0]<=tmpjblock[2])
					{
						if(!block_checking[0])
							jumpblock[id]=tmpjblock[0];
					}
					else if(tmpjblock[1]!=0 && tmpjblock[1]<=tmpjblock[2] && tmpjblock[0]<=tmpjblock[0])
					{
						if(!block_checking[1])
							jumpblock[id]=tmpjblock[1];
					}
					else if(tmpjblock[2]!=0 && tmpjblock[2]<=tmpjblock[1] && tmpjblock[0]<=tmpjblock[0])
					{
						if(!block_checking[2])
							jumpblock[id]=tmpjblock[2];
					}
					else jumpblock[id]=0;
					
					if(equali(mapname,"prochallenge_longjump"))
					{
						jumpblock[id]=jumpblock[id]-1;
					}
					
					new h_jof;
					
					if(jofon[id])
					{
						h_jof=h_speed;
					}
					else h_jof=4;
					
					for( new i = INFO_ONE; i < max_players; i++ )
					{
						if( (i == id || is_spec_user[i]))
						{	
							if(edgedist[i]!=0.0 && (showjofon[i] || jofon[id])) 
							{
								if(edgedist[i]>5.0)
								{
									set_hudmessage(255, 255, 255, -1.0, 0.6, 0, 0.0, 0.7, 0.0, 0.0, h_jof);
								}
								else
								{
									set_hudmessage(255, 0, 0, -1.0, 0.6, 0, 0.0, 0.7, 0.0, 0.0, h_jof);
								}
								show_hudmessage(i, "%L",LANG_SERVER,"UQSTATS_JOF", edgedist[id]);
							}
						}
					}
				}
				
				new Float:checkfall;
				if(jump_type[id]==Type_Drop_CountJump)
				{
					checkfall=0.5;
				}
				else checkfall=0.4;
				
				if(flags&FL_ONGROUND && firstfall_ground[id]==true && get_gametime()-FallTime1[id]>checkfall)
				{
					touch_ent[id]=false;		
					JumpReset(id,26);
					dropbhop[id]=false;
					ddnum[id]=0;
					x_jump[id]=false;
					firstfall_ground[id]=false;
					in_ladder[id]=false;
					nextbhop[id]=false;
					bhopaem[id]=false;
					UpcjFail[id]=false;
					slide_protec[id]=false;
					backwards[id]=false;
					ladderbug[id]=false;
					find_ladder[id]=false;
					touch_somthing[id]=false;
					duckbhop[id]=false;
					dropupcj[id]=false;
					ddstandcj[id]=false;
					ddforcjafterbhop[id]=false;
					ddforcjafterladder[id]=false;
					//if(donehook[id]) ColorChat(id, RED, "reset ground %d %f",jump_type[id],get_gametime()-FallTime1[id]);
					return FMRES_IGNORED;
				}
				
				if(flags&FL_ONGROUND && firstfall_ground[id]==false)
				{
					FallTime1[id]=get_gametime();
					firstfall_ground[id]=true;
				}
				else if(!(flags&FL_ONGROUND) && firstfall_ground[id]==true)
				{
					firstfall_ground[id]=false;
				}
				
				if(flags&FL_ONGROUND && donehook[id] && hookcheck[id]==false)
				{
					timeonground[id]=get_gametime();
					hookcheck[id]=true;
				}
				else if(!(flags&FL_ONGROUND) && donehook[id] && hookcheck[id])
				{
					timeonground[id]=get_gametime()-timeonground[id];
					hookcheck[id]=false;
					
					if(timeonground[id]>0.4)
					donehook[id]=false;
				}
			}
		}
	}
	return FMRES_IGNORED;
}
public kick_function(id,j_type_str[])
{
	new szReason[64];
	formatex(szReason,63,"%L",LANG_SERVER,"UQSTATS_KICKREASON",j_type_str);
	
	emessage_begin( MSG_ONE, SVC_DISCONNECT, _, id );
	ewrite_string( szReason );
	emessage_end( );
}
public ban_function(id,j_type_str[])
{
	new szReason[64];
	formatex(szReason,63,"%s_script",j_type_str);
	
	new ban_authid[64];
	
	switch(uq_ban_authid)
	{
		case 0:
			get_user_name(id,ban_authid,63);
		case 1:
			get_user_ip(id,ban_authid,63,1);
		case 2:
			get_user_authid(id,ban_authid,63);
	}	
	
	switch(uq_ban_type)
	{
		case 0:
		{
			switch(uq_ban_authid)
			{
				case 0:
					server_cmd("amx_ban %s %d %s",ban_authid,uq_ban_minutes,szReason);
				case 1:
					server_cmd("amx_addban %s %d %s",ban_authid,uq_ban_minutes,szReason);
				case 2:
					server_cmd("amx_addban ^"%s^" %d %s",ban_authid,uq_ban_minutes,szReason);
			}
		}
		case 1:
		{
			if(uq_ban_authid==2)
				server_cmd("amx_ban %d ^"%s^" %s",uq_ban_minutes,ban_authid,szReason);
			else if(uq_ban_authid==1 && uq_ban_authid==0)
				server_cmd("amx_ban %d %s %s",uq_ban_minutes,ban_authid,szReason);
		}
	}
}
public ScreenShoot(id)
{
	id=id-15237;
	client_cmd(id,"snapshot");
}

public HamTouch( id, entity )
{
	if ( g_alive[id] )
	{
		static Float:Vvelocity[3];
		pev(id, pev_velocity, Vvelocity);
		if(!equali(mapname,"slide_gs_longjumps") && !equali(mapname,"b2j_slide_longjumps"))
		{
			if(g_Jumped[id] && !(pev(id, pev_flags)&FL_ONGROUND) && floatround(Vvelocity[2], floatround_floor) < 0)
			{
				touch_somthing[id]=true;
			}
		}
	}
}
public fwdTouch(ent, id)
{
	static ClassName[32];
	if( pev_valid(ent) )
	{
		pev(ent, pev_classname, ClassName, 31);
	}
	
	static ClassName2[32];
	if( valid_id(id) )
	{
		pev(id, pev_classname, ClassName2, 31);
	}
	if( equali(ClassName2, "player") )
	{
		if( equali(ClassName, "func_train")
			|| equali(ClassName, "func_conveyor") 
			|| equali(ClassName, "trigger_push") || equali(ClassName, "trigger_gravity"))
		{
			if(valid_id(id))
			{
				touch_ent[id]=true;
				trigger_protection[id]=true;
				JumpReset(id,41);
				set_task(0.4,"JumpReset1", id);
			}
		}
	}
}

////////////////////////////////////////Save Tops///////////////////////////////////
public save_tops(type[],type_num,tmp_names[NTOP+1][33],tmp_ip[NTOP+1][33],tmp_distance[NTOP+1],tmp_maxspeed[NTOP+1],tmp_prestrafe[NTOP+1],tmp_strafes[NTOP+1],tmp_sync[NTOP+1],tmp_ddbh[NTOP+1])
{
	new profile[128];
	formatex(profile, 127, "%s/Top10_%s.dat", ljsDir,type);
	
	if( file_exists(profile) )
	{
		delete_file(profile);
	}
	new Data[256];
	new f = fopen(profile, "at");
	for(new i = 0; i < NTOP; i++)
	{
		new Trie:JumpStat;
		JumpStat = TrieCreate();
		
		TrieSetString(JumpStat, "name", tmp_names[i]);
		TrieSetString(JumpStat, "authid", tmp_ip[i]);
		TrieSetCell(JumpStat, "distance", tmp_distance[i]);
		TrieSetCell(JumpStat, "maxspeed", tmp_maxspeed[i]);
		TrieSetCell(JumpStat, "prestrafe", tmp_prestrafe[i]);
		TrieSetCell(JumpStat, "strafes", tmp_strafes[i]);
		TrieSetCell(JumpStat, "sync", tmp_sync[i]);
		
		if(type_num==21 || type_num==22 || type_num==23 || type_num==24 || type_num==25)
		{
			TrieSetCell(JumpStat, "ddbh", tmp_ddbh[i]);
			formatex(Data, 255, "^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^"^n",tmp_names[i],tmp_ip[i], tmp_distance[i],tmp_maxspeed[i],tmp_prestrafe[i],tmp_strafes[i],tmp_sync[i],tmp_ddbh[i]);	
		}
		else formatex(Data, 255, "^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^"^n",tmp_names[i],tmp_ip[i], tmp_distance[i],tmp_maxspeed[i],tmp_prestrafe[i],tmp_strafes[i],tmp_sync[i]);
		fputs(f, Data);
		
		new tmp_type[33];
		format(tmp_type, 32, "%s_%d_250", type, i);

		TrieSetCell(JData, tmp_type, JumpStat);
	}
	fclose(f);
}
public save_tops_block(type[],type_num,tmp_names[NTOP+1][33],tmp_ip[NTOP+1][33],tmp_distance[NTOP+1],tmp_block[NTOP+1],Float:tmp_jumpoff[NTOP+1])
{
	new profile[128];
	formatex(profile, 127, "%s/block20_%s.dat", ljsDir_block,type);
	
	if( file_exists(profile) )
	{
		delete_file(profile);
	}
	new Data[256];
	new f = fopen(profile, "at");
	for(new i = 0; i < NTOP; i++)
	{
		new Trie:JumpStat;
		JumpStat = TrieCreate();
		
		TrieSetString(JumpStat, "name", tmp_names[i]);
		TrieSetString(JumpStat, "authid", tmp_ip[i]);
		TrieSetCell(JumpStat, "distance", tmp_distance[i]);
		TrieSetCell(JumpStat, "block", tmp_block[i]);
		TrieSetCell(JumpStat, "jumpoff", tmp_jumpoff[i]);
		
		new tmp_type[33];
		format(tmp_type, 32, "block_%s_%d_250", type, i);

		TrieSetCell(JData_Block, tmp_type, JumpStat);
		
		formatex(Data, 255, "^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%f^"^n",tmp_names[i],tmp_ip[i],tmp_block[i],tmp_distance[i],tmp_jumpoff[i]);
		fputs(f, Data);
	}
	fclose(f);
}
public save_tops_block_weapon(type[],type_num,wpn_rank,tmp_names[NTOP+1][33],tmp_ip[NTOP+1][33],tmp_distance[NTOP+1],tmp_block[NTOP+1],Float:tmp_jumpoff[NTOP+1],tmp_weap_name[NTOP+1][33])
{
	new profile[128];
	formatex(profile, 127, "%s/block20_%s.dat", ljsDir_block_weapon[wpn_rank],type);
	
	if( file_exists(profile) )
	{
		delete_file(profile);
	}
	new Data[256];
	new f = fopen(profile, "at");
	for(new i = 0; i < NTOP; i++)
	{
		new Trie:JumpStat;
		JumpStat = TrieCreate();
		
		TrieSetString(JumpStat, "name", tmp_names[i]);
		TrieSetString(JumpStat, "authid", tmp_ip[i]);
		TrieSetCell(JumpStat, "distance", tmp_distance[i]);
		TrieSetCell(JumpStat, "block", tmp_block[i]);
		TrieSetCell(JumpStat, "jumpoff", tmp_jumpoff[i]);
		TrieSetCell(JumpStat, "pspeed", weapon_maxspeed(wpn_rank));
		TrieSetString(JumpStat, "wpn_name", tmp_weap_name[i]);
		
		new tmp_type[33];
		format(tmp_type, 32, "block_%s_%d_%d", type, i,weapon_maxspeed(wpn_rank));

		TrieSetCell(JData_Block, tmp_type, JumpStat);
		
		formatex(Data, 255, "^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%f^" ^"%s^"^n",tmp_names[i],tmp_ip[i],tmp_block[i],tmp_distance[i],tmp_jumpoff[i],tmp_weap_name[i]);
		fputs(f, Data);
	}
	fclose(f);
}
public save_tops_weapon(type[],type_num,wpn_rank,tmp_names[NTOP+1][33],tmp_ip[NTOP+1][33],tmp_distance[NTOP+1],tmp_maxspeed[NTOP+1],tmp_prestrafe[NTOP+1],tmp_strafes[NTOP+1],tmp_sync[NTOP+1],tmp_weap_name[NTOP+1][33])
{
	new profile[128];

	formatex(profile, 127, "%s/Top10_%s.dat",ljsDir_weapon[wpn_rank],type);

	if( file_exists(profile) )
	{
		delete_file(profile);
	}
	new Data[256];
	new f = fopen(profile, "at");
	for(new i = 0; i < NTOP; i++)
	{
		new Trie:JumpStat;
		JumpStat = TrieCreate();
		
		TrieSetString(JumpStat, "name", tmp_names[i]);
		TrieSetString(JumpStat, "authid", tmp_ip[i]);
		TrieSetCell(JumpStat, "distance", tmp_distance[i]);
		TrieSetCell(JumpStat, "maxspeed", tmp_maxspeed[i]);
		TrieSetCell(JumpStat, "prestrafe", tmp_prestrafe[i]);
		TrieSetCell(JumpStat, "strafes", tmp_strafes[i]);
		TrieSetCell(JumpStat, "sync", tmp_sync[i]);
		TrieSetCell(JumpStat, "pspeed", weapon_maxspeed(wpn_rank));
		TrieSetString(JumpStat, "wpn_name", tmp_weap_name[i]);
		
		new tmp_type[33];
		format(tmp_type, 32, "%s_%d_%d", type, i,weapon_maxspeed(wpn_rank));

		TrieSetCell(JData, tmp_type, JumpStat);
		
		formatex(Data, 255, "^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%s^"^n",tmp_names[i],tmp_ip[i], tmp_distance[i],tmp_maxspeed[i],tmp_prestrafe[i],tmp_strafes[i],tmp_sync[i],tmp_weap_name[i]);
		fputs(f, Data);
	}
	fclose(f);
}
public save_maptop()
{
	new profile[128];
	formatex(profile, 127, "%s/Top10_maptop.dat", ljsDir);
	
	if( file_exists(profile) )
	{
		delete_file(profile);
	}
	new Data[256];
	new f = fopen(profile, "at");
	for(new i = 0; i < NTOP; i++)
	{
		formatex(Data, 255, "^"%s^" ^"%s^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%d^" ^"%s^"^n",map_names[i],map_ip[i], map_dist[i],map_maxsped[i],map_prestr[i],map_streif[i],map_syncc[i],map_type[i]);
		fputs(f, Data);
	}
	fclose(f);
}
////////////////////////////////////////Read Tops///////////////////////////////////
public read_tops(type[],type_num)
{
	new profile[128],prodata[256];
	formatex(profile, 127, "%s/Top10_%s.dat", ljsDir,type);
	
	new tmp_names[33],tmp_ip[33];

	new f = fopen(profile, "rt" );
	new i = 0;
	while( !feof(f) && i < (NTOP))
	{
		new Trie:JumpStat;
		JumpStat = TrieCreate();
		
		fgets(f, prodata, 255);
		new d[25], m[25], p[25], sf[25],s[25];
		new duk[25];
		
		if(type_num==21 || type_num==22 || type_num==23 || type_num==24 || type_num==25)
		{
			parse(prodata, tmp_names, 32, tmp_ip, 32,  d, 25, m, 25, p, 25, sf, 25,s, 25, duk, 25);	
		}
		else 
		{
			parse(prodata, tmp_names, 32, tmp_ip, 32,  d, 25, m, 25, p, 25, sf, 25,s, 25);	
		}
				
		TrieSetString(JumpStat, "name", tmp_names);
		TrieSetString(JumpStat, "authid", tmp_ip);
		TrieSetCell(JumpStat, "distance", str_to_num(d));
		TrieSetCell(JumpStat, "maxspeed", str_to_num(m));
		TrieSetCell(JumpStat, "prestrafe", str_to_num(p));
		TrieSetCell(JumpStat, "strafes", str_to_num(sf));
		TrieSetCell(JumpStat, "sync", str_to_num(s));
		
		if(type_num==21 || type_num==22 || type_num==23 || type_num==24 || type_num==25)
		{
			TrieSetCell(JumpStat, "ddbh", str_to_num(duk));
		}
		
		new tmp_type[33];
		format(tmp_type, 32, "%s_%d_250", type, i);

		TrieSetCell(JData, tmp_type, JumpStat);
		
		i++;
	}
	fclose(f);
}
public read_tops_block(type[],type_num)
{
	new profile[128],prodata[256];
	
	if(type_num==6)
	{
		formatex(profile, 127, "%s/block20_hj.dat", ljsDir_block);	
	}
	else formatex(profile, 127, "%s/block20_%s.dat", ljsDir_block,type);
	
	new tmp_names[33],tmp_ip[33];
	
	new f = fopen(profile, "rt" );
	new i = 0;
	
	while( !feof(f) && i < (NTOP))
	{
		new Trie:JumpStat;
		JumpStat = TrieCreate();
		
		fgets(f, prodata, 255);
		new d[25], b[25], j[25];
		
		parse(prodata, tmp_names, 32, tmp_ip, 32,  b, 25, d, 25, j, 25);
		
		TrieSetString(JumpStat, "name", tmp_names);
		TrieSetString(JumpStat, "authid", tmp_ip);
		TrieSetCell(JumpStat, "block", str_to_num(b));
		TrieSetCell(JumpStat, "distance", str_to_num(d));
		TrieSetCell(JumpStat, "jumpoff", str_to_float(j));
		
		
		new tmp_type[33];
		if(type_num==6)
		{
			format(tmp_type, 32, "block_hj_%d_250", i);
		}
		else format(tmp_type, 32, "block_%s_%d_250", type, i);

		TrieSetCell(JData_Block, tmp_type, JumpStat);
		i++;
	}
	fclose(f);
}
public read_tops_block_weapon(type[],type_num,wpn_rank)
{
	new profile[128],prodata[256];
	
	if(type_num==9)
	{
		formatex(profile, 127, "%s/block20_hj.dat", ljsDir_block_weapon[wpn_rank]);	
	}
	else formatex(profile, 127, "%s/block20_%s.dat", ljsDir_block_weapon[wpn_rank],type);
	
	new tmp_names[33],tmp_ip[33],tmp_weap_name[33];
	
	new f = fopen(profile, "rt" );
	new i = 0;
	
	while( !feof(f) && i < (NTOP))
	{
		new Trie:JumpStat;
		JumpStat = TrieCreate();
		
		fgets(f, prodata, 255);
		new d[25], b[25], j[25];
		
		parse(prodata, tmp_names, 32, tmp_ip, 32,  b, 25, d, 25, j, 25,tmp_weap_name,32);
		
		TrieSetString(JumpStat, "name", tmp_names);
		TrieSetString(JumpStat, "authid", tmp_ip);
		TrieSetCell(JumpStat, "block", str_to_num(b));
		TrieSetCell(JumpStat, "distance", str_to_num(d));
		TrieSetCell(JumpStat, "jumpoff", str_to_float(j));
		TrieSetCell(JumpStat, "pspeed", weapon_maxspeed(wpn_rank));
		TrieSetString(JumpStat, "wpn_name", tmp_weap_name);
		
		new tmp_type[33];
		format(tmp_type, 32, "block_%s_%d_%d", type, i,weapon_maxspeed(wpn_rank));

		TrieSetCell(JData_Block, tmp_type, JumpStat);
		i++;
	}
	fclose(f);
}
public read_tops_weapon(type[],type_num,wpn_rank)
{	
	new profile[128],prodata[256];

	formatex(profile, 127, "%s/Top10_%s.dat",ljsDir_weapon[wpn_rank],type);
	
	new f = fopen(profile, "rt" );
	new i = 0;
	new tmp_names[33],tmp_ip[33],tmp_weap_name[33];
	
	while( !feof(f) && i < (NTOP))
	{
		new Trie:JumpStat;
		JumpStat = TrieCreate();
		
		fgets(f, prodata, 255);
		new d[25], m[25], p[25], sf[25],s[25];
		
		parse(prodata, tmp_names, 32, tmp_ip, 32,  d, 25, m, 25, p, 25, sf, 25,s, 25,tmp_weap_name,32);
		
		TrieSetString(JumpStat, "name", tmp_names);
		TrieSetString(JumpStat, "authid", tmp_ip);
		TrieSetString(JumpStat, "wpn_name", tmp_weap_name);
		TrieSetCell(JumpStat, "distance", str_to_num(d));
		TrieSetCell(JumpStat, "maxspeed", str_to_num(m));
		TrieSetCell(JumpStat, "prestrafe", str_to_num(p));
		TrieSetCell(JumpStat, "strafes", str_to_num(sf));
		TrieSetCell(JumpStat, "sync", str_to_num(s));
		TrieSetCell(JumpStat, "pspeed", weapon_maxspeed(wpn_rank));
		
		
		new tmp_type[33];
		format(tmp_type, 32, "%s_%d_%d", type, i,weapon_maxspeed(wpn_rank));
		
		TrieSetCell(JData, tmp_type, JumpStat);
		i++;
	}
	fclose(f);
}
////////////////////////////////////////Sort Tops///////////////////////////////////
public checktops1(id,type[],type_num,Float:dd,Float:mm,Float:pp,sf,s) 
{	
	new d,m,p,rb[64];
	
	d=floatround(dd*1000000);// todo: zdelat poproshe)
	m=floatround(mm*1000000);
	p=floatround(pp*1000000);
	
	switch(rankby) {
		case 0: {
			formatex(rb, 63, "%s", g_playername[id]);
		}
		case 1: {
			formatex(rb, 63, "%s", g_playerip[id]);
		}
		case 2: {
			formatex(rb, 63, "%s", g_playersteam[id]);
		}
	}
	
	new tmp_names[NTOP+1][33],tmp_ip[NTOP+1][33],tmp_distance[NTOP+1],tmp_maxspeed[NTOP+1],tmp_prestrafe[NTOP+1],tmp_strafes[NTOP+1],tmp_sync[NTOP+1];
		
	for (new i = 0; i < NTOP; i++)
	{
		new Trie:JS;
		new tmp_type[33];
	
		format(tmp_type, 32, "%s_%d_250", type, i);
		
		if(TrieKeyExists(JData, tmp_type))
		{	
			TrieGetCell(JData, tmp_type, JS);
			
			TrieGetString(JS,"name",tmp_names[i],32);
			TrieGetString(JS,"authid",tmp_ip[i],32);
			TrieGetCell(JS, "distance", tmp_distance[i]);
			TrieGetCell(JS, "maxspeed", tmp_maxspeed[i]);
			TrieGetCell(JS, "prestrafe", tmp_prestrafe[i]);
			TrieGetCell(JS, "strafes", tmp_strafes[i]);
			TrieGetCell(JS, "sync", tmp_sync[i]);
			
		}
		//server_print("%s",tmp_ip[i]);
	}
	
	for (new i = 0; i < NTOP; i++)
	{
		if( d > tmp_distance[i] )
		{
			new pos = i;	
			while( !equali(tmp_ip[pos], rb) && pos < NTOP )
			{
				pos++;
			}
			
			for (new j = pos; j > i; j--)
			{
				formatex(tmp_ip[j], 32, tmp_ip[j-1]);
				formatex(tmp_names[j], 32, tmp_names[j-1]);
				tmp_distance[j] = tmp_distance[j-1];
				tmp_maxspeed[j] = tmp_maxspeed[j-1];
				tmp_prestrafe[j] = tmp_prestrafe[j-1];
				tmp_strafes[j] = tmp_strafes[j-1];
				tmp_sync[j] = tmp_sync[j-1];
			}
			
			formatex(tmp_ip[i], 32, rb);
			formatex(tmp_names[i], 32, g_playername[id]);
			tmp_distance[i]=d;
			tmp_maxspeed[i] = m;
			tmp_prestrafe[i] = p;
			tmp_strafes[i] = sf;
			tmp_sync[i] = s;
			
			new tmp_ddbh[NTOP+1];
			save_tops(type,type_num,tmp_names,tmp_ip,tmp_distance,tmp_maxspeed,tmp_prestrafe,tmp_strafes,tmp_sync,tmp_ddbh);
			
			client_print(0,print_chat,"%L",LANG_SERVER,"UQSTATS_PRINTTOP1",prefix,g_playername[id],(i+1),type,dd);				
			
			if((i+1)<11 && uq_screen==1)
			{
				set_task(0.1,"ScreenShoot", id+15237);
			}
			break;
		}
		else if( equali(tmp_ip[i], rb)) break;	
	}
}

public checktops2(id,type[],type_num,Float:dd,Float:mm,Float:pp,sf,s,duk) 
{	
	new d,m,p,rb[64];
	
	d=floatround(dd*1000000);// todo: zdelat poproshe)
	m=floatround(mm*1000000);
	p=floatround(pp*1000000);
	
	switch(rankby) {
		case 0: {
			formatex(rb, 63, "%s", g_playername[id]);
		}
		case 1: {
			formatex(rb, 63, "%s", g_playerip[id]);
		}
		case 2: {
			formatex(rb, 63, "%s", g_playersteam[id]);
		}
	}
	
	new tmp_names[NTOP+1][33],tmp_ip[NTOP+1][33],tmp_distance[NTOP+1],tmp_maxspeed[NTOP+1],tmp_prestrafe[NTOP+1],tmp_strafes[NTOP+1],tmp_sync[NTOP+1],tmp_ddbh[NTOP+1];
		
	for (new i = 0; i < NTOP; i++)
	{
		new Trie:JS;
		new tmp_type[33];
	
		format(tmp_type, 32, "%s_%d_250", type, i);
		
		if(TrieKeyExists(JData, tmp_type))
		{	
			TrieGetCell(JData, tmp_type, JS);
			
			TrieGetString(JS,"name",tmp_names[i],32);
			TrieGetString(JS,"authid",tmp_ip[i],32);
			TrieGetCell(JS, "distance", tmp_distance[i]);
			TrieGetCell(JS, "maxspeed", tmp_maxspeed[i]);
			TrieGetCell(JS, "prestrafe", tmp_prestrafe[i]);
			TrieGetCell(JS, "strafes", tmp_strafes[i]);
			TrieGetCell(JS, "sync", tmp_sync[i]);
			TrieGetCell(JS, "ddbh", tmp_ddbh[i]);
		}
	}
	
	for (new i = 0; i < NTOP; i++)
	{
		if( d > tmp_distance[i] )
		{
			new pos = i;	
			while( !equali(tmp_ip[pos], rb) && pos < NTOP )
			{
				pos++;
			}
			
			for (new j = pos; j > i; j--)
			{
				formatex(tmp_ip[j], 32, tmp_ip[j-1]);
				formatex(tmp_names[j], 32, tmp_names[j-1]);
				tmp_distance[j] = tmp_distance[j-1];
				tmp_maxspeed[j] = tmp_maxspeed[j-1];
				tmp_prestrafe[j] = tmp_prestrafe[j-1];
				tmp_strafes[j] = tmp_strafes[j-1];
				tmp_sync[j] = tmp_sync[j-1];
				tmp_ddbh[j] = tmp_ddbh[j-1];
			}
			
			formatex(tmp_ip[i], 32, rb);
			formatex(tmp_names[i], 32, g_playername[id]);
			tmp_distance[i]=d;
			tmp_maxspeed[i] = m;
			tmp_prestrafe[i] = p;
			tmp_strafes[i] = sf;
			tmp_sync[i] = s;
			tmp_ddbh[i] = duk;
			
			save_tops(type,type_num,tmp_names,tmp_ip,tmp_distance,tmp_maxspeed,tmp_prestrafe,tmp_strafes,tmp_sync,tmp_ddbh);
			
			client_print(0,print_chat,"%L",LANG_SERVER,"UQSTATS_PRINTTOP1",prefix,g_playername[id],(i+1),type,dd);				
			
			if((i+1)<11 && uq_screen==1)
			{
				set_task(0.1,"ScreenShoot", id+15237);
			}
			break;
		}
		else if( equali(tmp_ip[i], rb)) break;	
	}
}
public checktops_block(id,type[],type_num,Float:dd,Float:jj,bb) 
{	
	new d,rb[64];
	
	d=floatround(dd*1000000);// todo: zdelat poproshe)
	
	switch(rankby) {
		case 0: {
			formatex(rb, 63, "%s", g_playername[id]);
		}
		case 1: {
			formatex(rb, 63, "%s", g_playerip[id]);
		}
		case 2: {
			formatex(rb, 63, "%s", g_playersteam[id]);
		}
	}
	
	new tmp_names[NTOP+1][33],tmp_ip[NTOP+1][33],tmp_distance[NTOP+1],tmp_block[NTOP+1],Float:tmp_jumpoff[NTOP+1];
		
	for (new i = 0; i < NTOP; i++)
	{
		new Trie:JS;
		new tmp_type[33];
	
		format(tmp_type, 32, "block_%s_%d_250", type, i);
		
		if(TrieKeyExists(JData_Block, tmp_type))
		{	
			TrieGetCell(JData_Block, tmp_type, JS);
			
			TrieGetString(JS,"name",tmp_names[i],32);
			TrieGetString(JS,"authid",tmp_ip[i],32);
			TrieGetCell(JS, "distance", tmp_distance[i]);
			TrieGetCell(JS, "block", tmp_block[i]);
			TrieGetCell(JS, "jumpoff", tmp_jumpoff[i]);
		}
	}
	
	
	new tmp_dist;
	for (new j = 0; j < NTOP; j++)
	{	
		if(bb==tmp_block[j] && equali(tmp_ip[j],rb))
		{
			tmp_dist=tmp_distance[j];
			break;
		}
		else tmp_dist=0;
	}
	
	for (new i = 0; i < NTOP; i++)
	{
		if( bb >= tmp_block[i] && d>tmp_dist)
		{
			new pos = i;	
			while( !equali(tmp_ip[pos],rb) && pos < NTOP )
			{
				pos++;
			}
			
			for (new j = pos; j > i; j--)
			{
				formatex(tmp_ip[j], 32, tmp_ip[j-1]);
				formatex(tmp_names[j], 32, tmp_names[j-1]);
				tmp_distance[j] = tmp_distance[j-1];
				tmp_block[j] = tmp_block[j-1];
				tmp_jumpoff[j] = tmp_jumpoff[j-1];
			}
			
			formatex(tmp_ip[i], 32, rb);
			formatex(tmp_names[i], 32, g_playername[id]);
			tmp_distance[i]=d;
			tmp_block[i] = bb;
			tmp_jumpoff[i] = jj;
			
			
			new oldBlock,start_array;
			oldBlock=tmp_block[0];
			start_array=0;
			
			for (new ii = 0; ii < NTOP; ii++)
			{
				if(tmp_block[ii]!=oldBlock)
				{
					new bool:check=true;
					while(check)
					{
						check=false;
						for(new jjj=start_array;jjj<ii-1;jjj++)
						{
							if(tmp_distance[jjj]<tmp_distance[jjj+1])
							{
								new buf1;
								buf1=tmp_distance[jjj];
								tmp_distance[jjj]=tmp_distance[jjj+1];
								tmp_distance[jjj+1]=buf1;
								
								new Float:buf2;
								buf2=tmp_jumpoff[jjj];
								tmp_jumpoff[jjj]=tmp_jumpoff[jjj+1];
								tmp_jumpoff[jjj+1]=buf2;
								
								new buf3[33];
								formatex(buf3,32,tmp_names[jjj]);
								formatex(tmp_names[jjj],32,tmp_names[jjj+1]);
								formatex(tmp_names[jjj+1],32,buf3);
								
								formatex(buf3,32,tmp_ip[jjj]);
								formatex(tmp_ip[jjj],32,tmp_ip[jjj+1]);
								formatex(tmp_ip[jjj+1],32,buf3);
								
								check=true;
							}
						}
					}
					start_array=ii;
				}
				oldBlock=tmp_block[ii];
			}
			
			save_tops_block(type,type_num,tmp_names,tmp_ip,tmp_distance,tmp_block,tmp_jumpoff);
			
			for (new j = 0; j < NTOP; j++)
			{	
				if(d==tmp_distance[j] && equali(tmp_ip[j],rb))
				{
					client_print(0,print_chat,"%L",LANG_SERVER,"UQSTATS_PRINTTOP2",prefix,g_playername[id],(j+1),type,bb);				
				}
			}
			if((i+1)<11 && uq_screen==1)
			{
				set_task(0.1,"ScreenShoot", id+15237);
			}
			break;
		}
		else if( equali(tmp_ip[i], rb)) break;	
	}
}
public checktops_block_weapon(id,pev_max_speed,wpn_rank,type[],type_num,Float:dd,Float:jj,bb,wpn_name[]) 
{	
	new d,rb[64];
	
	d=floatround(dd*1000000);// todo: zdelat poproshe)
	
	switch(rankby) {
		case 0: {
			formatex(rb, 63, "%s", g_playername[id]);
		}
		case 1: {
			formatex(rb, 63, "%s", g_playerip[id]);
		}
		case 2: {
			formatex(rb, 63, "%s", g_playersteam[id]);
		}
	}
	
	new tmp_weap_name[NTOP+1][33],tmp_names[NTOP+1][33],tmp_ip[NTOP+1][33],tmp_distance[NTOP+1],tmp_block[NTOP+1],Float:tmp_jumpoff[NTOP+1];
		
	for (new i = 0; i < NTOP; i++)
	{
		new Trie:JS;
		new tmp_type[33];
	
		format(tmp_type, 32, "block_%s_%d_%d", type, i,weapon_maxspeed(wpn_rank));
		
		if(TrieKeyExists(JData_Block, tmp_type))
		{	
			TrieGetCell(JData_Block, tmp_type, JS);
			
			TrieGetString(JS,"name",tmp_names[i],32);
			TrieGetString(JS,"authid",tmp_ip[i],32);
			TrieGetCell(JS, "distance", tmp_distance[i]);
			TrieGetCell(JS, "block", tmp_block[i]);
			TrieGetCell(JS, "jumpoff", tmp_jumpoff[i]);
			TrieGetString(JS, "wpn_name", tmp_weap_name[i],32);
		}
	}
	
	new tmp_dist;
	for (new j = 0; j < NTOP; j++)
	{	
		if(bb==tmp_block[j] && equali(tmp_ip[j],rb))
		{
			tmp_dist=tmp_distance[j];
			break;
		}
		else tmp_dist=0;
	}
	
	for (new i = 0; i < NTOP; i++)
	{
		if( bb >= tmp_block[i] && d>tmp_dist)
		{
			new pos = i;	
			while( !equali(tmp_ip[pos],rb) && pos < NTOP )
			{
				pos++;
			}
			
			for (new j = pos; j > i; j--)
			{
				formatex(tmp_ip[j], 32, tmp_ip[j-1]);
				formatex(tmp_names[j], 32, tmp_names[j-1]);
				formatex(tmp_weap_name[j], 32, tmp_weap_name[j-1]);
				tmp_distance[j] = tmp_distance[j-1];
				tmp_block[j] = tmp_block[j-1];
				tmp_jumpoff[j] = tmp_jumpoff[j-1];
			}
			
			formatex(tmp_ip[i], 32, rb);
			formatex(tmp_names[i], 32, g_playername[id]);
			formatex(tmp_weap_name[i], 32, wpn_name);
			tmp_distance[i]=d;
			tmp_block[i] = bb;
			tmp_jumpoff[i] = jj;
			
			
			new oldBlock,start_array;
			oldBlock=tmp_block[0];
			start_array=0;
			
			for (new ii = 0; ii < NTOP; ii++)
			{
				if(tmp_block[ii]!=oldBlock)
				{
					new bool:check=true;
					while(check)
					{
						check=false;
						for(new jjj=start_array;jjj<ii-1;jjj++)
						{
							if(tmp_distance[jjj]<tmp_distance[jjj+1])
							{
								new buf1;
								buf1=tmp_distance[jjj];
								tmp_distance[jjj]=tmp_distance[jjj+1];
								tmp_distance[jjj+1]=buf1;
								
								new Float:buf2;
								buf2=tmp_jumpoff[jjj];
								tmp_jumpoff[jjj]=tmp_jumpoff[jjj+1];
								tmp_jumpoff[jjj+1]=buf2;
								
								new buf3[33];
								formatex(buf3,32,tmp_names[jjj]);
								formatex(tmp_names[jjj],32,tmp_names[jjj+1]);
								formatex(tmp_names[jjj+1],32,buf3);
								
								formatex(buf3,32,tmp_ip[jjj]);
								formatex(tmp_ip[jjj],32,tmp_ip[jjj+1]);
								formatex(tmp_ip[jjj+1],32,buf3);
								
								formatex(buf3,32,tmp_weap_name[jjj]);
								formatex(tmp_weap_name[jjj],32,tmp_weap_name[jjj+1]);
								formatex(tmp_weap_name[jjj+1],32,buf3);
								
								check=true;
							}
						}
					}
					start_array=ii;
				}
				oldBlock=tmp_block[ii];
			}
			
			save_tops_block_weapon(type,type_num,wpn_rank,tmp_names,tmp_ip,tmp_distance,tmp_block,tmp_jumpoff,tmp_weap_name);
			
			for (new j = 0; j < NTOP; j++)
			{	
				if(d==tmp_distance[j] && equali(tmp_ip[j],rb))
				{
					client_print(0,print_chat,"%L",LANG_SERVER,"UQSTATS_PRINTTOP3",prefix,g_playername[id],(j+1),type,pev_max_speed,bb);				
				}
			}
			if((i+1)<11 && uq_screen==1)
			{
				set_task(0.1,"ScreenShoot", id+15237);
			}
			break;
		}
		else if( equali(tmp_ip[i], rb)) break;	
	}
}
public checktops_weapon(id,pev_max_speed,wpn_rank,type[],type_num,Float:dd,Float:mm,Float:pp,sf,s,wpn_name[]) 
{	
	new d,m,p,rb[64];
	
	d=floatround(dd*1000000);
	m=floatround(mm*1000000);
	p=floatround(pp*1000000);
	
	switch(rankby) {
		case 0: {
			formatex(rb, 63, "%s", g_playername[id]);
		}
		case 1: {
			formatex(rb, 63, "%s", g_playerip[id]);
		}
		case 2: {
			formatex(rb, 63, "%s", g_playersteam[id]);
		}
	}

	new tmp_weap_name[NTOP+1][33],tmp_names[NTOP+1][33],tmp_ip[NTOP+1][33],tmp_distance[NTOP+1],tmp_maxspeed[NTOP+1],tmp_prestrafe[NTOP+1],tmp_strafes[NTOP+1],tmp_sync[NTOP+1],tmp_wpnrank[NTOP+1];
		
	for (new i = 0; i < NTOP; i++)
	{
		new Trie:JS;
		new tmp_type[33];
	
		format(tmp_type, 32, "%s_%d_%d", type, i,weapon_maxspeed(wpn_rank));
		
		if(TrieKeyExists(JData, tmp_type))
		{	
			TrieGetCell(JData, tmp_type, JS);
			
			TrieGetString(JS,"name",tmp_names[i],32);
			TrieGetString(JS,"authid",tmp_ip[i],32);
			TrieGetCell(JS, "distance", tmp_distance[i]);
			TrieGetCell(JS, "maxspeed", tmp_maxspeed[i]);
			TrieGetCell(JS, "prestrafe", tmp_prestrafe[i]);
			TrieGetCell(JS, "strafes", tmp_strafes[i]);
			TrieGetCell(JS, "sync", tmp_sync[i]);
			TrieGetCell(JS, "pspeed", tmp_wpnrank[i]);
			TrieGetString(JS, "wpn_name", tmp_weap_name[i],32);
		}
	}
	
	for (new i = 0; i < NTOP; i++)
	{
		if( d > tmp_distance[i] )
		{
			new pos = i;

			while( !equali(tmp_ip[pos],rb) && pos < NTOP )
			{
				pos++;
			}
			
			for (new j = pos; j > i; j--)
			{
				formatex(tmp_ip[j], 32, tmp_ip[j-1]);
				formatex(tmp_names[j], 32, tmp_names[j-1]);
				formatex(tmp_weap_name[j], 32, tmp_weap_name[j-1]);
				tmp_distance[j] = tmp_distance[j-1];
				tmp_maxspeed[j] = tmp_maxspeed[j-1];
				tmp_prestrafe[j] = tmp_prestrafe[j-1];
				tmp_strafes[j] = tmp_strafes[j-1];
				tmp_sync[j] = tmp_sync[j-1];
			}
			
			formatex(tmp_ip[i], 32, rb);
			formatex(tmp_names[i], 32, g_playername[id]);
			formatex(tmp_weap_name[i], 32, wpn_name);
			tmp_distance[i]=d;
			tmp_maxspeed[i] = m;
			tmp_prestrafe[i] = p;
			tmp_strafes[i] = sf;
			tmp_sync[i] = s;
			
			save_tops_weapon(type,type_num,wpn_rank,tmp_names,tmp_ip,tmp_distance,tmp_maxspeed,tmp_prestrafe,tmp_strafes,tmp_sync,tmp_weap_name);

			client_print(0,print_chat,"%L",LANG_SERVER,"UQSTATS_PRINTTOP4",prefix,g_playername[id],(i+1),type,pev_max_speed,dd);				
			
			break;
		}
		else if( equali(tmp_ip[i], rb)) break;	
	}
}
public checkmap(id,Float:dd,Float:mm,Float:pp,sf,s,typ[]) 
{	new d,m,p,rb[64];
	
	d=floatround(dd*1000000);// todo: zdelat poproshe)
	m=floatround(mm*1000000);
	p=floatround(pp*1000000);
	
	switch(rankby) {
		case 0: {
			formatex(rb, 63, "%s", g_playername[id]);
		}
		case 1: {
			formatex(rb, 63, "%s", g_playerip[id]);
		}
		case 2: {
			formatex(rb, 63, "%s", g_playersteam[id]);
		}
	}

	for (new i = 0; i < NTOP; i++)
	{
		if( d > map_dist[i] )
		{
			new pos = i;	
			while( !equali(map_ip[pos],rb) && pos < NTOP )
			{
				pos++;
			}
			
			for (new j = pos; j > i; j--)
			{
				formatex(map_ip[j], 32, map_ip[j-1]);
				formatex(map_names[j], 32, map_names[j-1]);
				map_dist[j] = map_dist[j-1];
				map_maxsped[j] =map_maxsped[j-1];
				map_prestr[j] = map_prestr[j-1];
				map_streif[j] = map_streif[j-1];
				map_syncc[j] = map_syncc[j-1];
				formatex(map_type[j], 32, map_type[j-1]);
			}
			
			formatex(map_ip[i], 32, rb);
			formatex(map_names[i], 32, g_playername[id]);
			map_dist[i]=d;
			map_maxsped[i] = m;
			map_prestr[i] = p;
			map_streif[i] = sf;
			map_syncc[i] = s;
			formatex(map_type[i], 32, typ);
			
			save_maptop();
			
			new iPlayers[32],iNum; 
			get_players( iPlayers, iNum,"ch") ;
			for(new p=0;p<iNum;p++) 
			{ 
				new ids=iPlayers[p]; 
				if(gHasColorChat[ids] ==true)
				{	
					client_print(ids,print_chat,"%L",LANG_SERVER,"UQSTATS_PRINTTOP5",prefix,g_playername[id],(i+1),dd,typ);	
				}
			}
			break;
		}
		else if( equali(map_ip[i], rb)) break;	
	}
}
public fwdPostThink( id ) 
{
	if( g_alive[id] && g_userConnected[id] && g_pBot[id]==false)
	{
		if( g_Jumped[id] ) 
		{
			
			FullJumpFrames[id]++;
			
			static buttonsNew;
			
			static buttons;
			static Float:angle[3];
	
			buttonsNew = pev(id, pev_button);
			buttons = pev(id, pev_button);
			pev(id, pev_angles, angle);
			
			new Float:velocity[3];
			pev(id, pev_velocity, velocity);
			velocity[2] = 0.0;
			
			new Float:fSpeed = vector_length(velocity);
			
			
			if( old_angle1[id] > angle[1] ) {
				turning_left[id] = false;
				turning_right[id] = true;
			}
			else if( old_angle1[id] < angle[1] ) {
				turning_left[id] = true;
				turning_right[id] = false;
			} else {
				turning_left[id] = false;
				turning_right[id] = false;
			}
			//schetchik streifof
			if( !(strafecounter_oldbuttons[id]&IN_MOVELEFT) && buttonsNew&IN_MOVELEFT
			&& !(buttonsNew&IN_MOVERIGHT) && !(buttonsNew&IN_BACK) && !(buttonsNew&IN_FORWARD)
			&& (turning_left[id] || turning_right[id]) )
			{
				preessbutton[id]=true;
				button_what[id]=1;
				
				if(strafe_num[id] < NSTRAFES)
					strafe_stat_time[id][strafe_num[id]] = get_gametime();
				strafe_num[id] += INFO_ONE;
				
				if(strafe_num[id]>0 && strafe_num[id]<100) type_button_what[id][strafe_num[id]]=1;
			}
			else if( !(strafecounter_oldbuttons[id]&IN_MOVERIGHT) && buttonsNew&IN_MOVERIGHT
			&& !(buttonsNew&IN_MOVELEFT) && !(buttonsNew&IN_BACK) && !(buttonsNew&IN_FORWARD)
			&& (turning_left[id] || turning_right[id]) )
			{
				preessbutton[id]=true;
				button_what[id]=2;
				
				if(strafe_num[id] < NSTRAFES)
					strafe_stat_time[id][strafe_num[id]] = get_gametime();
				strafe_num[id] += INFO_ONE;
				
				if(strafe_num[id]>0 && strafe_num[id]<100) type_button_what[id][strafe_num[id]]=1;
			}
			else if( !(strafecounter_oldbuttons[id]&IN_BACK) && buttonsNew&IN_BACK
			&& !(buttonsNew&IN_MOVELEFT) && !(buttonsNew&IN_MOVERIGHT) && !(buttonsNew&IN_FORWARD)
			&& (turning_left[id] || turning_right[id]) )
			{
				preessbutton[id]=true;
				button_what[id]=1;
				
				if(strafe_num[id] < NSTRAFES)
					strafe_stat_time[id][strafe_num[id]] = get_gametime();
				strafe_num[id] += INFO_ONE;
				
				if(strafe_num[id]>0 && strafe_num[id]<100) type_button_what[id][strafe_num[id]]=2;
			}
			else if( !(strafecounter_oldbuttons[id]&IN_FORWARD) && buttonsNew&IN_FORWARD
			&& !(buttonsNew&IN_MOVELEFT) && !(buttonsNew&IN_MOVERIGHT) && !(buttonsNew&IN_BACK)
			&& (turning_left[id] || turning_right[id]) )
			{
				preessbutton[id]=true;
				button_what[id]=2;
		
				if(strafe_num[id] < NSTRAFES)
					strafe_stat_time[id][strafe_num[id]] = get_gametime();
				strafe_num[id] += INFO_ONE;
				
				if(strafe_num[id]>0 && strafe_num[id]<100) type_button_what[id][strafe_num[id]]=2;
			}
			
			if( buttonsNew&IN_MOVERIGHT
			|| buttonsNew&IN_MOVELEFT
			|| buttonsNew&IN_FORWARD
			|| buttonsNew&IN_BACK )
			{	
				//tskFps(id);
				if(strafe_num[id] < NSTRAFES)
				{
					if( fSpeed > speed[id])
					{
						strafe_stat_sync[id][strafe_num[id]][0] += INFO_ONE; 
					}
					else
					{
						strafe_stat_sync[id][strafe_num[id]][1] += INFO_ONE;
						if(uq_istrafe && strafe_num[id]<NSTRAFES && lost_frame_count[id][strafe_num[id]]<NVAR)
							line_lost[id][strafe_num[id]][lost_frame_count[id][strafe_num[id]]]=1;
					}
					
					if(uq_istrafe)
					{
						line_erase[id][strafe_num[id]]=lost_frame_count[id][strafe_num[id]];
						line_erase_strnum[id]=strafe_num[id];
					
						lost_frame_count[id][strafe_num[id]]++;
					}
				}
				
			}
			else if(uq_istrafe && strafe_num[id]<NSTRAFES)
				strafe_lost_frame[id][strafe_num[id]] += INFO_ONE;
			
			if( buttons&IN_MOVERIGHT && (buttons&IN_MOVELEFT || buttons&IN_FORWARD || buttons&IN_BACK) )
				strafecounter_oldbuttons[id] = INFO_ZERO;
			else if( buttons&IN_MOVELEFT && (buttons&IN_FORWARD || buttons&IN_BACK || buttons&IN_MOVERIGHT) )
				strafecounter_oldbuttons[id] = INFO_ZERO;
			else if( buttons&IN_FORWARD && (buttons&IN_BACK || buttons&IN_MOVERIGHT || buttons&IN_MOVELEFT) )
				strafecounter_oldbuttons[id] = INFO_ZERO;
			else if( buttons&IN_BACK && (buttons&IN_MOVERIGHT || buttons&IN_MOVELEFT || buttons&IN_FORWARD) )
				strafecounter_oldbuttons[id] = INFO_ZERO;
			else if( turning_left[id] || turning_right[id] )
				strafecounter_oldbuttons[id] = buttons;
		}
		else
		{	
			if(sync_doubleduck[id])
			{
				new Float:velocity[3];
				pev(id, pev_velocity, velocity);
				velocity[2] = 0.0;
				
				new Float:fSpeed = vector_length(velocity);
				
				if( fSpeed > speed[id])
				{
					doubleduck_stat_sync[id][0]++;
				}
				else
				{
					doubleduck_stat_sync[id][1]++;
				}
			}
		}
	}
}
public get_colorchat_by_distance(JumpType:type_jump,mSpeed,t_dist,bool:drop_a,multiscj_a,aircj)
{
	new dist_array[5];
	
	dist_array[2]=280;
		
	if(type_jump==Type_Double_CountJump || type_jump==Type_Multi_CountJump )
	{	
		dist_array[4]=dcj_god_dist;
		dist_array[3]=dcj_leet_dist;
		dist_array[2]=dcj_holy_dist;
		dist_array[1]=dcj_pro_dist;
		dist_array[0]=dcj_good_dist;
	}
	else if(type_jump==Type_LongJump || type_jump==Type_HighJump)
	{	
		dist_array[4]=lj_god_dist;
		dist_array[3]=lj_leet_dist;
		dist_array[2]=lj_holy_dist;
		dist_array[1]=lj_pro_dist;
		dist_array[0]=lj_good_dist;
	}
	else if(type_jump==Type_ladder)
	{	
		dist_array[4]=ladder_god_dist;
		dist_array[3]=ladder_leet_dist;
		dist_array[2]=ladder_holy_dist;
		dist_array[1]=ladder_pro_dist;
		dist_array[0]=ladder_good_dist;
	}
	else if(type_jump==Type_WeirdLongJump || type_jump==Type_Drop_CountJump || type_jump==Type_ladderBhop)
	{	
		dist_array[4]=wj_god_dist;
		dist_array[3]=wj_leet_dist;
		dist_array[2]=wj_holy_dist;
		dist_array[1]=wj_pro_dist;
		dist_array[0]=wj_good_dist;
	}
	else if(type_jump==Type_BhopLongJump || type_jump==Type_StandupBhopLongJump)
	{	
		dist_array[4]=bj_god_dist;
		dist_array[3]=bj_leet_dist;
		dist_array[2]=bj_holy_dist;
		dist_array[1]=bj_pro_dist;
		dist_array[0]=bj_good_dist;
	}
	else if(type_jump==Type_CountJump)
	{	
		dist_array[4]=cj_god_dist;
		dist_array[3]=cj_leet_dist;
		dist_array[2]=cj_holy_dist;
		dist_array[1]=cj_pro_dist;
		dist_array[0]=cj_good_dist;
	}
	else if(type_jump==Type_Drop_BhopLongJump)
	{	
		dist_array[4]=dbj_god_dist;
		dist_array[3]=dbj_leet_dist;
		dist_array[2]=dbj_holy_dist;
		dist_array[1]=dbj_pro_dist;
		dist_array[0]=dbj_good_dist;
	}
	else if(type_jump==Type_StandUp_CountJump && drop_a==false)
	{	
		if(multiscj_a==0)
		{
			dist_array[4]=scj_god_dist+aircj;
			dist_array[3]=scj_leet_dist+aircj;
			dist_array[2]=scj_holy_dist+aircj;
			dist_array[1]=scj_pro_dist+aircj;
			dist_array[0]=scj_good_dist+aircj;
		}
		else if(multiscj_a==1 || multiscj_a==2)
		{
			dist_array[4]=scj_god_dist+aircj+10;
			dist_array[3]=scj_leet_dist+aircj+10;
			dist_array[2]=scj_holy_dist+aircj+10;
			dist_array[1]=scj_pro_dist+aircj+10;
			dist_array[0]=scj_good_dist+aircj+10;
		}
	}
	else if(type_jump==Type_StandUp_CountJump && drop_a)
	{	
		dist_array[4]=dropscj_god_dist;
		dist_array[3]=dropscj_leet_dist;
		dist_array[2]=dropscj_holy_dist;
		dist_array[1]=dropscj_pro_dist;
		dist_array[0]=dropscj_good_dist;
	}
	else if(type_jump==Type_Bhop_In_Duck || type_jump==Type_Up_Bhop_In_Duck)
	{	
		dist_array[4]=bhopinduck_god_dist;
		dist_array[3]=bhopinduck_leet_dist;
		dist_array[2]=bhopinduck_holy_dist;
		dist_array[1]=bhopinduck_pro_dist;
		dist_array[0]=bhopinduck_good_dist;
	}
	else if(type_jump==Type_Up_Bhop)
	{	
		dist_array[4]=upbj_god_dist;
		dist_array[3]=upbj_leet_dist;
		dist_array[2]=upbj_holy_dist;
		dist_array[1]=upbj_pro_dist;
		dist_array[0]=upbj_good_dist;
	}
	else if(type_jump==Type_Up_Stand_Bhop)
	{	
		dist_array[4]=upsbj_god_dist;
		dist_array[3]=upsbj_leet_dist;
		dist_array[2]=upsbj_holy_dist;
		dist_array[1]=upsbj_pro_dist;
		dist_array[0]=upsbj_good_dist;
	}
	else if(type_jump==Type_Real_ladder_Bhop)
	{	
		dist_array[4]=real_god_dist;
		dist_array[3]=real_leet_dist;
		dist_array[2]=real_holy_dist;
		dist_array[1]=real_pro_dist;
		dist_array[0]=real_good_dist;
	}
	else if(type_jump==Type_DuckBhop)
	{	
		dist_array[4]=duckbhop_god_dist;
		dist_array[3]=duckbhop_leet_dist;
		dist_array[2]=duckbhop_holy_dist;
		dist_array[1]=duckbhop_pro_dist;
		dist_array[0]=duckbhop_good_dist;
	}
	
	if(mSpeed != 250.0 && type_jump!=Type_ladder)
	{
		dist_array[4]=dist_array[4]-t_dist;
		dist_array[3]=dist_array[3]-t_dist;
		dist_array[2]=dist_array[2]-t_dist;
		dist_array[1]=dist_array[1]-t_dist;
		dist_array[0]=dist_array[0]-t_dist;
	}
	return dist_array;
}
public fnSaveBeamPos( client ) {
	if( g_Jumped[client] ) {
		new Float:vOrigin[3];
		pev(client, pev_origin, vOrigin);
		
		if( gBeam_count[client] < 100 ) {
			gBeam_points[client][gBeam_count[client]][0] = vOrigin[0];
			gBeam_points[client][gBeam_count[client]][1] = vOrigin[1];
			gBeam_points[client][gBeam_count[client]][2] = vOrigin[2];
			
			if(preessbutton[client])
			{
				gBeam_button[client][gBeam_count[client]]=true;
				
				if(button_what[client]==1)
				{
					gBeam_button_what[client][gBeam_count[client]]=1;
				}
				else if(button_what[client]==2)
				{
					gBeam_button_what[client][gBeam_count[client]]=2;
				}
			}
			
			if(is_user_ducking( client ))
				gBeam_duck[client][gBeam_count[client]] = true;
			
			gBeam_count[client]++;
		}
	}
}
public JumpReset(id,num)
{
	g_reset[id] = true;
	//if(num!=26 && num!=1 && num!=29)
	//ColorChat(id,GREEN,"jump reset %d",num);
}

public JumpReset1(id)
{
	g_reset[id] = true;
}
public ddReset(id)
{
	id=id-2311;
	JumpReset(id,27);
	//ColorChat(id, GREEN, "reset dd");
}
public Color_Chat_Lang(id,Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];

	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}

	vformat(message[1], 251, msg, 4);
	
	replace_colors(message,191);
	
	ColorChat(id, type, "%s",message);
}
public cmdColorChat(id)
{	
	if( !gHasColorChat[id] )
	{
		gHasColorChat[id] = true;
		
		Color_Chat_Lang(id,GREEN,"%L",LANG_SERVER,"UQSTATS_COLORCHAT_E", prefix);
	}
	else 
	{
		gHasColorChat[id] = false;
		
		Color_Chat_Lang(id,GREEN,"%L",LANG_SERVER,"UQSTATS_COLORCHAT_D", prefix);
	}
	
	return PLUGIN_CONTINUE;
}
public cmdljStats( id ) {
	
	if(g_lj_stats[id]==true) 
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_LJSTATS_D", prefix);
		g_lj_stats[id]=false;
		
		if(showpre[id]==true)
		{
			showpre[id]=false;
			oldpre[id]=1;
		}
		if(failearly[id]==true)
		{
			failearly[id]=false;
			oldfail[id]=1;
		}
		if(ljpre[id]==true)
		{
			ljpre[id]=false;
			oldljpre[id]=1;
		}
	}
	else 
	{
		if(oldpre[id]==1)
		{
			showpre[id]=true;
			oldpre[id]=0;
		}
		if(oldfail[id]==1)
		{
			failearly[id]=true;
			oldfail[id]=0;
		}
		if(oldljpre[id]==1)
		{
			ljpre[id]=true;
			oldljpre[id]=0;
		}
		g_lj_stats[id]=true;
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_LJSTATS_E", prefix);
	}
	
}


public cmdVersion( id )
{		
	Color_Chat_Lang(id,GREY,"%L",LANG_SERVER,"UQSTATS_VERSION_1", prefix,VERSION);
	
	if(kz_sql==1)
	{
		Color_Chat_Lang(id,GREY,"%L",LANG_SERVER,"UQSTATS_VERSION_SQL1", prefix);
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_VERSION_SQL2", prefix);
	}
	else Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_VERSION_2", prefix);
}
public pre_stats(id)
{	
	if(kz_stats_pre[id]==true) 
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_PRESTATS_D", prefix);
		kz_stats_pre[id]=false;
	}
	else 
	{
		kz_stats_pre[id]=true;
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_PRESTATS_E", prefix);
	}
}
public streif_stats(id)
{	
	if(streifstat[id]==true) 
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_STRAFESTATS_D", prefix);
		streifstat[id]=false;
	}
	else 
	{
		streifstat[id]=true;
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_STRAFESTATS_E", prefix);
	}
}
public cmdljbeam(id)
{
	if(ingame_strafe[id])
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_BEAMDONTWORK", prefix);
	}
	else
	{
		if(kz_beam[id]==true) 
		{
			Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_BEAMSTATS_D", prefix);
			kz_beam[id]=false;
		}
		else 
		{
			kz_beam[id]=true;
			Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_BEAMSTATS_E", prefix);
		}
	}
}
public show_pre(id)
{
	if(showpre[id]==true) 
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SHOWPRE_D", prefix);
		showpre[id]=false;
	}
	else 
	{
		showpre[id]=true;
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_SHOWPRE_E", prefix);
	}
}
public show_speed(id)
{
	new tmpTeam[33],g_team;	
	get_user_team(id,tmpTeam,32);
	
	if(uq_team==0)
	{
		g_team=0;
	}
	else if(equali(tmpTeam,"TERRORIST"))
	{
		g_team=1;
	}
	else if(equali(tmpTeam,"CT"))
	{
		g_team=2;
	}
	else
	{
		g_team=uq_team;
	}
	
	if(uq_admins==1 && !player_admin[id])
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SPEED_D1", prefix);
	}
	else if(g_team!=uq_team && !uq_speed_allteam)
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SPEED_D2", prefix);
	}
	else
	{
		if(jofon[id])
		{
			Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SPEED_D3", prefix);
		}
		else
		{
			if(speedon[id]==false) 
			{
				Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_SPEED_E", prefix);
				speedon[id]=true;
				
				set_task(0.1, "DoSpeed", id+212299, "", 0, "b", 0);
			}
			else 
			{
				speedon[id]=false;
				
				if( task_exists(id+212299, 0) )
					remove_task(id+212299, 0);
					
				Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SPEED_D", prefix);
			}
		}
	}
}
public trainer_jof(id)
{
	new tmpTeam[33],g_team;	
	get_user_team(id,tmpTeam,32);
	
	if(uq_team==0)
	{
		g_team=0;
	}
	else if(equali(tmpTeam,"TERRORIST"))
	{
		g_team=1;
	}
	else if(equali(tmpTeam,"CT"))
	{
		g_team=2;
	}
	else
	{
		g_team=uq_team;
	}
	
	if(uq_admins==1 && !player_admin[id])
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_JOFTR_D1", prefix);
	}
	else if(g_team!=uq_team)
	{
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_JOFTR_D2", prefix);
	}
	else
	{
		if(speedon[id])
		{
			Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_JOFTR_D3", prefix);
		}
		else
		{
			if(jofon[id]==false) 
			{
				Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_JOFTR_E", prefix);
				jofon[id]=true;
				jof[id]=0.0;
				set_task(0.1, "Dojof", id+212398, "", 0, "b", 0);
			}
			else 
			{
				jofon[id]=false;
				
				if( task_exists(id+212398, 0) )
					remove_task(id+212398, 0);
					
				Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_JOFTR_D", prefix);
			}
		}
	}
}
public speed_type(id)
{
	if(speedtype[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_SPEED_B", prefix);
		speedtype[id]=true;
	}
	else 
	{
		speedtype[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SPEED_S", prefix);
	}
}
public show_jheight(id)
{
	if(jheight_show[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_JHEIGH_E", prefix);
		jheight_show[id]=true;
	}
	else 
	{
		jheight_show[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_JHEIGH_D", prefix);
	}
}
public show_jof(id)
{
	if(showjofon[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_JOF_E", prefix);
		showjofon[id]=true;
	}
	else 
	{
		showjofon[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_JOF_D", prefix);
	}
}
public show_early(id)
{
	if(failearly[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_BHOPWARN_E", prefix);
		failearly[id]=true;
	}
	else 
	{
		failearly[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_BHOPWARN_D", prefix);
	}
}
public multi_bhop(id)
{
	if(multibhoppre[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_MULTIBHOP_E", prefix);
		multibhoppre[id]=true;
	}
	else 
	{
		multibhoppre[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_MULTIBHOP_D", prefix);
	}
}
public duck_show(id)
{
	if(showduck[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_DUCKSPRE_E", prefix);
		showduck[id]=true;
	}
	else 
	{
		showduck[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_DUCKSPRE_D", prefix);
	}
}
public lj_show(id)
{
	if(ljpre[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_LJPRE_E", prefix);
		ljpre[id]=true;
	}
	else 
	{
		ljpre[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_LJPRE_D", prefix);
	}
}
public enable_sounds(id)
{
	if(uq_sounds)
	{
		if(enable_sound[id]==false) 
		{
			Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_SOUND_E", prefix);
			enable_sound[id]=true;
		}
		else 
		{
			enable_sound[id]=false;
			Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SOUND_D", prefix);
		}
	}
	else Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SOUND_D1", prefix);
}
public ShowedgeFail(id)
{
	if(Show_edge_Fail[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_EDGEF_E", prefix);
		Show_edge_Fail[id]=true;
	}
	else 
	{
		Show_edge_Fail[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_EDGEF_D", prefix);
	}
}
public Showedge(id)
{
	if(Show_edge[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_EDGE_E", prefix);
		Show_edge[id]=true;
	}
	else 
	{
		Show_edge[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_EDGE_D", prefix);
	}
}
public heightshow(id)
{
	if(height_show[id]==false) 
	{
		Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_FALLH_E", prefix);
		height_show[id]=true;
	}
	else 
	{
		height_show[id]=false;
		Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_FALLH_D", prefix);
	}
}
public ingame_st_stats(id)
{
	if(uq_istrafe)
	{
		if(kz_beam[id])
		{
			Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_ISTRAFE_D1", prefix);
		}
		else
		{
			if(ingame_strafe[id]==false) 
			{
				Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_ISTRAFE_E", prefix);
				ingame_strafe[id]=true;
			}
			else 
			{
				ingame_strafe[id]=false;
				Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_ISTRAFE_D", prefix);
			}
		}
	}
	else Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_ISTRAFE_D2", prefix);
	
}

public client_connect( id )
{
	oldljpre[id]=0;
	oldpre[id]=0;
	oldfail[id]=0;
	g_userConnected[id]=true;
	g_pBot[id]=false;
	
	static connectt[30];
	get_pcvar_string(kz_uq_connect, connectt, 30);
	
	format(connectt, 30, "_%s", connectt);

	if( contain(connectt, "a") > 0 )
		gHasColorChat[id] =true;
	else
		gHasColorChat[id] = false;
	if( contain(connectt, "b") > 0 )
		g_lj_stats[id] = true;
	else
		g_lj_stats[id] = false;
	if( contain(connectt, "c") > 0 )
		speedon[id]=true;
	else 
		speedon[id]=false;
	if( contain(connectt, "d") > 0 )
		showpre[id]=true;
	else
		showpre[id]=false;
	if( contain(connectt, "e") > 0 )
		streifstat[id]=true;
	else
		streifstat[id]=false;
	if( contain(connectt, "f") > 0 )
		kz_beam[id]=true;
	else
		kz_beam[id]=false;
	if( contain(connectt, "g") > 0 )
		kz_stats_pre[id]=true;
	else
		kz_stats_pre[id]=false;
	if( contain(connectt, "h") > 0 )
		failearly[id]=true;
	else
		failearly[id]=false;
	if( contain(connectt, "i") > 0 )
		multibhoppre[id]=true;
	else
		multibhoppre[id]=false;
	if( contain(connectt, "j") > 0 )
		showduck[id]=true;
	else
		showduck[id]=false;
	if( contain(connectt, "k") > 0 )
		ljpre[id]=true;
	else
		ljpre[id]=false;
	if( contain(connectt, "l") > 0 )
		Show_edge[id]=true;
	else
		Show_edge[id]=false;
	if( contain(connectt, "m") > 0 )
		Show_edge_Fail[id]=true;
	else
		Show_edge_Fail[id]=false;
	if( contain(connectt, "n") > 0 )
		enable_sound[id]=true;
	else
		enable_sound[id]=false;
	if( contain(connectt, "o") > 0 )
		ingame_strafe[id]=true;
	else
		ingame_strafe[id]=false;
	
	//for beta
	//ingame_strafe[id]=true;
	
	user_block[id][0]=uq_maxedge;
	user_block[id][1]=uq_minedge;
	min_prestrafe[id]=uq_min_pre;
	beam_type[id]=1;
	edgeshow[id]=true;	
	first_ground_bhopaem[id]=false;
	donehook[id]=false;
	OnGround[id]=false;
	serf_reset[id]=false;
	first_onground[id]=false;
	duckstring[id]=false;
	firstshow[id]=false;
	height_show[id]=false;
	Checkframes[id]=false;
	firstfall_ground[id]=false;
	h_jumped[id]=false;
	touch_ent[id]=false;
	ddafterJump[id]=false;
	ddstandcj[id]=false;
	UpcjFail[id]=false;
	slide_protec[id]=false;
	posibleScj[id]=false;
	x_jump[id]=false;
	ddforcj[id]=false;
	dropbhop[id]=false;
	ddnum[id]=0;
	hookcheck[id]=false;
	backwards[id]=false;
	ladderbug[id]=false;
	touch_somthing[id]=false;
	record_start[id]=0;
	duckbhop_bug_pre[id]=false;
	showtime_st_stats[id]=40;
	speedtype[id]=false;
	trigger_protection[id]=false;
	
	if(is_user_bot(id))
	{
		g_pBot[id]=true;
	}
	
	if( task_exists(id+434490, 0) )
		remove_task(id+434490, 0);
		
	if( task_exists(id, 0) )
		remove_task(id, 0);
	
	if( task_exists(id+89012, 0) )
		remove_task(id+89012, 0);

	if( task_exists(id+3313, 0) )
		remove_task(id+3313, 0);
	
	if( task_exists(id+3214, 0) )
		remove_task(id+3214, 0);
		
	if( task_exists(id+15237, 0) )
		remove_task(id+15237, 0);
		
	if( task_exists(id+212299, 0) )
		remove_task(id+212299, 0);
		
	if( task_exists(id+212398, 0) )
		remove_task(id+212398, 0);
		
	if( task_exists(id, 0) )
		remove_task(id, 0);
	
}


public client_infochanged(id) {
	new name[65];
	
	get_user_info(id, "name", name,64); 
	
	if(!equali(name, g_playername[id]))
		copy(g_playername[id], 64, name);
}

public ResetHUD(id)
{
	if(is_user_alive(id) && !is_user_bot(id) && !is_user_hltv(id) )
	{
		if(firstshow[id]==false)
		{
			if( uq_airaccel==1 || uq_airaccel==100)
			{
				Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_AIRACCEL100", prefix);
			}
			else if( uq_airaccel==0 || uq_airaccel==10)
			{
				Color_Chat_Lang(id,BLUE,"%L",LANG_SERVER,"UQSTATS_AIRACCEL10", prefix);
			}
			else 
				Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_AIRACCEL", prefix,uq_airaccel);		
				
			firstshow[id]=true;
			
			if(equali(mapname,"slide_gs_longjumps") || equali(mapname,"b2j_slide_longjumps"))
			{
				Color_Chat_Lang(id,RED,"%L",LANG_SERVER,"UQSTATS_SLIDE", prefix);
			}
		}
		
		firstfall_ground[id]=false;
		h_jumped[id]=false;
		
		ddafterJump[id]=false;
		UpcjFail[id]=false;
		slide_protec[id]=false;
		posibleScj[id]=false;
		x_jump[id]=false;
		ddforcj[id]=false;
		dropbhop[id]=false;
		ddnum[id]=0;
		donehook[id]=false;
		hookcheck[id]=false;
		backwards[id]=false;
		Checkframes[id]=false;
		first_ground_bhopaem[id]=false;
		touch_ent[id]=false;
		ladderbug[id]=false;
		touch_somthing[id]=false;
		ddstandcj[id]=false;
	}
	
}
public FwdPlayerSpawn(id)
{
	if( is_user_alive(id) && !is_user_bot(id) && !is_user_hltv(id))
	{
		if( !task_exists(id+434490, 0) )
			set_task(1.0, "tskFps", id+434490, "", 0, "b", 0);
			
		g_alive[id] = true;
		strafe_num[id]=0;
	}
}

public FwdPlayerDeath(id)
{
	if( task_exists(id, 0) )
		remove_task(id, 0);
		
	if( task_exists(id+434490, 0) )
		remove_task(id+434490, 0);
		
	if( task_exists(id, 0) )
		remove_task(id, 0);
	
	if( task_exists(id+89012, 0) )
		remove_task(id+89012, 0);
	
	if( task_exists(id+3313, 0) )
		remove_task(id+3313, 0);
	
	if( task_exists(id+3214, 0) )
		remove_task(id+3214, 0);
		
	if( task_exists(id+15237, 0) )
		remove_task(id+15237, 0);
	
	if( task_exists(id+212398, 0) )
		remove_task(id+212398, 0);
		
	g_alive[id] = false;
}

public client_disconnected(id)
{
	if(kz_sql == 1 || kz_sql == 2)
	{
		new tmp_str[12];
		num_to_str(g_sql_pid[id], tmp_str, 11);
		if(TrieKeyExists(JumpPlayers, tmp_str))
			TrieDeleteKey(JumpPlayers, tmp_str);
	}
	
	remove_beam_ent(id);
	
	player_admin[id]=false;
	g_pBot[id]=false;
	login[id]=false;
	g_userConnected[id]=false;
	OnGround[id]=false;
	g_alive[id]=false;
	
	
	if( task_exists(id, 0) )
		remove_task(id);
	
	firstshow[id]=false;
	if( task_exists(id+434490, 0) )
		remove_task(id+434490, 0);
		
	if( task_exists(id, 0) )
		remove_task(id, 0);
	
	if( task_exists(id+89012, 0) )
		remove_task(id+89012, 0);

	if( task_exists(id+3313, 0) )
		remove_task(id+3313, 0);
	
	if( task_exists(id+3214, 0) )
		remove_task(id+3214, 0);
		
	if( task_exists(id+15237, 0) )
		remove_task(id+15237, 0);
		
	if( task_exists(id+212299, 0) )
		remove_task(id+212299, 0);
		
	if( task_exists(id+212398, 0) )
		remove_task(id+212398, 0);
		
	if( task_exists(id, 0) )
		remove_task(id, 0);
}
public reset_tops(id, level, cid)
{	
	if( !cmd_access(id, level, cid, 1) ) return PLUGIN_HANDLED;
	
	if(kz_sql == 0)
	{
		client_print(id,print_console,"%L",LANG_SERVER,"UQSTATS_RESET");
		server_print("%L",LANG_SERVER,"UQSTATS_RESET");
		
		TrieClear(JData);
		TrieClear(JData_Block);
	}
	else if(kz_sql == 1)
	{
		client_print(id,print_console,"%L",LANG_SERVER,"UQSTATS_RESETF");
		server_print("%L",LANG_SERVER,"UQSTATS_RESETF");
	}
		
	return PLUGIN_CONTINUE;
}
public Option(id)
{	
	new MenuBody[512], len, keys;
	len = format(MenuBody, 511, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU1");
	
	if(g_lj_stats[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU11a");
		keys |= (1<<0);
	}
	else
	{
		keys |= (1<<0);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU11b");
	}
	
	if(gHasColorChat[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU12a");
		keys |= (1<<1);
	}
	else
	{
		keys |= (1<<1);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU12b");
	}
	
	if(speedon[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU13a");
		keys |= (1<<2);
	}
	else
	{
		keys |= (1<<2);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU13b");
	}
	
	if(showpre[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU14a");
		keys |= (1<<3);
	}
	else
	{
		keys |= (1<<3);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU14b");
	}
	
	if(streifstat[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU15a");
		keys |= (1<<4);
	}
	else
	{
		keys |= (1<<4);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU15b");
	}
	
	if(kz_beam[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU16a");
		keys |= (1<<5);
	}
	else
	{
		keys |= (1<<5);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU16b");
	}
	
	if(showduck[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU17a");
		keys |= (1<<6);
	}
	else
	{
		keys |= (1<<6);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU17b");
	}
	if(failearly[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU18a");
		keys |= (1<<7);
	}
	else
	{
		keys |= (1<<7);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU18b");
	}

	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENUNEXT");
	keys |= (1<<8);
		
	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENUEXIT");
	keys |= (1<<9);
	
	show_menu(id, keys, MenuBody, -1, "StatsOptionMenu1");	
}

public OptionMenu1(id, key)
{
	switch((key+1))
	{
		case 1:
		{
			cmdljStats(id);
			Option(id);
			
		}
		case 2:
		{
			cmdColorChat(id);
			Option(id);
		}
		case 3:
		{
			show_speed(id);
			Option(id);
		}
		case 4:
		{
			show_pre(id);
			Option(id);
		}
		case 5:
		{
			streif_stats(id);
			Option(id);
		}
		case 6:
		{
			cmdljbeam(id);
			Option(id);
		}
		case 7:
		{
			duck_show(id);
			Option(id);
		}
		case 8:
		{
			show_early(id);
			Option(id);
		}
		case 9:
		{
			Option2(id);
		}

	}
	return PLUGIN_HANDLED;
}
public Option2(id)
{	
	new MenuBody[512], len, keys;
	len = format(MenuBody, 511, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU2");
	
	if(multibhoppre[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU21a");
		keys |= (1<<0);
	}
	else
	{
		keys |= (1<<0);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU21b");
	}
	if(Show_edge[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU22a");
		keys |= (1<<1);
	}
	else
	{
		keys |= (1<<1);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU22b");
	}
	if(Show_edge_Fail[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU23a");
		keys |= (1<<2);
	}
	else
	{
		keys |= (1<<2);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU23b");
	}
	
	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU24",user_block[id][1]);
	keys |= (1<<3);
	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU25",user_block[id][0]);
	keys |= (1<<4);
	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU26",min_prestrafe[id]);
	keys |= (1<<5);
	
	if(beam_type[id]==1)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU27a");
		keys |= (1<<6);
	}
	else if(beam_type[id]==2)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU27b");
		keys |= (1<<6);
	}
	
	
	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU2BACK");
	keys |= (1<<7);
	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU2NEXT");
	keys |= (1<<8);	
	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENUEXIT");
	keys |= (1<<9);
	
	show_menu(id, keys, MenuBody, -1, "StatsOptionMenu2");
		
}

public OptionMenu2(id, key)
{
	switch((key+1))
	{
		case 1:
		{
			multi_bhop(id);
			Option2(id);	
		}
		case 2:
		{
			Showedge(id);
			Option2(id);	
		}
		case 3:
		{
			ShowedgeFail(id);
			Option2(id);	
		}
		case 4:
		{
			user_block[id][1]=user_block[id][1]+10;
			if(user_block[id][1]>=user_block[id][0])
			{
				user_block[id][1]=uq_minedge;
			}
			Option2(id);	
		}
		case 5:
		{
			if(user_block[id][0]==uq_maxedge)
			{
				user_block[id][0]=user_block[id][1];
				client_print(id,print_center,"%L",LANG_SERVER,"UQSTATS_OPTIONMENU2MAXVALUE1",uq_maxedge);
			}
			user_block[id][0]=user_block[id][0]+10;
			Option2(id);	
		}
		case 6:
		{
			if(min_prestrafe[id]>=320)
			{
				min_prestrafe[id]=0;
				client_print(id,print_center,"%L",LANG_SERVER,"UQSTATS_OPTIONMENU2MAXVALUE2");
			}
			min_prestrafe[id]=min_prestrafe[id]+20;
			Option2(id);	
		}
		case 7:
		{
			if(beam_type[id]==1)
			{
				beam_type[id]=2;
				client_print(id,print_center,"%L",LANG_SERVER,"UQSTATS_OPTIONMENU2BEAMT1");
			}
			else
			{
				beam_type[id]=1;
				client_print(id,print_center,"%L",LANG_SERVER,"UQSTATS_OPTIONMENU2BEAMT2");
			}
			Option2(id);	
		}
		case 8:
		{
			Option(id);	
		}
		case 9:
		{
			Option3(id);	
		}
	}
	return PLUGIN_HANDLED;
}
public Option3(id)
{	
	new MenuBody[512], len, keys;
	len = format(MenuBody, 511, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU3");
	
	if(enable_sound[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU31a");
		keys |= (1<<0);
	}
	else
	{
		keys |= (1<<0);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU31b");
	}
	if(showjofon[id]==true)
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU32a");
		keys |= (1<<1);
	}
	else
	{
		keys |= (1<<1);
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU32b");
	}
	if(height_show[id])
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU33a");
		keys |= (1<<2);
	}
	else
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU33b");
		keys |= (1<<2);
	}
	if(jofon[id])
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU34a");
		keys |= (1<<3);
	}
	else
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU34b");
		keys |= (1<<3);
	}
	if(jheight_show[id])
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU35a");
		keys |= (1<<4);
	}
	else
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU35b");
		keys |= (1<<4);
	}
	if(uq_istrafe)
	{
		if(ingame_strafe[id])
		{
			len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU36a");
			keys |= (1<<5);
		}
		else
		{
			len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU36b");
			keys |= (1<<5);
		}
		
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU38",showtime_st_stats[id]/10);
	
		keys |= (1<<6);
	}
	else
	{
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU37");
		len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU38F",showtime_st_stats[id]/10);
	}
		
	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENU3BACK");
	keys |= (1<<8);
		
	len += format(MenuBody[len], 511-len, "%L",LANG_SERVER,"UQSTATS_OPTIONMENUEXIT");
	keys |= (1<<9);
	
	show_menu(id, keys, MenuBody, -1, "StatsOptionMenu3");
		
}
public OptionMenu3(id, key)
{
	switch((key+1))
	{
		case 1:
		{
			enable_sounds(id);
			Option3(id);	
		}
		case 2:
		{
			show_jof(id);
			Option3(id);	
		}
		case 3:
		{
			heightshow(id);
			Option3(id);	
		}
		case 4:
		{
			trainer_jof(id);
			Option3(id);
		}
		case 5:
		{
			show_jheight(id);
			Option3(id);
		}
		case 6:
		{
			ingame_st_stats(id);
			Option3(id);
		}
		case 7:
		{
			if(showtime_st_stats[id]==200)
			{
				client_print(id,print_center,"%L",LANG_SERVER,"UQSTATS_OPTIONMENU3MAXSEC");
				showtime_st_stats[id]=0;
			}
			showtime_st_stats[id]=showtime_st_stats[id]+10;

			Option3(id);
		}
	
		case 9:
		{
			Option2(id);	
		}
	}
	return PLUGIN_HANDLED;
}
public native_kz_get_configsdir(name[], len)
{
	param_convert(1);
	new lalin[64];
	get_localinfo("amxx_configsdir", lalin,63);
	return formatex(name, len, "%s/%s", lalin, KZ_DIR);
}

public plugin_end() 
{ 
	if(kz_sql == 1)
	{
		if(DB_TUPLE)
			SQL_FreeHandle(DB_TUPLE);
		if(SqlConnection)
			SQL_FreeHandle(SqlConnection);
		
		TrieDestroy(JumpPlayers);
	}
	else if(kz_sql == 0)
	{
		TrieDestroy(JData);
		TrieDestroy(JData_Block);
	}
}

Airaccelerate Changer

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <reapi>

new const PLUGIN[] = "Custom Player AirAccelerate"
new const VERSION[] = "v1.0"
new const AUTHOR[] = "Huehue a.k.a AJW1337//"
// BG AMXX Community: http://amxx-bg.info/forum/

new Float:g_fPlayerCustomAA[33]

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHookChain(RG_PM_AirMove, "PM_AirMove", false)
	
	register_clcmd("say /aa", "ToggleAirAccelerateMenu")
}
public client_connect(id)
{
	g_fPlayerCustomAA[id] = 10.0
}
public PM_AirMove(id)
{
	set_movevar(mv_airaccelerate, g_fPlayerCustomAA[id])
	return HC_CONTINUE
}
public ToggleAirAccelerateMenu(id)
{
	new szTitle[128]
	formatex(szTitle, charsmax(szTitle), "\wAiraccelerate Menu^n\dCurrent Airaccelerate: \r%.f", g_fPlayerCustomAA[id])
	new iMenu = menu_create(szTitle, "AirAccelerate_Menu_Handler")
	
	menu_additem(iMenu, "Set \y10 \wAiraccelerate")
	menu_additem(iMenu, "Set \y100 \wAiraccelerate")
	
	menu_display(id, iMenu, 0)
}
public AirAccelerate_Menu_Handler(id, iMenu, Item)
{
	if(Item == MENU_EXIT)
	{
		menu_destroy(iMenu)
		return PLUGIN_HANDLED
	}
	
	switch(++Item)
	{
		case 1:
		{
			g_fPlayerCustomAA[id] = 10.0
			client_print(id, print_chat, "* You have changed your airaccelerate to 10")
		}
		case 2:
		{
			g_fPlayerCustomAA[id] = 100.0
			client_print(id, print_chat, "* You have changed your airaccelerate to 100");
		}
	}
	menu_destroy(iMenu)
	return PLUGIN_HANDLED
}
Betrayal stings like salt on a wound.

Аватар
WaLkZ
Извън линия
Администратор
Администратор
Мнения: 799
Регистриран на: 05 Окт 2016, 21:13
Местоположение: Варна
Се отблагодари: 75 пъти
Получена благодарност: 227 пъти
Обратна връзка:

Проблем с airaccelerate в jump stats плъгин

Мнение от WaLkZ » 28 Фев 2019, 21:34

1. Добавен е натив get_user_airaccelerate в плъгинът за контролиране на AA-то
2. Извиква се в плъгинът uq_jumpstats във въпросните съобщения, които са редактирани и в мултиезичния файл uq_jumpstats.txt
uq_jumpstats + customAA.zip
(50.18 KiB) Свалено 163 пъти
uq_jumpstats + customAA.zip
(50.18 KiB) Свалено 163 пъти

Аватар
Leonardo Da Vinci
Извън линия
Потребител
Потребител
Мнения: 67
Регистриран на: 30 Мар 2018, 20:55
Местоположение: #include <amxmodx>

Проблем с airaccelerate в jump stats плъгин

Мнение от Leonardo Da Vinci » 01 Мар 2019, 16:14

custom_player_airaccelerate компилирам без проблем, но jumpstats ми дава грешки.

Ето конзола:

Код за потвърждение: Избери целия код

//// uq_jumpstats.sma
//
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(28) : error 021: symbol already defined: "clie
nt_print_color"
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(31) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(33) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(36) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(40) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(57) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(59) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(63) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(68) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(70) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(74) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(76) : warning 218: old style prototypes used w
ith optional semicolumns
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(77) : error 054: unmatched closing brace
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(79) : warning 218: old style prototypes used w
ith optional semicolumns
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(80) : error 054: unmatched closing brace
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(83) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(88) : error 021: symbol already defined: "get_
players"
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(89) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(91) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(96) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(98) : error 010: invalid function or declarati
on
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(101) : error 010: invalid function or declarat
ion
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(105) : error 010: invalid function or declarat
ion
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(106) : error 010: invalid function or declarat
ion
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(109) : error 021: symbol already defined: "Arr
ayPushCell"
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(113) : error 010: invalid function or declarat
ion
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(121) : error 010: invalid function or declarat
ion
// C:\Program Files (x86)\Steam\steamapps\common\Half-Life\cstrike\addons\amxmod
x\scripting\include\colorchat.inc(123) : error 010: invalid function or declarat
ion
//
// Compilation aborted.
// 26 Errors.
// Could not locate output file compiled\uq_jumpstats.amx (compile failed).
//
// Compilation Time: 2.67 sec
// ----------------------------------------

Press enter to exit ...
Betrayal stings like salt on a wound.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Проблем с airaccelerate в jump stats плъгин

Мнение от OciXCrom » 01 Мар 2019, 16:16

При мен се компилира без никакви проблеми. Изтегли colorchat.inc от тук.

Аватар
Leonardo Da Vinci
Извън линия
Потребител
Потребител
Мнения: 67
Регистриран на: 30 Мар 2018, 20:55
Местоположение: #include <amxmodx>

Проблем с airaccelerate в jump stats плъгин

Мнение от Leonardo Da Vinci » 01 Мар 2019, 16:21

Как точно, имам предвид.. То е код?
Betrayal stings like salt on a wound.

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Проблем с airaccelerate в jump stats плъгин

Мнение от OciXCrom » 01 Мар 2019, 16:23

Как как? Изтегли файла и сложи го в scripting/include...

// Опа... Грешен линк съм дал по-горе, промених го.

Аватар
Leonardo Da Vinci
Извън линия
Потребител
Потребител
Мнения: 67
Регистриран на: 30 Мар 2018, 20:55
Местоположение: #include <amxmodx>

Проблем с airaccelerate в jump stats плъгин

Мнение от Leonardo Da Vinci » 01 Мар 2019, 16:35

Леле, много ви благодаря! Благодаря на всички за помощта. Най-добрите сте! :))
Betrayal stings like salt on a wound.

Заключено
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Поддръжка / Помощ”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 6 госта