Salut all.As vrea daca se poate pluginul de lj sa arate ca in poza aceata :
Ms : :D
Cerere ljstats
Categoria cu cereri de pluginuri si nu numai.
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
Forum rules
Accesează link-ul pentru a putea vedea regulile forumului
Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Accesează link-ul pentru a putea vedea regulile forumului
Daca doriti sa vi se modifice un plugin, va rugam postati aici .
- Arion
- Scripter eXtreamCS
- Posts: 238
- Joined: 15 May 2008, 21:19
- Detinator Steam: Da
- SteamID: arion1338
- Reputatie: Fost Mapper eXtreamCS
Fost Detinator HNS.eXtreamCS.com
Nume anterior : Seekers
Scripter Echipa eXtreamCS
Fost Moderator jutator - Discord: laurentiuandrei
- Has thanked: 402 times
- Been thanked: 413 times
- Contact:
-
- Membru, skill 0
- Posts: 0
- Joined: 22 Apr 2011, 19:53
- Detinator Steam: Da
- Detinator server CS: DA
- Has thanked: 4 times
- Been thanked: 1 time
- Sursa lj stats | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <colorchat> #include <fakemeta> #pragma semicolon 1 #define INFO_ZERO 0 #define INFO_ONE 1 // Ints new pluginstatus; new ljtop_save; new gBeam; new strafes[33]; new goodsync[33]; new badsync[33]; new lj15_names[10][33]; new lj15_authid[10][33]; new lj15_distance[10]; new lj15_maxspeed[10]; new lj15_prestrafe[10]; new lj15_strafes[10]; new lj15_sync[10]; new lj15_type[10][5]; new edgefriction; new mp_footsteps; new sv_cheats; new sv_gravity; new sv_airaccelerate; new sv_maxspeed; new sv_stepsize; new sv_maxvelocity; // Bools new bool:gHasSpeed[33]; new bool:gHasLjStats[33]; new bool:gInAir[33]; new bool:cjumped[33]; new bool:doubleducked[33]; new bool:cducked[33]; new bool:induck[33]; new bool:OnGround[33]; new bool:turning_right[33]; new bool:turning_left[33]; new bool:straifing_aw[33]; new bool:straifing_sd[33]; // Floats new Float:old_angle1[33]; new Float:angle[3]; new Float:vFramePos[33][129][3]; new Float:vFrameSpeed[33][129][3]; new Float:vBeamPos[33][129][3]; new Float:vBeamPosStatus[33][129]; new Float:vDuckedAt[33][3]; new Float:vJumpedAt[33][3]; new Float:vJumpedAt2[3]; new Float:xDistance; new Float:yDistance; new Float:fDistance; new Float:fDistance1; new Float:fDistance2; new Float:rDistance[2]; new Float:rLandPos[3]; new Float:vOrigin[3]; new Float:vOldOrigin[33][3]; new Float:vTraceEnd[3]; new Float:fMaxAirSpeed[33]; new Float:fMaxGroundSpeed[33]; new Float:vVelocity[3]; new Float:fSpeed; new Float:gSpeed; new Float:OldSpeed[33]; new Float:frame2time; new Float:jumptime[33]; new Float:lasttime[33]; // Strings new const gPLUGIN[] = "LjS - eXtreme Mod"; new const gVERSION[] = "2.11"; new const gAUTHOR[] = "Fatalis & kzlt`Numb"; public plugin_init() { register_plugin(gPLUGIN, gVERSION, gAUTHOR); register_cvar(gPLUGIN, gVERSION, FCVAR_SERVER); register_forward(FM_Touch, "fwdTouch", 1); register_forward(FM_PlayerPreThink, "fwdPlayerPreThink", 0); register_forward(FM_PlayerPostThink, "fwdPlayerPostThink", 0); register_forward(FM_StartFrame, "fwdStartFrame", 0); register_dictionary("common.txt"); register_clcmd("amx_resetljrec", "topreset", ADMIN_ALL, "- resets ljrec and ljtop"); register_clcmd("amx_resetljtop", "topreset", ADMIN_ALL, "- resets ljrec and ljtop"); register_clcmd("say /ljstats", "cmdLjStats", ADMIN_ALL, "- enables/disables longjump stats"); register_clcmd("say /speed", "cmdSpeed", ADMIN_ALL, "- enabled/disables visible speed"); register_clcmd("say /lj_version", "cmdVersion", -1, "- prints plugin version"); register_clcmd("say /ljs_version", "cmdVersion", -1, "- prints plugin version"); register_clcmd("say /ljversion", "cmdVersion", -1, "- prints plugin version"); register_clcmd("say /ljsversion", "cmdVersion", ADMIN_ALL, "- prints plugin version"); register_cvar("kz_ljs_enabled", "1"); // enables/disables the plugin register_cvar("kz_good_lj","240.0"); // good longjumps register_cvar("kz_pro_lj","245.0"); // professional longjumps register_cvar("kz_leet_lj","250.0"); // leet longjump register_cvar("kz_min_lj","215.0"); // minimal longjump register_cvar("kz_max_lj","260.0"); // maximal longjump register_cvar("kz_cj_dif","5.0"); // difrence between lj and cj register_cvar("kz_lj_sounds","1"); // enables leet/pro/good lj/cj sounds register_cvar("kz_leet_lj_clr","1"); // color of leet lj (1=red, 2=green, 3=blue, 4=gray, 5=team, 0=default) register_cvar("kz_pro_lj_clr","2"); // color of pro lj register_cvar("kz_good_lj_clr","4"); // color of good lj register_cvar("kz_leet_cj_clr","1"); // color of leet lj register_cvar("kz_pro_cj_clr","2"); // color of pro lj register_cvar("kz_good_cj_clr","4"); // color of good lj register_cvar("kz_ljstats_red","0"); // red color of /ljstats register_cvar("kz_ljstats_green","255"); // green color of /ljstats register_cvar("kz_ljstats_blue","159"); // blue color of /ljstats register_cvar("kz_ljs_beam", "2"); // 1=normal beam, 2=uber beam, 0=beam off register_cvar("kz_legal_settings", "1"); // enables protection 4 legal kreedz settings register_cvar("kz_ljs_fastserver", "2"); // Is your server fast? (0=slow, 1=normal, 2=good) register_cvar("kz_ljs_speedtype", "0"); // Speedometer type register_cvar("kz_lj_top", "3"); // LongJump top (0=Notnigh, 1=ColorChat, 2=top, 3=top+ColorChat) register_cvar("kz_ljs_topsave", "1"); // Do you want to save ljtop after mapchange? register_cvar("kz_ljs_rank_by", "0"); // How ranking will work? 0=name, 1=steam, 2=ip register_clcmd( "say /lj15", "show_lj15", -1, "- display lj10" ); register_clcmd( "say /ljtop15", "show_lj15", -1, "- display lj10" ); register_clcmd( "say /lj10", "show_lj15", ADMIN_ALL, "- display lj10" ); register_clcmd( "say /ljtop10", "show_lj15", ADMIN_ALL, "- display lj10" ); register_clcmd( "say /ljtop", "show_lj15", ADMIN_ALL, "- display lj10" ); register_clcmd( "say /ljrec", "show_leet_ljumper", ADMIN_ALL, "- prints best longjump" ); register_clcmd( "say /tele", "gocheck", -1, " - teleported" ); register_clcmd( "say /tp", "gocheck", -1, " - teleported" ); register_clcmd( "say /gocheck", "gocheck", -1, " - teleported" ); register_clcmd( "say /gc", "gocheck", -1, " - teleported" ); register_clcmd( "say .tele", "gocheck", -1, " - teleported" ); register_clcmd( "say .tp", "gocheck", -1, " - teleported" ); register_clcmd( "say .gocheck", "gocheck", -1, " - teleported" ); register_clcmd( "say .gc", "gocheck", -1, " - teleported" ); register_clcmd( "/tele", "gocheck", -1, " - teleported" ); register_clcmd( "/tp", "gocheck", -1, " - teleported" ); register_clcmd( "/gocheck", "gocheck", -1, " - teleported" ); register_clcmd( "/gc", "gocheck", -1, " - teleported" ); register_clcmd( ".tele", "gocheck", -1, " - teleported" ); register_clcmd( ".tp", "gocheck", -1, " - teleported" ); register_clcmd( ".gocheck", "gocheck", -1, " - teleported" ); register_clcmd( ".gc", "gocheck", -1, " - teleported" ); register_clcmd( "say /start", "gocheck", -1, " - reseted" ); register_clcmd( "say /reset", "gocheck", -1, " - reseted" ); register_clcmd( "say /restart", "gocheck", -1, " - reseted" ); register_clcmd( "say /spawn", "gocheck", -1, " - reseted" ); register_clcmd( "say .start", "gocheck", -1, " - reseted" ); register_clcmd( "say .reset", "gocheck", -1, " - reseted" ); register_clcmd( "say .restart", "gocheck", -1, " - reseted" ); register_clcmd( "say .spawn", "gocheck", -1, " - reseted" ); register_clcmd( "/start", "gocheck", -1, " - reseted" ); register_clcmd( "/reset", "gocheck", -1, " - reseted" ); register_clcmd( "/restart", "gocheck", -1, " - reseted" ); register_clcmd( "/spawn", "gocheck", -1, " - reseted" ); register_clcmd( ".start", "gocheck", -1, " - reseted" ); register_clcmd( ".reset", "gocheck", -1, " - reseted" ); register_clcmd( ".restart", "gocheck", -1, " - reseted" ); register_clcmd( ".spawn", "gocheck", -1, " - reseted" ); register_clcmd( "+hook", "gocheck", -1, " - used hook" ); register_clcmd( "-hook", "gocheck", -1, " - used hook" ); register_clcmd( "say /stuck", "gocheck", -1, " - teleported" ); register_clcmd( "say /unstuck", "gocheck", -1, " - teleported" ); register_clcmd( "say .stuck", "gocheck", -1, " - teleported" ); register_clcmd( "say .unstuck", "gocheck", -1, " - teleported" ); register_clcmd( "/stuck", "gocheck", -1, " - teleported" ); register_clcmd( "/unstuck", "gocheck", -1, " - teleported" ); register_clcmd( ".stuck", "gocheck", -1, " - teleported" ); register_clcmd( ".unstuck", "gocheck", -1, " - teleported" ); TeamInfo = get_user_msgid("TeamInfo"); SayText = get_user_msgid("SayText"); 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"); } public plugin_cfg() { set_cvar_string("edgefriction", "2"); set_cvar_string("mp_footsteps", "1"); set_cvar_string("sv_cheats", "0"); set_cvar_string("sv_gravity", "800"); set_cvar_string("sv_airaccelerate", "100"); set_cvar_string("sv_maxspeed", "320"); set_cvar_string("sv_stepsize", "18"); set_cvar_string("sv_maxvelocity", "2000"); } public plugin_precache() { switch(random_num(1,6)) { case 1: { gBeam = precache_model("sprites/zbeam1.spr"); } case 2: { gBeam = precache_model("sprites/zbeam2.spr"); } case 3: { gBeam = precache_model("sprites/zbeam3.spr"); } case 4: { gBeam = precache_model("sprites/zbeam4.spr"); } case 5: { gBeam = precache_model("sprites/zbeam5.spr"); } case 6: { gBeam = precache_model("sprites/zbeam6.spr"); } } if (get_cvar_num("kz_lj_sounds") == 1) { precache_sound("misc/impressive.wav"); precache_sound("misc/mod_godlike.wav"); precache_sound("misc/mod_wickedsick.wav"); precache_sound("misc/perfect.wav"); } ljtop_save = INFO_ONE; if (get_cvar_num("kz_ljs_topsave") == 1) read_lj15(); else ljtop_save = INFO_ZERO; if( get_cvar_num("kz_ljs_enabled") ) pluginstatus = INFO_ONE; else pluginstatus = INFO_ZERO; } public read_lj15() { new configsDir[64]; get_configsdir(configsDir, 63); new filename[128]; format(filename, 127, "%s/LjTop10.txt", configsDir); if( file_exists(filename) ) { new distance[12], maxspeed[12], prestrafe[12], strafes[6], sync[6], line = 0, txtsize = 0; for( new i = 0 ; i < 10; i++ ) { if( (line=read_file(filename,line,lj15_names,32,txtsize))!=0 ) { if( (line=read_file(filename,line,lj15_authid,32,txtsize))!=0 ) { if( (line=read_file(filename,line,distance,11,txtsize))!=0 ) { if( (line=read_file(filename,line,maxspeed,11,txtsize))!=0 ) { if( (line=read_file(filename,line,prestrafe,11,txtsize))!=0 ) { if( (line=read_file(filename,line,strafes,5,txtsize))!=0 ) { if( (line=read_file(filename,line,sync,5,txtsize))!=0 ) { if( (line=read_file(filename,line,lj15_type,4,txtsize))!=0 ) { lj15_distance = str_to_num( distance ); lj15_maxspeed = str_to_num( maxspeed ); lj15_prestrafe = str_to_num( prestrafe ); lj15_strafes = str_to_num( strafes ); lj15_sync = str_to_num( sync ); } } } } } } } } else return PLUGIN_HANDLED; } } return PLUGIN_HANDLED; } public topreset(id) { if (get_user_flags(id)&ADMIN_RCON) { new configsDir[64]; get_configsdir(configsDir, 63); new filename[128]; format(filename, 127, "%s/LjTop10.txt", configsDir); if( file_exists(filename) && ljtop_save == 1 ) delete_file(filename); new info_none[33]; for( new i = 0; i < 10; i++ ) { format( lj15_names, 32, info_none ); format( lj15_authid, 32, info_none ); lj15_distance[i] = INFO_ZERO; lj15_maxspeed[i] = INFO_ZERO; lj15_prestrafe[i] = INFO_ZERO; lj15_strafes[i] = INFO_ZERO; lj15_sync[i] = INFO_ZERO; format( lj15_type[i], 32, info_none ); } new name[32], authid[32]; get_user_name( id, name, 31 ); if (get_cvar_num("kz_ljs_rank_by") == 1) get_user_authid( id, authid ,31 ); else get_user_ip( id, authid, 31, 1); log_amx("LjS: ^"%s<%d><%s><>^" reseted ljtop", name, get_user_userid(id), authid); console_print(id, "[XJ] LongJump top and rec reseted!"); client_print(0, print_chat, "[XJ] LongJump top and rec reseted!"); } else console_print(id, "%L", id, "NO_ACC_COM"); return PLUGIN_HANDLED; } public check_lj15(id, Distance, MaxAirSpeed, MaxGroundSpeed, strafes, sync, type) { new jumptype[5]; if (type == 1) jumptype = "cj"; else jumptype = "lj"; new name[32], authid[32]; get_user_name( id, name, 31 ); if (get_cvar_num("kz_ljs_rank_by") == 1) get_user_authid( id, authid ,31 ); else if (get_cvar_num("kz_ljs_rank_by") == 2) get_user_ip( id, authid, 31, 1); else get_user_name( id, authid, 31 ); if( Distance > lj15_distance[9] || (Distance == lj15_distance[9] && equal(lj15_type[9], "cj") && equal(jumptype, "lj")) ) { for( new i = 0; i < 10; i++ ) { if( Distance > lj15_distance[i] || (Distance == lj15_distance[i] && equal(lj15_type[i], "cj") && equal(jumptype, "lj")) ) { new pos = i; while( !equal( lj15_authid[pos], authid ) && pos < 9 ) pos++ ; for( new j = pos; j > i; j-- ) { format( lj15_names[j], 32, lj15_names[j-1] ); format( lj15_authid[j], 32, lj15_authid[j-1] ); lj15_distance[j] = lj15_distance[j-1]; lj15_maxspeed[j] = lj15_maxspeed[j-1]; lj15_prestrafe[j] = lj15_prestrafe[j-1]; lj15_strafes[j] = lj15_strafes[j-1]; lj15_sync[j] = lj15_sync[j-1]; format( lj15_type[j], 4, lj15_type[j-1] ); } format( lj15_names[i], 32, name ); format( lj15_authid[i], 32, authid ); lj15_distance[i] = Distance; lj15_maxspeed[i] = MaxAirSpeed; lj15_prestrafe[i] = MaxGroundSpeed; lj15_strafes[i] = strafes; lj15_sync[i] = sync; format( lj15_type[i], 4, jumptype ); if (get_cvar_num("kz_lj_top") == 2 || get_cvar_num("kz_lj_top") == 3 ) client_print(0, print_chat, "[XJ] %s now is %d in lj top 10 with %d.%06d %s!", name, i+1, Distance/1000000, Distance%1000000, jumptype); if (ljtop_save == 1) save_lj15(); return; } if( equal( lj15_authid[i], authid ) ) return; } } return; } public save_lj15() { new configsDir[64]; get_configsdir(configsDir, 63); new filename[128]; format(filename, 127, "%s/LjTop10.txt", configsDir); if( file_exists(filename) ) delete_file(filename); for( new i = 0; i < 10; i++ ) { new distance[12], maxspeed[12], prestrafe[12], strafes[6], sync[6]; num_to_str(lj15_distance[i],distance,11); num_to_str(lj15_maxspeed[i],maxspeed,11); num_to_str(lj15_prestrafe[i],prestrafe,11); num_to_str(lj15_strafes[i],strafes,5); num_to_str(lj15_sync[i],sync,5); if ( equal(lj15_type[i], "lj") || equal(lj15_type[i], "cj") ) { write_file(filename, lj15_names[i]); write_file(filename, lj15_authid[i]); write_file(filename, distance); write_file(filename, maxspeed); write_file(filename, prestrafe); write_file(filename, strafes); write_file(filename, sync); write_file(filename, lj15_type[i]); } } return; } public show_leet_ljumper(id) { if( get_cvar_num("kz_ljs_enabled") && (get_cvar_num("kz_lj_top") == 2 || get_cvar_num("kz_lj_top") == 3) ) { if (lj15_distance[0]) client_print(id, print_chat, "[XJ] %s has the %d.%06d %s record!", lj15_names[0], lj15_distance[0]/1000000, lj15_distance[0]%1000000, lj15_type[0]); else client_print(id, print_chat, "[XJ] LongJump record not setted!"); } } public show_lj15(id) { if( get_cvar_num("kz_ljs_enabled") && (get_cvar_num("kz_lj_top") == 2 || get_cvar_num("kz_lj_top") == 3) ) { new buffer[2048], name[64]; new len = format(buffer, 2047, "<body bgcolor=#94AEC6><table width=100%% cellpadding=2 cellspacing=0 border=0>"); len += format(buffer[len], 2047-len, "<tr align=center bgcolor=#52697B><th width=5%%> # <th width=34%% align=left> Name <th width=10%%> Distance <th width=10%%> MaxSpeed <th width=11%%> PreStrafe <th width=9%%> Strafes <th width=6%%> Sync <th width=10%%> Type"); for (new i = 0; i < 10; i++) { if (lj15_distance[i] == 0) { len += format(buffer[len], 2047-len, "<tr align=center%s><td> %d <td align=left> %s <td> %s <td> %s <td> %s <td> %s <td> %s <td> %s", ((i%2)==0) ? "" : " bgcolor=#A4BED6", (i+1), "-", "-", "-", "-", "-", "-", "-"); i=10; } else { name = lj15_names[i]; while (containi(name, "<") != -1) replace(name, 63, "<", "<"); while (containi(name, ">") != -1) replace(name, 63, ">", ">"); len += format(buffer[len], 2047-len, "<tr align=center%s><td> %d <td align=left> %s <td> %d.%03d <td> %d.%03d <td> %d.%03d <td> %d <td> %d <td> %s", ((i%2)==0) ? "" : " bgcolor=#A4BED6", (i+1), name, (lj15_distance[i]/1000000), (lj15_distance[i]%1000000/1000), (lj15_maxspeed[i]/1000000), (lj15_maxspeed[i]%1000000/1000), (lj15_prestrafe[i]/1000000), (lj15_prestrafe[i]%1000000/1000), lj15_strafes[i], lj15_sync[i], lj15_type[i]); } } len += format(buffer[len], 2047-len, "</table></body>"); show_motd(id, buffer, "Top10 LongJumps"); } } public gocheck(id) { gInAir[id] = false; cjumped[id] = false; } public ddend(id) { doubleducked[id] = false; } public testcjstart(id) { cducked[id] = false; } public client_putinserver(id) { if (get_cvar_num("kz_ljs_fastserver") == 2) set_task(0.5, "tskFps", id+334491, "", 0, "b", 0); else set_task(1.0, "tskFps", id+334491, "", 0, "b", 0); turning_right[id] = false; turning_left[id] = false; straifing_aw[id] = false; straifing_sd[id] = false; cducked[id] = false; cjumped[id] = false; doubleducked[id]=false; gHasSpeed[id] = false; gHasLjStats[id] = false; induck[id] = false; OnGround[id] = false; } public client_disconnect(id) { turning_right[id] = false; turning_left[id] = false; straifing_aw[id] = false; straifing_sd[id] = false; OnGround[id] = false; gHasSpeed[id] = false; gHasLjStats[id] = false; cducked[id] = false; doubleducked[id]=false; cjumped[id] = false; induck[id] = false; if( task_exists(id+334490, 0) ) remove_task(id+334490, 0); if( task_exists(id+334491, 0) ) remove_task(id+334491, 0); } public tskFps(id) { if( get_cvar_num("kz_legal_settings") && get_cvar_num("kz_ljs_enabled")) { id-=334491; client_cmd(id, "developer 0;fps_max 101"); } } public cmdVersion(id) { ColorChat(id, GREY, "^x04[XJ] Plugin: ^x01%s^x04 by: ^x03%s", gPLUGIN, gAUTHOR); if( get_cvar_num("kz_ljs_enabled") ) { ColorChat(id, BLUE, "^x04[XJ] Version: ^x01%s^x04, Status:^x03 enabled", gVERSION); } else { ColorChat(id, RED, "^x04[XJ] Version: ^x01%s^x04, Status:^x03 disabled", gVERSION); } } public cmdSpeed(id) { if( get_cvar_num("kz_ljs_enabled") && !gHasSpeed[id] ) { gHasSpeed[id] = true; if (get_cvar_num("kz_ljs_fastserver") == 1) set_task(0.1, "tskSpeed", id+334490, "", 0, "b", 0); if (!(get_cvar_num("kz_ljs_fastserver") == 1 || get_cvar_num("kz_ljs_fastserver") == 2) ) set_task(0.5, "tskSpeed", id+334490, "", 0, "b", 0); client_print(id, print_chat, "[XJ] Speedometer enabled. To disable, type /speed."); } else if( get_cvar_num("kz_ljs_enabled") ) { gHasSpeed[id] = false; if( task_exists(id+334490, 0) ) remove_task(id+334490, 0); client_print(id, print_chat, "[XJ] Speedometer disabled."); } return PLUGIN_CONTINUE; } public tskSpeed(taskid) { taskid-=334490; if( is_user_alive(taskid) && get_cvar_num("kz_ljs_enabled") ) { pev(taskid, pev_velocity, vVelocity); if (pev(taskid, pev_flags)&FL_ONGROUND && pev(taskid, pev_flags)&FL_INWATER) vVelocity[2]-=vVelocity[2]; if (get_cvar_num("kz_ljs_fastserver") == 1) set_hudmessage(255, 255, 255, -1.0, 0.65, 0, 0.0, 0.1, 0.0, 0.0, 2); if (!(get_cvar_num("kz_ljs_fastserver") == 1 || get_cvar_num("kz_ljs_fastserver") == 2) ) set_hudmessage(255, 255, 255, -1.0, 0.65, 0, 0.0, 0.5, 0.0, 0.0, 2); if (get_cvar_num("kz_ljs_speedtype") == 1) { new idist; idist = floatround(vector_length(vVelocity), floatround_floor); show_hudmessage(taskid, "%d units/second", idist); } else if (get_cvar_num("kz_ljs_speedtype") == 2) { if (!(vVelocity[2] == 0)) vVelocity[2]-=vVelocity[2]; gSpeed = vector_length(vVelocity); new idist2; idist2 = floatround(gSpeed, floatround_floor); show_hudmessage(taskid, "%d velocity", idist2); } else { if (!(vVelocity[2] == 0)) vVelocity[2]-=vVelocity[2]; gSpeed = vector_length(vVelocity); pev(taskid, pev_velocity, vVelocity); if (pev(taskid, pev_flags)&FL_ONGROUND && pev(taskid, pev_flags)&FL_INWATER) vVelocity[2]-=vVelocity[2]; new idist, idist2; idist = floatround(vector_length(vVelocity), floatround_floor); idist2 = floatround(gSpeed, floatround_floor); show_hudmessage(taskid, "%d units/second^n%d velocity", idist, idist2); } } } public cmdLjStats(id) { if( get_cvar_num("kz_ljs_enabled") && !gHasLjStats[id] ) { gHasLjStats[id] = true; client_print(id, print_chat, "[XJ] Longjump Stats enabled. To disable, type /ljstats."); } else if( get_cvar_num("kz_ljs_enabled") ) { gHasLjStats[id] = false; client_print(id, print_chat, "[XJ] Longjump Stats disabled."); } return PLUGIN_CONTINUE; } public fwdStartFrame() { if( get_cvar_num("kz_legal_settings") && get_cvar_num("kz_ljs_enabled") ) { 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 (get_pcvar_num(sv_airaccelerate) != 100) set_pcvar_num(sv_airaccelerate, 100); 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); } if( get_cvar_num("kz_ljs_enabled") ) { if( !(pluginstatus) ) { ColorChat(0, BLUE, "^x04[XJ] ^x01%s ^x04plugin^x03 enabled ^x04!", gPLUGIN); pluginstatus = INFO_ONE; } } else { if( pluginstatus ) { ColorChat(0, RED, "^x04[XJ] ^x01%s ^x04plugin^x03 disabled ^x04!", gPLUGIN); pluginstatus = INFO_ZERO; } } } public fwdPlayerPreThink(id) { if( is_user_alive(id) && get_cvar_num("kz_ljs_enabled") ) { static Float:fGravity; pev(id, pev_gravity, fGravity); pev(id, pev_angles, angle); old_angle1[id] = angle[1]; if (pev(id, pev_button)&IN_MOVERIGHT || pev(id, pev_button)&IN_MOVELEFT || pev(id, pev_button)&IN_FORWARD || pev(id, pev_button)&IN_BACK) { pev(id, pev_velocity, vVelocity); if (!(vVelocity[2] == 0)) vVelocity[2]-=vVelocity[2]; if (vector_length(vVelocity) > OldSpeed[id]) goodsync[id] += INFO_ONE; else badsync[id] += INFO_ONE; } pev(id, pev_velocity, vVelocity); if (!(vVelocity[2] == 0)) vVelocity[2]-=vVelocity[2]; OldSpeed[id] = vector_length(vVelocity); if( gInAir[id] == true ) { for( new i = 0; i < 127; i++ ) { if (vFramePos[id][i][0] == 0 && vFramePos[id][i][1] == 0 && vFramePos[id][i][2] == 0 && vFrameSpeed[id][i][0] == 0 && vFrameSpeed[id][i][1] == 0 && vFrameSpeed[id][i][2] == 0) { pev(id, pev_origin, vOrigin); vFramePos[id][i][0] = vOrigin[0]; vFramePos[id][i][1] = vOrigin[1]; vFramePos[id][i][2] = vOrigin[2]; pev(id, pev_velocity, vVelocity); vFrameSpeed[id][i][0] = vVelocity[0]; vFrameSpeed[id][i][1] = vVelocity[1]; vFrameSpeed[id][i][2] = vVelocity[2]; i=127; } } } pev(id, pev_velocity, vVelocity); if (pev(id, pev_flags)&FL_ONGROUND && pev(id, pev_flags)&FL_INWATER) vVelocity[2]-=vVelocity[2]; fSpeed = vector_length(vVelocity); if (get_cvar_num("kz_ljs_fastserver") == 2 && gHasSpeed[id] == true) { if( task_exists(id+334490, 0) ) remove_task(id+334490, 0); set_hudmessage(255, 255, 255, -1.0, 0.65, 0, 0.0, 0.1, 0.0, 0.0, 2); if (get_cvar_num("kz_ljs_speedtype") == 1) { new idist; idist = floatround(vector_length(vVelocity), floatround_floor); show_hudmessage(id, "%d units/second", idist); } else if (get_cvar_num("kz_ljs_speedtype") == 2) { if (!(vVelocity[2] == 0)) vVelocity[2]-=vVelocity[2]; gSpeed = vector_length(vVelocity); new idist2; idist2 = floatround(gSpeed, floatround_floor); show_hudmessage(id, "%d velocity", idist2); } else { if (!(vVelocity[2] == 0)) vVelocity[2]-=vVelocity[2]; gSpeed = vector_length(vVelocity); pev(id, pev_velocity, vVelocity); if (pev(id, pev_flags)&FL_ONGROUND && pev(id, pev_flags)&FL_INWATER) vVelocity[2]-=vVelocity[2]; new idist, idist2; idist = floatround(vector_length(vVelocity), floatround_floor); idist2 = floatround(gSpeed, floatround_floor); show_hudmessage(id, "%d units/second^n%d velocity", idist, idist2); } } else if ( gHasSpeed[id] == true && !(get_cvar_num("kz_ljs_fastserver") == 2) && !(task_exists(id+334490, 0)) ) { if (get_cvar_num("kz_ljs_fastserver") == 1) set_task(0.1, "tskSpeed", id+334490, "", 0, "b", 0); if (!(get_cvar_num("kz_ljs_fastserver") == 1 || get_cvar_num("kz_ljs_fastserver") == 2) ) set_task(0.5, "tskSpeed", id+334490, "", 0, "b", 0); } pev(id, pev_origin, vOrigin); fDistance = get_distance_f(vOldOrigin[id], vOrigin); pev(id, pev_origin, vOldOrigin[id]); if( pev(id, pev_speed) > 470 || ( pev(id, pev_maxspeed) != 250.0 || pev(id, pev_movetype) != MOVETYPE_WALK || fGravity != 1.0 || get_pcvar_num(edgefriction) != 2 || get_pcvar_num(mp_footsteps) != 1 || get_pcvar_num(sv_cheats) != 0 || get_pcvar_num(sv_gravity) != 800 || get_pcvar_num(sv_airaccelerate) != 100 || get_pcvar_num(sv_maxspeed) != 320 || get_pcvar_num(sv_stepsize) != 18 || get_pcvar_num(sv_maxvelocity) != 2000 ) || pev(id, pev_waterlevel) >= 2 || fDistance > 20 ) { gocheck(id); return FMRES_IGNORED; } if ( !(pev(id, pev_flags)&FL_ONGROUND) ) lasttime[id] = get_gametime(); if( gInAir[id] == true ) { pev(id, pev_velocity, vVelocity); if (!(vVelocity[2] == 0)) vVelocity[2]-=vVelocity[2]; gSpeed = vector_length(vVelocity); if( gSpeed > fMaxAirSpeed[id] ) { fMaxAirSpeed[id] = gSpeed; } } if( pev(id, pev_button)&IN_JUMP && !(pev(id, pev_oldbuttons)&IN_JUMP) && pev(id, pev_flags)&FL_ONGROUND && gInAir[id] == false ) { set_task(0.8,"gocheck", id); jumptime[id] = get_gametime(); gInAir[id] = true; fMaxGroundSpeed[id] = fSpeed; OldSpeed[id] = fSpeed; fMaxAirSpeed[id] = fSpeed; pev(id, pev_origin, vOrigin); vJumpedAt[id][0] = vOrigin[0]; vJumpedAt[id][1] = vOrigin[1]; vJumpedAt[id][2] = vOrigin[2]; if (doubleducked[id] == true && vOrigin[2] == vDuckedAt[id][2]) { cjumped[id] = true; } else { cjumped[id] = false; } doubleducked[id] = false; strafes[id] = INFO_ZERO; goodsync[id] = INFO_ZERO; badsync[id] = INFO_ZERO; turning_right[id] = false; turning_left[id] = false; straifing_aw[id] = false; straifing_sd[id] = false; if (cjumped[id] == false) { for( new i = 0; i < 127; i++ ) { vBeamPos[id][i][0] = vOrigin[0]-vOrigin[0]; vBeamPos[id][i][1] = vOrigin[1]-vOrigin[1]; vBeamPos[id][i][2] = vOrigin[2]-vOrigin[2]; } } for( new i = 0; i < 127; i++ ) { vFramePos[id][i][0] = vOrigin[0]-vOrigin[0]; vFramePos[id][i][1] = vOrigin[1]-vOrigin[1]; vFramePos[id][i][2] = vOrigin[2]-vOrigin[2]; vFrameSpeed[id][i][0] = vOrigin[0]-vOrigin[0]; vFrameSpeed[id][i][1] = vOrigin[1]-vOrigin[1]; vFrameSpeed[id][i][2] = vOrigin[2]-vOrigin[2]; } } else if( pev(id, pev_flags)&FL_ONGROUND && gInAir[id] == true ) { set_task(0.5,"gocheck", id); gInAir[id] = false; pev(id, pev_origin, vOrigin); if( is_in_duck(id) ) vOrigin[2]+=18.0; fDistance1 = get_distance_f(vJumpedAt[id], vOrigin)+32.0625; for( new i = 0; i < 127; i++ ) { if ( i == 127 || (vFramePos[id][i+1][0] == 0 && vFramePos[id][i+1][1] == 0 && vFramePos[id][i+1][2] == 0 && vFrameSpeed[id][i+1][0] == 0 && vFrameSpeed[id][i+1][1] == 0 && vFrameSpeed[id][i+1][2] == 0) ) { if (!(vFramePos[id][0][2] > vFramePos[id][i][2])) return FMRES_IGNORED; rLandPos[2] = vFrameSpeed[id][0][2] * vFrameSpeed[id][0][2] + (2 * get_pcvar_float(sv_gravity) * (vFramePos[id][0][2] - vFramePos[id][i][2])); rDistance[0] = (floatsqroot(rLandPos[2]) * -1) - vFrameSpeed[id][i-1][2]; rDistance[1] = get_pcvar_float(sv_gravity)*-1; frame2time = floatdiv(rDistance[0], rDistance[1]); if (vFrameSpeed[id][i-1][0] < 0) vFrameSpeed[id][i-1][0] = vFrameSpeed[id][i-1][0]*-1; rDistance[0] = frame2time*vFrameSpeed[id][i-1][0]; if (vFrameSpeed[id][i-1][1] < 0) vFrameSpeed[id][i-1][1] = vFrameSpeed[id][i-1][1]*-1; rDistance[1] = frame2time*vFrameSpeed[id][i-1][1]; if (vFramePos[id][i-1][0] < vOrigin[0]) rLandPos[0] = vFramePos[id][i-1][0] + rDistance[0]; else rLandPos[0] = vFramePos[id][i-1][0] - rDistance[0]; if (vFramePos[id][i-1][1] < vOrigin[1]) rLandPos[1] = vFramePos[id][i-1][1] + rDistance[1]; else rLandPos[1] = vFramePos[id][i-1][1] - rDistance[1]; rLandPos[2] = vOrigin[2]; frame2time += (lasttime[id]-jumptime[id]); if( vOrigin[2] == vJumpedAt[id][2] ) { if( is_in_duck(id) && !(frame2time > 0.71 && frame2time < 0.77) ) vOrigin[2] = vOrigin[2]*-1; else if( !(is_in_duck(id)) && !(frame2time > 0.65 && frame2time < 0.70) ) vOrigin[2] = vOrigin[2]*-1; } i=127; } } fDistance2 = get_distance_f(vJumpedAt[id], rLandPos)+32.0625; if (fDistance1 > fDistance2) { fDistance = fDistance2; vOrigin[0] = rLandPos[0]; vOrigin[1] = rLandPos[1]; } else fDistance = fDistance1; vJumpedAt2[2] = vJumpedAt[id][2]-34.0; vTraceEnd[2] = vOrigin[2]-34.0; vJumpedAt2[0] = vJumpedAt[id][0]; vTraceEnd[0] = vOrigin[0]; vJumpedAt2[1] = vJumpedAt[id][1]-vJumpedAt[id][1]; vTraceEnd[1] = vOrigin[1]-vOrigin[1]; xDistance = get_distance_f(vJumpedAt2, vTraceEnd); vJumpedAt2[0] = vJumpedAt[id][0]-vJumpedAt[id][0]; vTraceEnd[0] = vOrigin[0]-vOrigin[0]; vJumpedAt2[1] = vJumpedAt[id][1]; vTraceEnd[1] = vOrigin[1]; yDistance = get_distance_f(vJumpedAt2, vTraceEnd); if (vJumpedAt[id][0] > vOrigin[0]) { vJumpedAt2[0] = vJumpedAt[id][0]+(xDistance*16.03125/fDistance); vTraceEnd[0] = vOrigin[0]-(xDistance*16.03125/fDistance); } else if (vJumpedAt[id][0] < vOrigin[0]) { vJumpedAt2[0] = vJumpedAt[id][0]-(xDistance*16.03125/fDistance); vTraceEnd[0] = vOrigin[0]+(xDistance*16.03125/fDistance); } else { vJumpedAt2[0] = vJumpedAt[id][0]; vTraceEnd[0] = vOrigin[0]; } if (vJumpedAt[id][1] > vOrigin[1]) { vJumpedAt2[1] = vJumpedAt[id][1]+(yDistance*16.03125/fDistance); vTraceEnd[1] = vOrigin[1]-(yDistance*16.03125/fDistance); } else if (vJumpedAt[id][1] < vOrigin[1]) { vJumpedAt2[1] = vJumpedAt[id][1]-(yDistance*16.03125/fDistance); vTraceEnd[1] = vOrigin[1]+(yDistance*16.03125/fDistance); } else { vJumpedAt2[1] = vJumpedAt[id][1]; vTraceEnd[1] = vOrigin[1]; } new type; if( vJumpedAt[id][2] == vOrigin[2] && fDistance > get_cvar_num("kz_min_lj") && fMaxGroundSpeed[id] < 277 && cjumped[id] == false && !(fDistance > get_cvar_num("kz_max_lj")) ) { type = INFO_ZERO; new Distance, MaxAirSpeed, MaxGroundSpeed, sync; if (goodsync[id] > 0) sync = (goodsync[id]*100/(goodsync[id]+badsync[id])); else sync = INFO_ZERO; Distance = floatround((fDistance*1000000), floatround_floor); MaxAirSpeed = floatround((fMaxAirSpeed[id]*1000000), floatround_floor); MaxGroundSpeed = floatround((fMaxGroundSpeed[id]*1000000), floatround_floor); check_lj15(id, Distance, MaxAirSpeed, MaxGroundSpeed, strafes[id], sync, type); if( gHasLjStats[id] ) { if( get_cvar_num("kz_ljs_beam") == 1) { message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vJumpedAt2[0])); write_coord(floatround(vJumpedAt2[1])); write_coord(floatround(vJumpedAt2[2])); write_coord(floatround(vTraceEnd[0])); write_coord(floatround(vTraceEnd[1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); write_byte(random_num(32, 255)); write_byte(random_num(32, 255)); write_byte(random_num(32, 255)); write_byte(200); write_byte(200); message_end(); } else if( get_cvar_num("kz_ljs_beam") == 2) { set_task(1.0,"gocheck", id); set_task(1.5,"gocheck", id); set_task(2.0,"gocheck", id); set_task(2.5,"gocheck", id); for( new i = 0; i < 127; i++ ) { if( i == 0 ) { message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vJumpedAt2[0])); write_coord(floatround(vJumpedAt2[1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vBeamPos[id][0][0])); write_coord(floatround(vBeamPos[id][0][1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); write_byte(255); write_byte(255); write_byte(0); write_byte(200); write_byte(200); message_end(); message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vBeamPos[id][0][0])); write_coord(floatround(vBeamPos[id][0][1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vBeamPos[id][1][0])); write_coord(floatround(vBeamPos[id][1][1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); write_byte(255); write_byte(255); write_byte(0); write_byte(200); write_byte(200); message_end(); } else if( i == 127 || (vBeamPos[id][i+1][0] == 0 && vBeamPos[id][i+1][1] == 0 && vBeamPos[id][i+1][2] == 0) ) { message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vBeamPos[id][i][0])); write_coord(floatround(vBeamPos[id][i][1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vOrigin[0])); write_coord(floatround(vOrigin[1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); if (vBeamPosStatus[id][i] == 1) { write_byte(255); write_byte(0); write_byte(0); } else { write_byte(255); write_byte(255); write_byte(0); } write_byte(200); write_byte(200); message_end(); message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vOrigin[0])); write_coord(floatround(vOrigin[1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vTraceEnd[0])); write_coord(floatround(vTraceEnd[1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); if (vBeamPosStatus[id][i] == 1) { write_byte(255); write_byte(0); write_byte(0); } else { write_byte(255); write_byte(255); write_byte(0); } write_byte(200); write_byte(200); message_end(); i=127; } else { message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vBeamPos[id][i][0])); write_coord(floatround(vBeamPos[id][i][1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vBeamPos[id][i+1][0])); write_coord(floatround(vBeamPos[id][i+1][1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); if (vBeamPosStatus[id][i] == 1) { write_byte(255); write_byte(0); write_byte(0); } else { write_byte(255); write_byte(255); write_byte(0); } write_byte(200); write_byte(200); message_end(); } } } new ljStatsRed = get_cvar_num("kz_ljstats_red"); new ljStatsGreen = get_cvar_num("kz_ljstats_green"); new ljStatsBlue = get_cvar_num("kz_ljstats_blue"); set_hudmessage(ljStatsRed, ljStatsGreen, ljStatsBlue, -1.0, 0.70, 0, 0.0, 2.0, 0.1, 0.1, 3); show_hudmessage(id, "Distance: %f^nMaxSpeed: %f^nPreStrafe: %f^nStrafes: %d^nSync: %d", fDistance, fMaxAirSpeed[id], fMaxGroundSpeed[id], strafes[id], sync ); client_print(id, print_console, "Distance: %f MaxSpeed: %f PreStrafe: %f Strafes: %d Sync: %d", fDistance, fMaxAirSpeed[id], fMaxGroundSpeed[id], strafes[id], sync ); if (get_cvar_num("kz_lj_sounds") == 2) { new idist; idist = floatround(fDistance, floatround_floor); new strdist[128]; num_to_word(idist, strdist, 127); client_cmd(id, "speak ^"vox/%s uniform(e30) it south(e15)^"", strdist); } } if( fDistance < get_cvar_num("kz_max_lj") && !(fDistance < get_cvar_num("kz_leet_lj")) && !(0 > get_cvar_num("kz_leet_lj")) && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { new name[33]; get_user_name(id, name, 31); if (get_cvar_num("kz_leet_lj_clr") < 6 && get_cvar_num("kz_leet_lj_clr") > 0) { switch(get_cvar_num("kz_leet_lj_clr")) { case 1: ColorChat(0, RED, "[XJ] %s jumped %.3f units!", name, fDistance); case 2: ColorChat(0, GREEN, "[XJ] %s jumped %.3f units!", name, fDistance); case 3: ColorChat(0, BLUE, "[XJ] %s jumped %.3f units!", name, fDistance); case 4: ColorChat(0, GREY, "[XJ] %s jumped %.3f units!", name, fDistance); case 5: ColorChat(0, TEAM_COLOR, "[XJ] %s jumped %.3f units!", name, fDistance); } } else client_print(0, print_chat, "[XJ] %s jumped %.3f units!", name, fDistance); if (get_cvar_num("kz_lj_sounds") == 1 && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { new players[32], num; get_players(players, num); for (new i; i < num; ++i) { client_cmd(i, "speak misc/mod_wickedsick"); } client_cmd(id, "speak misc/mod_godlike"); } } else if( fDistance < get_cvar_num("kz_max_lj") && !(fDistance < get_cvar_num("kz_pro_lj")) && !(0 > get_cvar_num("kz_pro_lj")) && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { new name[33]; get_user_name(id, name, 31); if (get_cvar_num("kz_pro_lj_clr") < 6 && get_cvar_num("kz_pro_lj_clr") > 0) { switch(get_cvar_num("kz_pro_lj_clr")) { case 1: ColorChat(0, RED, "[XJ] %s jumped %.3f units!", name, fDistance); case 2: ColorChat(0, GREEN, "[XJ] %s jumped %.3f units!", name, fDistance); case 3: ColorChat(0, BLUE, "[XJ] %s jumped %.3f units!", name, fDistance); case 4: ColorChat(0, GREY, "[XJ] %s jumped %.3f units!", name, fDistance); case 5: ColorChat(0, TEAM_COLOR, "[XJ] %s jumped %.3f units!", name, fDistance); } } else client_print(0, print_chat, "[XJ] %s jumped %.3f units!", name, fDistance); if (get_cvar_num("kz_lj_sounds") == 1 && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { client_cmd(id, "speak misc/perfect"); } } else if( fDistance < get_cvar_num("kz_max_lj") && !(fDistance < get_cvar_num("kz_good_lj")) && !(0 > get_cvar_num("kz_good_lj")) && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { new name[33]; get_user_name(id, name, 31); if (get_cvar_num("kz_good_lj_clr") < 6 && get_cvar_num("kz_good_lj_clr") > 0) { switch(get_cvar_num("kz_good_lj_clr")) { case 1: ColorChat(0, RED, "[XJ] %s jumped %.3f units!", name, fDistance); case 2: ColorChat(0, GREEN, "[XJ] %s jumped %.3f units!", name, fDistance); case 3: ColorChat(0, BLUE, "[XJ] %s jumped %.3f units!", name, fDistance); case 4: ColorChat(0, GREY, "[XJ] %s jumped %.3f units!", name, fDistance); case 5: ColorChat(0, TEAM_COLOR, "[XJ] %s jumped %.3f units!", name, fDistance); } } else client_print(0, print_chat, "[XJ] %s jumped %.3f units!", name, fDistance); if (get_cvar_num("kz_lj_sounds") == 1 && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { client_cmd(id, "speak misc/impressive"); } } } else if( vJumpedAt[id][2] == vOrigin[2] && fDistance > get_cvar_num("kz_min_lj") && fMaxGroundSpeed[id] < 287 && cjumped[id] == true && !(fDistance > (get_cvar_num("kz_max_lj") + get_cvar_num("kz_cj_dif"))) ) { type = INFO_ONE; new Distance, MaxAirSpeed, MaxGroundSpeed, sync; if (goodsync[id] > 0) sync = (goodsync[id]*100/(goodsync[id]+badsync[id])); else sync = INFO_ZERO; Distance = floatround((fDistance*1000000), floatround_floor); MaxAirSpeed = floatround((fMaxAirSpeed[id]*1000000), floatround_floor); MaxGroundSpeed = floatround((fMaxGroundSpeed[id]*1000000), floatround_floor); check_lj15(id, Distance, MaxAirSpeed, MaxGroundSpeed, strafes[id], sync, type); if( gHasLjStats[id] ) { if( get_cvar_num("kz_ljs_beam") == 1) { message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vJumpedAt2[0])); write_coord(floatround(vJumpedAt2[1])); write_coord(floatround(vJumpedAt2[2])); write_coord(floatround(vTraceEnd[0])); write_coord(floatround(vTraceEnd[1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); write_byte(random_num(32, 255)); write_byte(random_num(32, 255)); write_byte(random_num(32, 255)); write_byte(200); write_byte(200); message_end(); } else if( get_cvar_num("kz_ljs_beam") == 2) { set_task(1.0,"gocheck", id); set_task(1.5,"gocheck", id); set_task(2.0,"gocheck", id); set_task(2.5,"gocheck", id); for( new i = 0; i < 127; i++ ) { if( i == 0 ) { message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vDuckedAt[id][0])); write_coord(floatround(vDuckedAt[id][1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vBeamPos[id][0][0])); write_coord(floatround(vBeamPos[id][0][1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); write_byte(0); write_byte(255); write_byte(0); write_byte(200); write_byte(200); message_end(); message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vBeamPos[id][0][0])); write_coord(floatround(vBeamPos[id][0][1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vBeamPos[id][1][0])); write_coord(floatround(vBeamPos[id][1][1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); write_byte(0); write_byte(255); write_byte(0); write_byte(200); write_byte(200); message_end(); } else if( i == 127 || (vBeamPos[id][i+1][0] == 0 && vBeamPos[id][i+1][1] == 0 && vBeamPos[id][i+1][2] == 0) ) { message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vBeamPos[id][i][0])); write_coord(floatround(vBeamPos[id][i][1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vOrigin[0])); write_coord(floatround(vOrigin[1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); if (vBeamPosStatus[id][i] == 1) { write_byte(255); write_byte(0); write_byte(0); } else { write_byte(255); write_byte(255); write_byte(0); } write_byte(200); write_byte(200); message_end(); message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vOrigin[0])); write_coord(floatround(vOrigin[1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vTraceEnd[0])); write_coord(floatround(vTraceEnd[1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); if (vBeamPosStatus[id][i] == 1) { write_byte(255); write_byte(0); write_byte(0); } else { write_byte(255); write_byte(255); write_byte(0); } write_byte(200); write_byte(200); message_end(); i=127; } else { message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, {0, 0, 0}, id); write_byte (0); write_coord(floatround(vBeamPos[id][i][0])); write_coord(floatround(vBeamPos[id][i][1])); write_coord(floatround(vTraceEnd[2])); write_coord(floatround(vBeamPos[id][i+1][0])); write_coord(floatround(vBeamPos[id][i+1][1])); write_coord(floatround(vTraceEnd[2])); write_short(gBeam); write_byte(1); write_byte(5); write_byte(30); write_byte(20); write_byte(0); if (vBeamPosStatus[id][i] == 1) { write_byte(255); write_byte(0); write_byte(0); } else if (vBeamPosStatus[id][i] == -1) { write_byte(0); write_byte(255); write_byte(0); } else { write_byte(255); write_byte(255); write_byte(0); } write_byte(200); write_byte(200); message_end(); } } } new ljStatsRed = get_cvar_num("kz_ljstats_red"); new ljStatsGreen = get_cvar_num("kz_ljstats_green"); new ljStatsBlue = get_cvar_num("kz_ljstats_blue"); set_hudmessage(ljStatsRed, ljStatsGreen, ljStatsBlue, -1.0, 0.70, 0, 0.0, 2.0, 0.1, 0.1, 3); show_hudmessage(id, "Distance: %f^nMaxSpeed: %f^nPreStrafe: %f^nStrafes: %d^nSync: %d", fDistance, fMaxAirSpeed[id], fMaxGroundSpeed[id], strafes[id], sync ); client_print(id, print_console, "Distance: %f MaxSpeed: %f PreStrafe: %f Strafes: %d Sync: %d", fDistance, fMaxAirSpeed[id], fMaxGroundSpeed[id], strafes[id], sync ); if (get_cvar_num("kz_lj_sounds") == 2) { new idist; idist = floatround(fDistance, floatround_floor); new strdist[128]; num_to_word(idist, strdist, 127); client_cmd(id, "speak ^"vox/%s uniform(e30) it south(e15)^"", strdist); } } new max_cj = get_cvar_num("kz_max_lj") + get_cvar_num("kz_cj_dif"); new leet_cj = get_cvar_num("kz_leet_lj") + get_cvar_num("kz_cj_dif"); new pro_cj = get_cvar_num("kz_pro_lj") + get_cvar_num("kz_cj_dif"); new good_cj = get_cvar_num("kz_good_lj") + get_cvar_num("kz_cj_dif"); if( fDistance < max_cj && !(fDistance < leet_cj) && !(0 > get_cvar_num("kz_leet_lj")) && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { new name[33]; get_user_name(id, name, 31); if (get_cvar_num("kz_leet_cj_clr") < 6 && get_cvar_num("kz_leet_cj_clr") > 0) { switch(get_cvar_num("kz_leet_cj_clr")) { case 1: ColorChat(0, RED, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 2: ColorChat(0, GREEN, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 3: ColorChat(0, BLUE, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 4: ColorChat(0, GREY, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 5: ColorChat(0, TEAM_COLOR, "[XJ] %s jumped %.3f units with cj!", name, fDistance); } } else client_print(0, print_chat, "[XJ] %s jumped %.3f units with cj!", name, fDistance); if (get_cvar_num("kz_lj_sounds") == 1 && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { new players[32], num; get_players(players, num); for (new i; i < num; ++i) { client_cmd(i, "speak misc/mod_wickedsick"); } client_cmd(id, "speak misc/mod_godlike"); } } else if( fDistance < max_cj && !(fDistance < pro_cj) && !(0 > get_cvar_num("kz_pro_lj")) && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { new name[33]; get_user_name(id, name, 31); if (get_cvar_num("kz_pro_cj_clr") < 6 && get_cvar_num("kz_pro_cj_clr") > 0) { switch(get_cvar_num("kz_pro_cj_clr")) { case 1: ColorChat(0, RED, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 2: ColorChat(0, GREEN, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 3: ColorChat(0, BLUE, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 4: ColorChat(0, GREY, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 5: ColorChat(0, TEAM_COLOR, "[XJ] %s jumped %.3f units with cj!", name, fDistance); } } else client_print(0, print_chat, "[XJ] %s jumped %.3f units with cj!", name, fDistance); if (get_cvar_num("kz_lj_sounds") == 1 && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { client_cmd(id, "speak misc/perfect"); } } else if( fDistance < max_cj && !(fDistance < good_cj) && !(0 > get_cvar_num("kz_good_lj")) && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { new name[33]; get_user_name(id, name, 31); if (get_cvar_num("kz_good_cj_clr") < 6 && get_cvar_num("kz_good_cj_clr") > 0) { switch(get_cvar_num("kz_good_cj_clr")) { case 1: ColorChat(0, RED, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 2: ColorChat(0, GREEN, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 3: ColorChat(0, BLUE, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 4: ColorChat(0, GREY, "[XJ] %s jumped %.3f units with cj!", name, fDistance); case 5: ColorChat(0, TEAM_COLOR, "[XJ] %s jumped %.3f units with cj!", name, fDistance); } } else client_print(0, print_chat, "[XJ] %s jumped %.3f units with cj!", name, fDistance); if (get_cvar_num("kz_lj_sounds") == 1 && (get_cvar_num("kz_lj_top") == 1 || get_cvar_num("kz_lj_top") == 3) ) { client_cmd(id, "speak misc/impressive"); } } } fMaxAirSpeed[id] = 0.0; fMaxGroundSpeed[id] = 0.0; cjumped[id] = false; gInAir[id] = false; } else if( pev(id, pev_flags)&FL_ONGROUND && gInAir[id] == false ) { pev(id, pev_velocity, vVelocity); vVelocity[2]-=vVelocity[2]; if (vector_length(vVelocity) > 277 && doubleducked[id] == false) { set_task(0.5,"gocheck", id); } gInAir[id] = false; fMaxAirSpeed[id] = 0.0; fMaxGroundSpeed[id] = 0.0; cjumped[id] = false; } for( new i = 0; i < 127; i++ ) { pev(id, pev_origin, vOrigin); if (vBeamPos[id][i][0] == 0 && vBeamPos[id][i][1] == 0 && vBeamPos[id][i][2] == 0) { vBeamPos[id][i][0] = vOrigin[0]; vBeamPos[id][i][1] = vOrigin[1]; vBeamPos[id][i][2] = vOrigin[2]; if (doubleducked[id] == true || induck[id] == true) { vBeamPosStatus[id][i] = vOrigin[0]-vOrigin[0]-1; } else if (is_in_duck(id)) vBeamPosStatus[id][i] = vOrigin[0]-vOrigin[0]+1; else vBeamPosStatus[id][i] = vOrigin[0]-vOrigin[0]; i=127; } } if( pev(id, pev_flags)&FL_ONGROUND ) { if (OnGround[id] == false) { pev(id, pev_origin, vOrigin); if ( doubleducked[id] == false && !(pev(id, pev_button)&IN_JUMP && !(pev(id, pev_oldbuttons)&IN_JUMP)) ) { set_task(0.5,"gocheck", id); } else if ( doubleducked[id] == true && !(vOrigin[2] == vDuckedAt[id][2]) ) { set_task(0.5,"gocheck", id); } OnGround[id] = true; } } if( pev(id, pev_button)&IN_DUCK && pev(id, pev_flags)&FL_ONGROUND && gInAir[id] == false ) { if ( induck[id] == false ) { cducked[id] = true; induck[id] = true; set_task(0.1,"testcjstart", id); pev(id, pev_origin, vOrigin); vDuckedAt[id][0] = vOrigin[0]; vDuckedAt[id][1] = vOrigin[1]; vDuckedAt[id][2] = vOrigin[2]; for( new i = 0; i < 128; i++ ) { vBeamPos[id][i][0] = vOrigin[0]-vOrigin[0]; vBeamPos[id][i][1] = vOrigin[1]-vOrigin[1]; vBeamPos[id][i][2] = vOrigin[2]-vOrigin[2]; } } } else if( pev(id, pev_oldbuttons)&IN_DUCK ) { induck[id] = false; if ( cducked[id] == true && !is_in_duck(id) ) { set_task(0.3,"ddend", id); doubleducked[id] = true; cducked[id] = false; } } if (!(pev(id, pev_flags)&FL_ONGROUND)) { OnGround[id] = false; } } return FMRES_IGNORED; } public fwdPlayerPostThink(id) { if( is_user_alive(id) && get_cvar_num("kz_ljs_enabled") ) { pev(id, pev_angles, angle); 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; } if (straifing_aw[id] == false && (pev(id, pev_button)&IN_MOVELEFT || pev(id, pev_button)&IN_FORWARD) && (turning_left[id] == true || turning_right[id] == true ) && !(pev(id, pev_button)&IN_MOVERIGHT || pev(id, pev_button)&IN_BACK)) { straifing_aw[id] = true; straifing_sd[id] = false; strafes[id] += INFO_ONE; } else if (straifing_sd[id] == false && (pev(id, pev_button)&IN_MOVERIGHT || pev(id, pev_button)&IN_BACK) && (turning_left[id] == true || turning_right[id] == true ) && !(pev(id, pev_button)&IN_MOVELEFT || pev(id, pev_button)&IN_FORWARD)) { straifing_aw[id] = false; straifing_sd[id] = true; strafes[id] += INFO_ONE; } } } public fwdTouch(ent, id) { new ClassName[32]; if ((ent > 0) && pev_valid(ent)) { pev(ent, pev_classname, ClassName, 31); } new ClassName2[32]; if ((id > 0) && pev_valid(id)) { pev(id, pev_classname, ClassName, 31); } if (equal(ClassName2, "player")) { if (equal(ClassName, "trigger_teleport") || equal(ClassName, "trigger_push")) { gocheck(id); } } } stock is_in_duck(entity1) { // supplied with invalid entities if( !pev_valid(entity1) ) return 0; // retrieve absolutes static Float:absmin[3], Float:absmax[3]; pev(entity1, pev_absmin, absmin); pev(entity1, pev_absmax, absmax); absmin[2]+=64.0; if( absmin[2] < absmax[2] ) { return 0; } return 1; }
- MHz&3viL
- Membru, skill 0
- Posts: 77
- Joined: 26 Nov 2007, 21:41
- Detinator Steam: Da
- CS Status: EviL ZonE
- Detinator server CS: cs.evilz.ro
- SteamID: mhz_evilz
- Location: Satu Mare
- Has thanked: 1 time
- Been thanked: 13 times
Sincer nu prea am jucat hns, habar nu am cum se joaca, dar am dat search la "cuvintele" ceea ce vad din poza si nu gasesc. Cum se numesc in engleza?
Jump to
- eXtream - Forum
- ↳ Steam
- ↳ Forum
- ↳ WebDesign
- ↳ Incepatori
- ↳ Cos de reciclare
- ↳ Discutii generale
- ↳ Anunturi
- ↳ Security zone
- ↳ Filme si seriale
- ↳ Reclamatii
- ↳ Entertainment
- ↳ Distractie
- ↳ Clubul eXtreamCS - Intra si tu ! [noi oportunitati]
- eXtream - Counter-Strike 2
- ↳ Counter-Strike 2
- eXtream - Counter-Strike 1.6
- ↳ Diverse
- ↳ Filme gaming
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Tutoriale
- ↳ Cereri
- ↳ Discutii generale
- ↳ Probleme la servere dedicate de Counter-Strike
- ↳ Cereri admin / slot
- ↳ Probleme in jocul Counter-Strike
- ↳ Pluginuri
- ↳ Pluginuri eXtream
- ↳ Cereri
- ↳ AdminMod
- ↳ AmxModX
- ↳ Resurse
- ↳ Moduri
- ↳ Addon-uri
- ↳ Kit-uri
- ↳ Harti
- ↳ Diverse
- ↳ Cereri
- ↳ Servere
- ↳ Programarea CS-ului
- ↳ Scripting
- ↳ Modificari pluginuri
- ↳ CStrike
- ↳ Cereri
- eXtream - Echipa
- ↳ Productia eXtream
- ↳ Harti eXtream
- ↳ CS.eXtreamCS.com - Server oficial eXtreamCS
- ↳ Zona administrativă
- ↳ Cereri acces
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Admin zone
- ↳ CS2.eXtreamCS.com - Server official eXtreamCS
- ↳ XMAS.eXtreamCS.com
- ↳ Cereri admin
- ↳ Cereri unban
- ↳ Reclamatii / Sugestii
- ↳ eXtreamCS #PubMasters
- eXtream - Counter Strike Global Offensive
- ↳ Diverse
- ↳ Meciuri
- ↳ Tutoriale
- ↳ Probleme la servere dedicate de Counter-Strike: Global Offensive
- ↳ Probleme in jocul Counter-Strike: Global Offensive
- ↳ Pluginuri
- ↳ Cereri
- ↳ Resurse
- ↳ Addons-uri
- ↳ Hărți
- ↳ Diverse
- ↳ Servere
- eXtream - Counter-Strike Source
- ↳ Tutoriale
- ↳ Pluginuri
- ↳ Servere
- ↳ Resurse
- ↳ Harti
- ↳ Moduri
- ↳ Diverse
- ↳ Classic » CS
- ↳ Anunțuri administrative
- ↳ Cereri admin/slot
- ↳ Cereri unban
- ↳ Reclamații
- ↳ Banlist
- ↳ Admins Only
- ↳ Discord