Проблемът ми е, че когато скачам със 100aa и направя даден скок, във чата скока се отчита със 100aa. Когато сменя на 10aa, скока пак се отчита на 100aa, но технически аз играя със 10aa. Трябва някак да се свържат двата плъгина.
Кодове:
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);
}
}
Код за потвърждение: Избери целия код
#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
}