- #include <amxmodx> 
- #include <engine> 
- #include <fun> 
- #include <cstrike> 
- #include <amxmisc> 
- #include <fakemeta> 
-   
- new Float:TEST_TIME=0.1 
- new Float:WARN_TIME=1.0 
- new Float:FLASH_TIME=0.8 
-   
- #define MAX_ZONES 8 
- new MIN_PLAYERS=2		/*Dobre do testowania w mniej osob 
- 				  lub gdy chcesz by koniec rashu byl 
- 				  przy wiekszej liczbbie osob*/ 
- #define TASK_ZONE 600743 
- #define TASK_LOOP 500743 
- #define TASK_VIEW 400743 
- #define TASK_INFO 300743 
- #define TASK_FLASH 200743 
-   
- #define AUTHOR "Miczu" 
-   
- new mUsuwaniestrefy // Menu 
- new mcbUsuwaniestrefy // Menu Callback 
- new mZapisacstrefy // Menu 
- new mcbZapisacstrefy // Menu Callback 
- new mAntirushControlMenu // Menu 
- new mcbAntirushControlMenu // Menu Callback 
- 				//Uzylem generatora i takie malo eleganckie wyszlo 
-   
- new map_cors_edit[MAX_ZONES*6] 
- new zones_edit 
- new zone_editing=0 
- new map_editor 
- new map_cors_file_line=127 
- new zone_incresment=10 
- new zone_coords_num=0 
- new zone_coords[3][13] = { "X Kordinata", "Y Kordinata", "Z Kordinata"} 
- new editign=0 
- new edit_g_team[3] 
- new round_start=0 
- new lines 
-   
- new gMsgScreenFade 
- new rasher[33]=0 
- new raszer[33] 
- new flashed[33]=0 
- new sounded[33]=0 
- new speed_limit[33]=0 
- new Float:g_time 
- new g_team[3] 
- new g_origin[3] 
- new map_cors_pre=2 
- new map_cors_origin[MAX_ZONES*6] 
- new slap 
- new warn_control = 0 // miczu 
- new zones = 0 
-   
- new zone_color_aktiv[3] = { 0, 0, 255 } 
- new zone_color_red[3] = { 0, 255, 0 } 
- new zone_color_yellow[3] = { 255, 255, 0 } 
- new spr_dot 
-   
- new actions[11][32] = { "barney/donthurtem.wav","nihilanth/nil_now_die.wav","hgrunt/c2a3_hg_laugh.wav","hgrunt/silence!.wav","hgrunt/silence!.wav","barney/whatsgoingon.wav","barney/rightway.wav","barney/nosir.wav","barney/openfire.wav","barney/stophere.wav","hgrunt/c2a2_hg_chat5a.wav"} 
-   
- public plugin_init() 
- {	 
- 	register_plugin("Anti-Rush","2.5d",AUTHOR) 
- 	log_amx(" <<Uruchomiono M_Antirusher 2.5d>>") 
-   
- 	register_dictionary("M_antirusher.txt") 
- 	register_dictionary("common.txt") 
-   
- 	register_clcmd("say /rules","info") 
- 	register_clcmd("say /antirusher_menu","amx_antirusher_menu") 
-   
- 	register_cvar("Antirusher", "2.5d",FCVAR_SERVER) 
- 	register_cvar("amx_antirusher","1")			 
- 	register_cvar("amx_antirusher_sound","1")		 
- 	register_cvar("amx_antirusher_sound_mode","0") 
- 	register_cvar("amx_antirusher_warn","1") 
- 	register_cvar("amx_antirusher_slap","3")		 
- 	register_cvar("amx_antirusher_time","60.0")		 
- 	register_cvar("amx_antirusher_freq","0.1") 
- 	register_cvar("amx_antirusher_action","7") 
- 	register_cvar("amx_antirusher_cash","50")		 
- 	register_cvar("amx_antirusher_cash_end","2")		 
- 	register_cvar("amx_antirusher_immunity","0")	 
- 	register_cvar("amx_antirusher_zasady","1") 
- 	register_cvar("amx_antirusher_people","2") 
-   
- 	register_event("HLTV","Event_StartRound","a","1=0","2=0") 
- 	register_event("RoundTime","event_roundtime","bc") 
- 	register_event("SendAudio", "bomb_planted", "a", "2&%!MRAD_BOMBPL") 
- 	register_event("DeathMsg","DeathMsg","ade")  
- 	register_event("CurWeapon","CurWeapon","be")  
-   
- 	gMsgScreenFade = get_user_msgid("ScreenFade")  
- 	map_cors_pre = map_cors_present(map_cors_origin,g_team) 
- 	TEST_TIME=get_cvar_float("amx_antirusher_freq") 
-   
- 	register_menucmd(register_menuid("Antirush Menu"), 1023, "Antirush_menu") 
- 	register_menucmd(register_menuid("Punishment Menu"), 1023, "Punishment_menu") 
- 	register_menucmd(register_menuid("Antirush Zone Creator"), 1023, "Antirush_Zone_Creator") 
- 	register_menucmd(register_menuid("Edit Zone"), 1023, "edit_zone2") 
-   
- 	mAntirushControlMenu = menu_create("Antirush Control Menu", "mh_AntirushControlMenu") 
- 	mcbAntirushControlMenu = menu_makecallback("mcb_AntirushControlMenu") 
- 	menu_additem(mAntirushControlMenu, "Antirush cvar control", "ma_AntirushControlMenu", ADMIN_CVAR, mcbAntirushControlMenu) 
- 	menu_additem(mAntirushControlMenu, "Antirush Punishments", "ma_AntirushControlMenu", ADMIN_CVAR, mcbAntirushControlMenu) 
- 	menu_additem(mAntirushControlMenu, "Antirush Zone Creator", "ma_AntirushControlMenu", ADMIN_RCON, mcbAntirushControlMenu) 
-   
- 	mZapisacstrefy = menu_create("Zapisac strefy", "mh_Zapisacstrefy") 
- 	mcbZapisacstrefy = menu_makecallback("mcb_Zapisacstrefy") 
- 	menu_additem(mZapisacstrefy, "TAK", "ma_Zapisacstrefy", ADMIN_ALL, mcbZapisacstrefy) 
- 	menu_additem(mZapisacstrefy, "NIE", "ma_Zapisacstrefy", ADMIN_ALL, mcbZapisacstrefy) 
-   
- 	mUsuwaniestrefy = menu_create("Usuwanie strefy", "mh_Usuwaniestrefy") 
- 	mcbUsuwaniestrefy = menu_makecallback("mcb_Usuwaniestrefy") 
- 	menu_additem(mUsuwaniestrefy, "TAK", "ma_Usuwaniestrefy", ADMIN_ALL, mcbUsuwaniestrefy) 
- 	menu_additem(mUsuwaniestrefy, "NIE", "ma_Usuwaniestrefy", ADMIN_ALL, mcbUsuwaniestrefy) 
-   
- 	require_module("fakemeta") 
-   
- 	require_module("engine") 
- 	require_module("fun") 
- 	require_module("cstrike") 
-   
- 	return PLUGIN_CONTINUE 
- } 
-   
- public plugin_precache() { 
- 	spr_dot = precache_model("sprites/dot.spr") // potrzebne do robienia lini 
- } 
-   
- /////////////////////////////////////////////////////////////////////// 
- /////////                M_Antirusher  Events                 ///////// 
- //////////////////////////////////////////////////////////////////////// 
-   
- public client_connect(id){ 
- 	free_the_man(id)		//nie chcemy by ktos kto sie polaczy byl karany 
- }					//kiedy osoba co opuszczajac serwer miala kare 
- 					//czyli gdy stary i nowy gracz beda mieli te same id 
-   
- public client_disconnect(id) { 
- 	free_the_man(id)		//tak na wszelki wypadek, ale mozna sobie odpuscic 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public Event_StartRound(){ 
- 	round_start++				 
- 	MIN_PLAYERS = get_cvar_num("amx_antirusher_people")	// zmiana people dziala na starcie rundy 
- } 
-   
- public client_putinserver(id){ 		//tu informacja o rashu 
- 	new arg[1] 			//Zoptymalizowane uzycie set_task 
- 	arg[0]=id			//Deklaracja 1 kumurki pamieci zamiast 4 i bez zmian z str-> num i na odwrot 
-   
- 	if (map_cors_pre && get_cvar_num("amx_antirusher")) 
- 		set_task(45.0,"informclient",TASK_INFO+id,arg,1)  
- }  
-   
- public bomb_planted() {			//podlozono bombe 
- 	remove_task(TASK_LOOP)		//przerywa sprawdzanie rashu 
- 	remove_task(TASK_VIEW)		//przerywa wyswietlanie granic dla userow	 
- 	free_the_world()		//mozna rashowac 
- } 
-   
- public event_roundtime() { 
- 	if (round_start<1) return PLUGIN_CONTINUE 	//takie zabezpieczenie by nie sprawdzalo po czasie rashu 
- 	if (map_cors_pre && get_cvar_num("amx_antirusher")) { 
- 		slap = floatround(get_cvar_num("amx_antirusher_slap")*(10.0*TEST_TIME)) // slapy biora zawsze tyle samo hp w przedziale czasu 
- 		remove_task(TASK_LOOP) 
- 		remove_task(TASK_VIEW) 
- 		g_time = get_gametime() + get_cvar_float("amx_antirusher_time") 
- 		set_task(2*TEST_TIME, "checkOrigin",TASK_LOOP) 
- 		set_task(2*WARN_TIME, "rash_warn",TASK_VIEW) 
-   
- 	} 
- 	return PLUGIN_CONTINUE 
- }					// 
-   
- public DeathMsg(){ 
- 	new vid = read_data(2)		//id trupa 
- 	free_the_man(vid)		//uwalnia trupa by zaczol runde z czystym kontem 
- } 
-   
- ////////////////////////////////////////////////////////////////////// 
- /////////                M_Antirusher Things                 ///////// 
- ////////////////////////////////////////////////////////////////////// 
-   
- map_cors_present(maporigin[MAX_ZONES*6],team[3]) { 
-   
- 	new zonefile[256],zonefile2[256] 
-   
- 	get_configsdir(zonefile, 255) 
-   
- 	if(is_linux_server()){ 
- 		format(zonefile2, 255, "%s/antirusher", zonefile) 
- 		if(!(dir_exists(zonefile2))) mkdir (zonefile2) 
- 		format(zonefile2, 255, "%s/antirusher/rush.cor", zonefile) 
- 	} 
- 	else{ 
- 		format(zonefile2, 255, "%s\antirusher", zonefile) 
- 		if(!(dir_exists(zonefile2))) mkdir (zonefile2) 
- 		format(zonefile2, 255, "%s\antirusher\rush.cor", zonefile) 
- 	} 
-   
- 	if (file_exists(zonefile2)){	 
-   
- 		new readdata[512] 
- 		new currentmap[32] 
- 		get_mapname(currentmap,31) 
- 		new map[32], len  
- 		new x11[16],x12[16],y11[16],y12[16],z11[16],z12[16] 
- 		new x21[16],x22[16],y21[16],y22[16],z21[16],z22[16] 
- 		new x31[16],x32[16],y31[16],y32[16],z31[16],z32[16] 
- 		new x41[16],x42[16],y41[16],y42[16],z41[16],z42[16] 
- 		new x51[16],x52[16],y51[16],y52[16],z51[16],z52[16] 
- 		new x61[16],x62[16],y61[16],y62[16],z61[16],z62[16] 
- 		new x71[16],x72[16],y71[16],y72[16],z71[16],z72[16] 
- 		new x81[16],x82[16],y81[16],y82[16],z81[16],z82[16] 
-   
-   
- 		for(new i=0; i < 128 && read_file(zonefile2,i,readdata,511,len); i++) { 
- 			x11="";x12="";y11="";y12="";z11="";z12="" 
- 			x21="";x22="";y21="";y22="";z21="";z22="" 
- 			x31="";x32="";y31="";y32="";z31="";z32="" 
- 			x41="";x42="";y41="";y42="";z41="";z42="" 
- 			x51="";x52="";y51="";y52="";z51="";z52="" 
- 			x61="";x62="";y61="";y62="";z61="";z62="" 
- 			parse(readdata,team,2,map,31,x11,15,x12,15,y11,15,y12,15,z11,15,z12,15, 
- 				x21,15,x22,15,y21,15,y22,15,z21,15,z22,15, 
- 				x31,15,x32,15,y31,15,y32,15,z31,15,z32,15, 
- 				x41,15,x42,15,y41,15,y42,15,z41,15,z42,15, 
- 				x51,15,x52,15,y51,15,y52,15,z51,15,z52,15, 
- 				x61,15,x62,15,y61,15,y62,15,z61,15,z62,15, 
- 				x71,15,x72,15,y71,15,y72,15,z71,15,z72,15, 
- 				x81,15,x82,15,y81,15,y82,15,z81,15,z82,15) 
- 			lines=i 
- 			if(equal(map,currentmap)) { 
- 				maporigin[0] = str_to_num(x11) 
- 				maporigin[1] = str_to_num(x12) 
- 				maporigin[2] = str_to_num(y11) 
- 				maporigin[3] = str_to_num(y12) 
- 				maporigin[4] = str_to_num(z11) 
- 				maporigin[5] = str_to_num(z12) 
- 				maporigin[6] = str_to_num(x21) 
- 				maporigin[7] = str_to_num(x22) 
- 				maporigin[8] = str_to_num(y21) 
- 				maporigin[9] = str_to_num(y22) 
- 				maporigin[10] = str_to_num(z21) 
- 				maporigin[11] = str_to_num(z22) 
- 				maporigin[12] = str_to_num(x31) 
- 				maporigin[13] = str_to_num(x32) 
- 				maporigin[14] = str_to_num(y31) 
- 				maporigin[15] = str_to_num(y32) 
- 				maporigin[16] = str_to_num(z31) 
- 				maporigin[17] = str_to_num(z32) 
- 				maporigin[18] = str_to_num(x41) 
- 				maporigin[19] = str_to_num(x42) 
- 				maporigin[20] = str_to_num(y41) 
- 				maporigin[21] = str_to_num(y42) 
- 				maporigin[22] = str_to_num(z41) 
- 				maporigin[23] = str_to_num(z42) 
- 				maporigin[24] = str_to_num(x51) 
- 				maporigin[25] = str_to_num(x52) 
- 				maporigin[26] = str_to_num(y51) 
- 				maporigin[27] = str_to_num(y52) 
- 				maporigin[28] = str_to_num(z51) 
- 				maporigin[29] = str_to_num(z52) 
- 				maporigin[30] = str_to_num(x61) 
- 				maporigin[31] = str_to_num(x62) 
- 				maporigin[32] = str_to_num(y61) 
- 				maporigin[33] = str_to_num(y62) 
- 				maporigin[34] = str_to_num(z61) 
- 				maporigin[35] = str_to_num(z62) 
- 				maporigin[36] = str_to_num(x71) 
- 				maporigin[37] = str_to_num(x72) 
- 				maporigin[38] = str_to_num(y71) 
- 				maporigin[39] = str_to_num(y72) 
- 				maporigin[40] = str_to_num(z71) 
- 				maporigin[41] = str_to_num(z72) 
- 				maporigin[42] = str_to_num(x81) 
- 				maporigin[43] = str_to_num(x82) 
- 				maporigin[44] = str_to_num(y81) 
- 				maporigin[45] = str_to_num(y82) 
- 				maporigin[46] = str_to_num(z81) 
- 				maporigin[47] = str_to_num(z82) 
-   
- 				map_cors_file_line=i 
- 				for(new j=0;j<MAX_ZONES;j++){ 
- 					i=j*6 
- 					if(((maporigin[1+i]-maporigin[0+i])>0)&&((maporigin[3+i]-maporigin[2+i])>0)&&((maporigin[5+i]-maporigin[4+i])>0)) 
- 					zones++ 
- 				} 
-   
- 				return 1 
- 			} 
- 			if((len<15)  && (map_cors_file_line>i)) map_cors_file_line=i 
- 		} 
- 		log_amx("%L",LANG_SERVER,"AR_NO_ZONE") 
- 		if(lines+2<map_cors_file_line) map_cors_file_line=lines+2	//zapobiega zapisywaniu na 127 pozycji gdy nie ma wolnych lini na koncu :) 
- 		return 0 
- 	} 
- 	else log_amx("%L",LANG_SERVER,"AR_NO_FILE") 
- 	g_team="XX" 
- 	map_cors_file_line=0			//nie ma pluku rush,cor wiec niech zapisze w pierwszej lini 
- 	return 0 
- } 
-   
-   
- public info(id){ 
- 	new anti_zasady = get_cvar_num("amx_antirusher_zasady") 
- 	if(anti_zasady==1){ 
- 		new map[4] 
- 		get_mapname(map,3)		// rozpoznawanie typu mapy na podstawie pierwszych 3 liter :p 
-   
- 		if (equal(map,"cs_")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_CS_MAP") 
- 		else if (equal(map,"de_")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_DE_MAP") 
- 		else if (equal(map,"fy_")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_FY_MAP") 
- 		else if (equal(map,"aim")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_AIM_MAP") 
- 		else if (equal(map,"awp")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_AWP_MAP") 
- 		else if (equal(map,"kz_")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_KZ_MAP") 
- 		else if (equal(map,"fun")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_FUN_MAP") 
- 		else if (equal(map,"sur")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_SURF_MAP") 
- 		else if (equal(map,"sj_")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_SJ_MAP") 
- 		else if (equal(map,"ka_")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_KA_MAP") 
- 		else if (equal(map,"he_")) client_print(id,print_chat, "%L",LANG_PLAYER,"AR_HE_MAP") 
- 	} 
- } 
-   
- public informclient(arg[1]){  
- 					// arg[0] to id ^^ 
- 	if(is_user_connected(arg[0])) {	// spradza czy gracz nadal jest na serwie 
- 		client_print(arg[0],print_chat,"%L",LANG_PLAYER,"AR_INFO_WARN") 
- 		client_print(arg[0],print_chat,"%L",LANG_PLAYER,"AR_INFO_CLIENT",get_cvar_float("amx_antirusher_time"))  
- 	} 
- } 
-   
-   
- public checkOrigin() { 			// tu sprawdza czy rashujesz 
-   
- 	if (round_start<1) return 
- 	if (get_gametime() > g_time) 
- 	{ 
- 		free_the_world() 
- 		return 
- 	} 
-   
- 	new players[32], num,tt_num,ct_num 
- 	get_players(players,num) 
-   
- 	for(new i=0;i<num;i++) 
- 	{ 
- 		if(is_user_alive(players[i])) 
- 		{ 
- 			if(cs_get_user_team(players[i])==CS_TEAM_T) tt_num++ 
- 			else if(cs_get_user_team(players[i])==CS_TEAM_CT) ct_num++ 
- 		} 
- 	} 
-   
- 	if (tt_num<MIN_PLAYERS) 
- 	{ 
- 		free_the_world() 
- 		return 
- 	} 
- 	if (ct_num<MIN_PLAYERS) 
- 	{ 
- 		free_the_world() 
- 		return 
- 	} 
-   
-   
- 	get_players(players,num) 
- 	set_task(TEST_TIME, "checkOrigin", TASK_LOOP) 
- 	for(new i = 0; i < num; i++)  
- 	{ 
- 		if(is_user_alive(players[i])) 
- 		{ 
- 			if((equal(g_team,"T")&&(cs_get_user_team(players[i])==CS_TEAM_T))||(equal(g_team,"CT")&&(cs_get_user_team(players[i])==CS_TEAM_CT))||equal(g_team,"XX")) 
- 			{	 
- 				get_user_origin(players[i],g_origin) 
- 				if ((map_cors_origin[0] < g_origin[0] < map_cors_origin[1]) && (map_cors_origin[2] < g_origin[1] < map_cors_origin[3]) && (map_cors_origin[4] < g_origin[2] < map_cors_origin[5]) || 
- 					(map_cors_origin[6] < g_origin[0] < map_cors_origin[7]) && (map_cors_origin[8] < g_origin[1] < map_cors_origin[9]) && (map_cors_origin[10] < g_origin[2] < map_cors_origin[11]) || 
- 					(map_cors_origin[12] < g_origin[0] < map_cors_origin[13]) && (map_cors_origin[14] < g_origin[1] < map_cors_origin[15]) && (map_cors_origin[16] < g_origin[2] < map_cors_origin[17]) || 
- 					(map_cors_origin[18] < g_origin[0] < map_cors_origin[19]) && (map_cors_origin[20] < g_origin[1] < map_cors_origin[21]) && (map_cors_origin[22] < g_origin[2] < map_cors_origin[23]) || 
- 					(map_cors_origin[24] < g_origin[0] < map_cors_origin[25]) && (map_cors_origin[26] < g_origin[1] < map_cors_origin[27]) && (map_cors_origin[28] < g_origin[2] < map_cors_origin[29]) || 
- 					(map_cors_origin[30] < g_origin[0] < map_cors_origin[31]) && (map_cors_origin[32] < g_origin[1] < map_cors_origin[33]) && (map_cors_origin[34] < g_origin[2] < map_cors_origin[35])){ 
- 					punishPlayer(players[i]) 
- 					raszer[players[i]]=1 
- 				} 
- 				else{ 
- 					free_the_man(players[i]) 
- 				} 
- 			} 
- 		} 
- 	} 
- } 
-   
- public rash_warn(){				// tu sprawsza czy ma ci wyswietlic granice rashu 
- 	if (get_gametime() > g_time){ 
- 		return 
- 	} 
- 	if (get_cvar_num("amx_antirusher_warn")==0) return 
- 	new players[32], num, tt_num, ct_num 
- 	get_players(players,num) 
-   
- 	for(new i=0;i<num;i++) 
- 	{ 
- 		if(is_user_alive(players[i])) 
- 		{ 
- 			if(cs_get_user_team(players[i])==CS_TEAM_T) tt_num++ 
- 			else if(cs_get_user_team(players[i])==CS_TEAM_CT) ct_num++ 
- 		} 
- 	} 
-   
- 	if (equal(g_team,"CT")){ 
- 		if (tt_num<MIN_PLAYERS) return 
- 		if (ct_num<MIN_PLAYERS) return 
- 	}  
-   
- 	set_task(WARN_TIME, "rash_warn",TASK_VIEW) 
-   
- 	new orrigins[3] 
- 	for(new j=0;j<num;j++){ 
- 		if(raszer[players[j]]<1 && is_user_alive(players[j]))	 // jak juz raszuje to mozna graczowi odpuscic :) 
- 		{		 
- 			if((equal(g_team,"T")&&(cs_get_user_team(players[j])==CS_TEAM_T))||(equal(g_team,"CT")&&(cs_get_user_team(players[j])==CS_TEAM_CT))||equal(g_team,"XX")) 
- 			{	 
- 				get_user_origin(players[j],orrigins) 
- 				for(new i=0;i<MAX_ZONES;i++){ 
- 					if((map_cors_origin[0+i*6]-450 < orrigins[0] < map_cors_origin[0+i*6]) && (map_cors_origin[2+i*6]-100 < orrigins[1] < map_cors_origin[3+i*6]+100) && (map_cors_origin[4+i*6] < orrigins[2] < map_cors_origin[5+i*6])){ 
- 						zone_warn(players[j],i,0,orrigins) 
- 					} 
- 					else if((map_cors_origin[1+i*6] < orrigins[0] < map_cors_origin[1+i*6]+450) && (map_cors_origin[2+i*6]-100 < orrigins[1] < map_cors_origin[3+i*6]+100) && (map_cors_origin[4+i*6] < orrigins[2] < map_cors_origin[5+i*6])){ 
- 						zone_warn(players[j],i,1,orrigins) 
- 					} 
- 					if((map_cors_origin[0+i*6]-100 < orrigins[0] < map_cors_origin[0+i*6+1]+100) && (map_cors_origin[2+i*6]-450 < orrigins[1] < map_cors_origin[2+i*6]) && (map_cors_origin[4+i*6] < orrigins[2] < map_cors_origin[5+i*6])){ 
- 						zone_warn(players[j],i,2,orrigins) 
- 					} 
- 					else if((map_cors_origin[0+i*6]-100 < orrigins[0] < map_cors_origin[0+i*6+1]+100) && (map_cors_origin[3+i*6] < orrigins[1] < map_cors_origin[3+i*6]+450) && (map_cors_origin[4+i*6] < orrigins[2] < map_cors_origin[5+i*6])){ 
- 						zone_warn(players[j],i,3,orrigins) 
- 					} 
- 				}			// nigdy nie bedziesz widzial przednia i tylna lub lewa i prawa sciane rownoczesnie wiec jest else 
-   
- 			} 
- 		} 
- 	} 
- } 
-   
- /////////////////////////////////////////////////////////////////////////// 
- /////////                M_Antirusher Punishments                 ///////// 
- /////////////////////////////////////////////////////////////////////////// 
-   
- punishPlayer(id) { 
-   
- 	new action = 1 
- 	action = get_cvar_num("amx_antirusher_action")	 
- 	if ((get_cvar_num("amx_antirusher_immunity") == 1)&&(get_user_flags(id)&ADMIN_IMMUNITY)) { 
- 		action = 0 
- 	} 
- 	switch (action) { 
- 		case 0:{ 
- 		new name[32] 
- 		get_user_name(id,name,31) 
- 		server_cmd("amx_chat %L",LANG_SERVER,"AR_SRV_INFO", name) 
- 		} 
- 		case 1:	fakedamage ( id, "rashing", slap*1.0,16384) 
- 		case 2: user_silentkill(id) 
- 		case 3: kickPlayer(id) 
- 		case 4: banPlayer(id) 
- 		case 5:{ 
- 			if(speed_limit[id]==0){ 
- 				speed_limit[id]=1 
- 				set_user_maxspeed(id,(get_user_maxspeed(id)/2.0)); 
- 			} 
- 		} 
- 		case 6:{ 
- 			if(flashed[id]==0){ 
- 				flashed[id]=1 
- 				set_task(FLASH_TIME,"Flash",TASK_FLASH+id)  
- 			} 
- 		} 
- 		case 7:{ 
- 			new Float: velocity[3] 
- 			new Float: DW //D³ugosc wektora 
- 			entity_get_vector(id,EV_VEC_velocity,velocity) 
- 			DW=vector_length ( velocity )+0.0001 
- 			velocity[0]=(velocity[0]/DW)*(-500.0) 
- 			velocity[1]=(velocity[1]/DW)*(-500.0) 
- 			if(velocity[2]<0) velocity[2]=velocity[2]*(-1.0)+15.0 //wyrzuca do gory 
- 			entity_set_vector(id,EV_VEC_velocity,velocity)	 
- 		} 
- 		case 8:{ 
- 			rasher[id]=1 
- 		} 
- 		case 9:{ 
- 			aim_on_me(id) 
- 		} 
- 		case 10:{ 
- 			ebay_time_to_pay(id)	// ogladalem filmik w flashu i to chyba przez to :p 
- 		} 
- 		default:{ 
- 			new name[32] 
- 			get_user_name(id,name,31) 
- 			server_cmd("amx_chat %L:p",LANG_SERVER,"AR_SRV_INFO", name) 
- 		} 
- 	} 
- 	if (warn_control >(25/floatround(10.0*TEST_TIME))){	// jak dlugo siedzisz w granicy to ci pisze w czacie :p 
- 	client_print(id, print_chat, "%L",LANG_PLAYER,"AR_RASH_WARN") 
- 	warn_control=0;} 
- 	warn_control+=1 
-   
- 	if(get_cvar_num("amx_antirusher_sound")){ 
- 		if(sounded[id]==0){ 
- 		new sound_mode = get_cvar_num("amx_antirusher_sound_mode") 
-   
- 		if(sound_mode==0) client_cmd(id,"spk %s",actions[action]) 
- 		else client_cmd(0,"spk %s",actions[action]) 
- 		sounded[id]=1 
- 		}		 
- 	} 
- } 
-   
- kickPlayer(id) { 
- 	client_print(id, print_chat, "%L",LANG_PLAYER,"AR_RASH_KICK") 
- 	client_print(id, print_chat, "%L",LANG_PLAYER,"AR_RASH_KICK") 
- 	server_cmd("amx_kick #%d", id) 
- } 
-   
- banPlayer(id) { 
- 	client_print(id, print_chat, "%L",LANG_PLAYER,"AR_RASH_BAN") 
- 	client_print(id, print_chat, "%L",LANG_PLAYER,"AR_RASH_BAN") 
- 	server_cmd("amx_ban #%d 5 rush", id) 
- } 
-   
- public CurWeapon(id){ 
- 	if(speed_limit[id]==1) set_user_maxspeed(id,(get_user_maxspeed(id)/2.0));	// zmiana broni cie przyspieszy? nie ^^ 
- } 
-   
- public Flash(id) { 
- 	id-=TASK_FLASH 
- 	if(flashed[id]){ 
- 		set_task(FLASH_TIME,"Flash",TASK_FLASH+id)  
-   
- 		message_begin(MSG_ONE,gMsgScreenFade,{0,0,0},id)  
- 		write_short( 1<<15 )  
- 		write_short( 1<<10 ) 
- 		write_short( 1<<12 ) 
- 		new x,y,z 
- 		x= random_num(0,255) 
- 		write_byte( x )  
- 		y= random_num(0,255) 
- 		write_byte( y )  
- 		z= random_num(0,255) 
- 		write_byte( z )  
- 		write_byte( 255 )  
- 		message_end() 
- 		emit_sound(id,CHAN_BODY, "weapons/flashbang-2.wav", 1.0, ATTN_NORM, 0, PITCH_HIGH) 
- 	} 
- } 
-   
- public client_PreThink(id){	 
- 	if (rasher[id]){ 
- 		new button = entity_get_int(id, EV_INT_button) 
- 		if ((button & IN_ATTACK2) || (button & IN_ATTACK)){ 
- 			user_silentkill(id) 
- 		} 
- 	}	 
- } 
-   
- public aim_on_me(id){ 
- 	new radom, radom2 
- 	radom = random_num(0,3) 
- 	radom2 = random_num(1,6) 
- 	new polecenie[64] 
- 	switch (radom){ 
- 		case 0:{ 
- 			format(polecenie, 63, "+left;") 
- 		} 
- 		case 1:{ 
- 			format(polecenie, 63, "+right;") 
- 		} 
- 		case 2:{ 
- 			format(polecenie, 63, "+lookup;") 
- 		} 
- 		case 3:{ 
- 			format(polecenie, 63, "+lookdown;") 
- 		} 
- 	} 
-   
- 	for (new i=0; i < radom2; i++) 
- 	{ 
- 		add(polecenie, 63, "wait;") 
- 	} 
-   
- 	switch (radom) { 
- 		case 0:{ 
- 			add(polecenie, 63, "-left;") 
- 		} 
- 		case 1:{ 
- 			add(polecenie, 63, "-right;") 
- 		} 
- 		case 2:{ 
- 			add(polecenie, 63, "-lookup;") 
- 		} 
- 		case 3:{ 
- 			add(polecenie, 63, "-lookdown;") 
- 		} 
- 	} 
- 	client_cmd(id,"%s",polecenie) 
- } 
-   
- ebay_time_to_pay(id){ 
- 	new cash=get_cvar_num("amx_antirusher_cash")*floatround(10.0*TEST_TIME) 
- 	new cash2=get_cvar_num("amx_antirusher_cash_end") 
- 	new money = cs_get_user_money(id) 
- 	if (money-cash > 0)cs_set_user_money(id,money-cash) 
- 	else switch(cash2){ 
- 		case 0: 	cs_set_user_money(id,0) 
- 		case 1:{  
- 			fakedamage ( id, "rashing", cash/25.0,16384) 
- 		} 
- 		case 2:{  
- 			fakedamage ( id, "rashing", cash/10.0,16384) 
- 		}	 
- 		case 3:{  
- 			fakedamage ( id, "rashing", cash/5.0,16384) 
- 		} 
- 		case 4:{  
- 			fakedamage ( id, "rashing", cash/2.0,16384) 
- 		} 
- 		case 5:{  
- 			fakedamage ( id, "rashing", cash/1.0,16384) 
- 		} 
- 	} 
- } 
-   
- public free_the_man(id){ 
- 	sounded[id]=0 
- 	rasher[id]=0 
- 	flashed[id]=0 
- 	raszer[id]=0 
- 	if(speed_limit[id]==1){ 
- 		set_user_maxspeed(id,(get_user_maxspeed(id)*2.0)) 
- 		speed_limit[id]=0 
- 	} 
- } 
-   
-   
- public free_the_world(){ 
- 	if(round_start<1) return 
- 	round_start=0 
- 	new players[32],num  
- 	get_players(players,num,"a") 
- 	for(new i;i<num;i++){ 
- 		free_the_man(players[i]) 
- 		message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, players[i]) 
- 		write_byte(players[i]) 
- 		write_string("^x04 Lehet rusholni!") 
- 		message_end() 
- 	} 
- } 
-   
- /////////////////////////////////////////////////////////////////////// 
- /////////                 M_Antirusher Menu's                 ///////// 
- /////////////////////////////////////////////////////////////////////// 
-   
- public amx_antirusher_menu(id){ 
- 	menu_display(id, mAntirushControlMenu, 0) 
- } 
-   
- public mh_AntirushControlMenu(id, menu, item) { 
- 	switch(item)  
- 	{  
- 		case 0: { 
- 			showmenu(id) 
- 		} 
- 		case 1: { 
- 			showmenu2(id) 
- 		} 
- 		case 2: { 
-   
- 			map_editor=id 
- 			edit_g_team=g_team 
- 			transfer_zones() 
- 			zones_edit=zones 
- 			if(zones>0) zone_editing=1 
- 			show_all_zones() 
- 			remove_task(TASK_ZONE) 
- 			set_task(0.2, "show_all_zones", TASK_ZONE, _, _, "b") 
- 			showmenu3(id) 
- 		} 
- 	}			 
- } 
-   
- public ma_AntirushControlMenu(id) {}			// bo z generatora amxx studio 
- public mcb_AntirushControlMenu(id, menu, item) {}	// i usuniecie nie daje dobrych efektow... 
-   
- public transfer_zones(){ 
- 	for(new i=0;i<MAX_ZONES*6;i++){ 
- 	map_cors_edit[i]=map_cors_origin[i] 
- 	} 
- } 
-   
- public showmenu(id) 
- { 
- 	new text[512]  
- 	new keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8) 
- 	new anti_on = get_cvar_num("amx_antirusher")				//1 
- 	new anti_immu = get_cvar_num("amx_antirusher_immunity")			//2 
- 	new Float: anti_time = get_cvar_float("amx_antirusher_time")		//3 
- 	new anti_warn = get_cvar_num("amx_antirusher_warn")			//4 
- 	new anti_sound = get_cvar_num("amx_antirusher_sound")			//5 
- 	new anti_sound_mode = get_cvar_num("amx_antirusher_sound_mode")		//6 
- 	new anti_zasady = get_cvar_num("amx_antirusher_zasady")			//7 
- 	new people = get_cvar_num("amx_antirusher_people")			//8 
- 	format(text, 511, "\yAntirush Menu - ^n\w1. amx_antirusher %i^n\w2. amx_antirusher_immunity %i^n\w3. amx_antirusher_time %.f^n\w4. amx_antirusher_warn  %i^n\w5. amx_antirusher_sound %i^n\w6. amx_antirusher_sound_mode %i^n\w7. amx_antirusher_zasady %i^n\w8. amx_antirusher_people %i^n^n\w9. %L",anti_on, anti_immu, anti_time, anti_warn, anti_sound, anti_sound_mode,anti_zasady,people,LANG_SERVER,"EXIT")  
-   
- 	show_menu(id, keys, text)  
- 	return PLUGIN_HANDLED   
- }  
-   
-   
- public Antirush_menu(id, key)  
- {  
- 	switch(key)  
- 	{  
- 		case 0:{	 
- 			new anti_on = get_cvar_num("amx_antirusher") 
- 			if (anti_on==0) set_cvar_num("amx_antirusher",1) 
- 			else set_cvar_num("amx_antirusher",0) 
- 		} 
- 		case 1:{	 
- 			new anti_immu = get_cvar_num("amx_antirusher_immunity") 
- 			if (anti_immu==0) set_cvar_num("amx_antirusher_immunity",1) 
- 			else set_cvar_num("amx_antirusher_immunity",0) 
- 		} 
- 		case 2:{	 
- 			new Float: anti_time = get_cvar_float("amx_antirusher_time") 
- 			if (anti_time < (get_cvar_float("mp_roundtime")*60.0)) anti_time += 5.0 
- 			else anti_time= 10.0 
- 			set_cvar_float("amx_antirusher_time",anti_time) 
- 		} 
- 		case 3:{ 
- 			new anti_warn = get_cvar_num("amx_antirusher_warn") 
- 			if (anti_warn==0) set_cvar_num("amx_antirusher_warn",1) 
- 			else set_cvar_num("amx_antirusher_warn",0) 
- 		} 
- 		case 4:{ 
- 			new anti_sound = get_cvar_num("amx_antirusher_sound") 
- 			if (anti_sound==0) set_cvar_num("amx_antirusher_sound",1) 
- 			else set_cvar_num("amx_antirusher_sound",0) 
- 		} 
- 		case 5:{ 
- 			new anti_sound_mode = get_cvar_num("amx_antirusher_sound_mode") 
- 			if (anti_sound_mode==0) set_cvar_num("amx_antirusher_sound_mode",1) 
- 			else set_cvar_num("amx_antirusher_sound_mode",0) 
- 		} 
- 		case 6:{		 
- 			new anti_zasady = get_cvar_num("amx_antirusher_zasady") 
- 			if (anti_zasady==0) set_cvar_num("amx_antirusher_zasady",1) 
- 			else set_cvar_num("amx_antirusher_zasady",0) 
- 		} 
- 		case 7:{		 
- 			new people = get_cvar_num("amx_antirusher_people") 
- 			if (people<16) set_cvar_num("amx_antirusher_people",people+1) 
- 			else set_cvar_num("amx_antirusher_people",0) 
- 		}		 
- 		case 8:{ 
- 			menu_display(id, mAntirushControlMenu, 0) 
- 			return PLUGIN_HANDLED 
- 		}		 
- 	} 
- 	showmenu(id) 
- 	return PLUGIN_HANDLED 
- } 
-   
- public showmenu2(id) 
- { 
- 	new keys 
- 	new text[512]  
- 	new anti_action = get_cvar_num("amx_antirusher_action")					 
- 	new anti_cash = get_cvar_num("amx_antirusher_cash")*10		 
- 	new anti_cash_end = get_cvar_num("amx_antirusher_cash_end")				 
- 	new Float: anti_freq = get_cvar_float("amx_antirusher_freq") 
- 	new anti_slap = get_cvar_num("amx_antirusher_slap")*10 
-   
- 	switch(anti_action) 
- 	{ 
- 		case 1:  
- 		{ 
- 			format(text,511,"\yPunishment Menu - ^n\w1. amx_antirusher_action %i^n\w2. amx_antirusher_slap %i^n\w^n\w4. amx_antirusher_freq %.2f ^n\w ",anti_action,anti_slap,anti_freq) 
- 			keys = (1<<0)|(1<<1)|(1<<3)|(1<<8) 
- 		} 
- 		case 10: 
- 		{ 
- 			format(text,511,"\yPunishment Menu - ^n\w1. amx_antirusher_action %i^n\w2. amx_antirusher_cash %i^n\w3. amx_antirusher_cash_end %i^n\w4. amx_antirusher_freq %.2f^n\w ",anti_action, anti_cash, anti_cash_end,anti_freq) 
- 			keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<8) 
- 		} 
- 		default:  
- 		{ 
- 			format(text,511,"\yPunishment Menu - ^n\w1. amx_antirusher_action %i^n\w ^n\w ^n\w4. amx_antirusher_freq %.2f^n\w ",anti_action,anti_freq) 
- 			keys = (1<<0)|(1<<3)|(1<<8) 
- 		} 
- 	} 
- 	new text2[512] 
- 	switch(anti_action)  
- 	{  
- 		case 0: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_WARN",LANG_SERVER,"EXIT") 
- 		case 1: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_HP",LANG_SERVER,"EXIT") 
- 		case 2: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_KILL",LANG_SERVER,"EXIT") 
- 		case 3: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_KICK",LANG_SERVER,"EXIT") 
- 		case 4: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_BAN",LANG_SERVER,"EXIT") 
- 		case 5: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_SLOW",LANG_SERVER,"EXIT") 
- 		case 6: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_BLIND",LANG_SERVER,"EXIT") 
- 		case 7: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_FFILD",LANG_SERVER,"EXIT") 
- 		case 8: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_OFIRE",LANG_SERVER,"EXIT") 
- 		case 9: format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_BAIM",LANG_SERVER,"EXIT") 
- 		case 10:format(text2,511, "^n\w %L ^n\w %L ^n\w9. %L",LANG_SERVER,"AR_ACTION_CASH",LANG_SERVER,"AR_ACTION_CASH2",LANG_SERVER,"EXIT") 
- 		default:format(text2,511, "^n\w %L ^n\w ^n\w9. %L",LANG_SERVER,"AR_ACTION_NEW",LANG_SERVER,"EXIT") 
- 	}  
- 	add(text,511,text2) 
- 	show_menu(id, keys, text) 
- 	return PLUGIN_HANDLED   
- }  
-   
- public Punishment_menu(id, key)  
- {  
- 	new anti_action = get_cvar_num("amx_antirusher_action") 
- 	switch(key)  
- 	{  
- 		case 0:  
- 		{	 
- 			if(anti_action<10) anti_action +=1 
- 			else anti_action=0 
- 			set_cvar_num("amx_antirusher_action",anti_action) 
- 		} 
- 		case 1:  
- 		{	 
- 			if(anti_action==1) 
- 			{ 
- 				new anti_slap = get_cvar_num("amx_antirusher_slap") 
- 				if(anti_slap<10) anti_slap +=1 
- 				else anti_slap=0 
- 				set_cvar_num("amx_antirusher_slap",anti_slap) 
- 			} 
- 			else if(anti_action==10) 
- 			{ 
- 				new anti_cash = get_cvar_num("amx_antirusher_cash") 
- 				if(anti_cash<100) anti_cash +=10 
- 				else if(anti_cash<500) anti_cash +=25 
- 				else anti_cash=0 
- 				set_cvar_num("amx_antirusher_cash",anti_cash) 
- 			} 
- 		} 
- 		case 2:  
- 		{	 
- 			new anti_cash_end = get_cvar_num("amx_antirusher_cash_end")	 
- 			if(anti_cash_end<5) anti_cash_end +=1 
- 			else anti_cash_end=0 
- 			set_cvar_num("amx_antirusher_cash_end",anti_cash_end) 
- 		} 
- 		case 3:  
- 		{	 
- 			new Float: anti_freq = get_cvar_float("amx_antirusher_freq")	 
- 			if(anti_freq<1.0) anti_freq +=0.100001 // ta jedynka na koncu bo zamiast wyswietalc 0.90000 wyswietlalo 0.89999 wiec dalem zaokraglenie do 0.xx i to na koniec :f 
- 			else if (anti_freq<8.0) anti_freq +=0.5 
- 			else anti_freq=0.1 
- 			set_cvar_float("amx_antirusher_freq",anti_freq) 
- 		}		 
- 		case 8: 
- 		{ 
- 			menu_display(id, mAntirushControlMenu, 0) 
- 			return PLUGIN_HANDLED 
- 		}		 
- 	} 
- 	showmenu2(id) 
- 	return PLUGIN_HANDLED 
- } 
-   
- public showmenu3(id) 
- { 
- 	editign=0 
- 	new text[512]  
- 	new keys 
- 	if(zones_edit==0){ 
- 		keys = (1<<0)|(1<<4)|(1<<6)|(1<<7)|(1<<8) 
- 		format(text, 511, "\yAntirush Zone Creator - ^n^n\w%L: \r%i^n\w1.%L: %s ^n^n ^n^n^n\y5. %L ^n\r7. %L^n\w8. %L ^n\w9. %L",LANG_SERVER,"AR_ZONE_NUM",zones_edit,LANG_SERVER,"AR_ZONE_TEAM",edit_g_team,LANG_SERVER,"AR_ZONE_NEW",LANG_SERVER,"AR_ZONE_DEL",LANG_SERVER,"AR_ZONE_SAVE",LANG_SERVER,"EXIT")  
- 	} 
- 	else if(zones_edit>0){ 
- 		keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<6)|(1<<7)|(1<<8) 
- 		format(text, 511, "\yAntirush Zone Creator - ^n^n\w%L: \r%i^n\w1.%L: %s ^n^n\w2. %L \r%i^n      \w3. <- %L 4. -> %L^n^n\y5. %L ^n\r7. %L^n\w8. %L ^n\w9. %L",LANG_SERVER,"AR_ZONE_NUM",zones_edit,LANG_SERVER,"AR_ZONE_TEAM",edit_g_team,LANG_SERVER,"AR_ZONE_EDIT",zone_editing,LANG_SERVER,"BACK",LANG_SERVER,"MORE",LANG_SERVER,"AR_ZONE_NEW",LANG_SERVER,"AR_ZONE_DEL",LANG_SERVER,"AR_ZONE_SAVE",LANG_SERVER,"EXIT")  
- 	}	 
-   
- 	show_menu(id, keys, text) 
- 	return PLUGIN_HANDLED  
- }  
-   
-   
- public Antirush_Zone_Creator(id, key)  
- {  
- 	if(map_editor!=id){ 
- 		showmenu(id) 
- 		return PLUGIN_HANDLED 
- 	} 
-   
- 	switch(key)  
- 	{  
- 		case 0:{ 
- 			if (equal(edit_g_team,"XX")) edit_g_team="CT" 
- 			else if (equal(edit_g_team,"CT")) edit_g_team="T" 
- 			else edit_g_team="XX" 
- 		} 
- 		case 1: {	 
- 			zone_incresment=10 
- 			edit_zone(id) 
- 			return PLUGIN_HANDLED 
- 		} 
- 		case 2:{	 
- 			if(zone_editing>1) zone_editing-- 
- 		} 
- 		case 3:{	 
- 			if(zone_editing<zones_edit) zone_editing++ 
- 		} 
- 		case 4:{ 
- 			if(zones_edit<(MAX_ZONES)){ 
- 				create_zone(id) 
- 				zone_editing=zones_edit 
- 				zone_incresment=10 
- 				edit_zone(id) 
- 				return PLUGIN_HANDLED 
- 			} 
- 			else{ 
- 				client_print(id, print_chat,"%L",LANG_SERVER,"AR_ZONE_MAX") 
- 			} 
- 		} 
- 		case 6:{ 
- 			if(zone_editing>0){ 
- 				menu_display(id, mUsuwaniestrefy, 0) 
- 				return PLUGIN_HANDLED 
- 			} 
- 			else client_print(id, print_chat,"%L",LANG_SERVER,"AR_ZONE_ZERO") 
- 		} 
-   
- 		case 7:{ 
- 			menu_display(id, mZapisacstrefy, 0) 
- 			return PLUGIN_HANDLED 
- 		} 
- 		case 8:{ 
- 			amx_antirusher_menu(id) 
- 			remove_task(TASK_ZONE) 
- 			return PLUGIN_HANDLED 
- 		}		 
- 	} 
- 	showmenu3(id) 
- 	return PLUGIN_HANDLED 
- } 
-   
- public create_zone(id){ 
- 	new origins[3] 
- 	get_user_origin(id,origins,0) 
- 	map_cors_edit[0+zones_edit*6]=origins[0]-32 
- 	map_cors_edit[1+zones_edit*6]=origins[0]+32 
- 	map_cors_edit[2+zones_edit*6]=origins[1]-32 
- 	map_cors_edit[3+zones_edit*6]=origins[1]+32 
- 	map_cors_edit[4+zones_edit*6]=origins[2]-32 
- 	map_cors_edit[5+zones_edit*6]=origins[2]+32 
- 	zones_edit++ 
- } 
-   
-   
- public mh_Zapisacstrefy(id, menu, item) { 
- 	if(item==0){ 
- 		remove_task(TASK_ZONE) 
- 		amx_antirusher_menu(id) 
- 		map_cors_origin=map_cors_edit 
- 		zones=zones_edit 
- 		g_team=edit_g_team 
- 		if(zones>0) map_cors_pre=1 
- 		else map_cors_pre=0 
- 		write_to_file() 
- 	} 
- 	else if(item==1) showmenu3(id) 
- } 
-   
- public ma_Zapisacstrefy(id) {} 
- public mcb_Zapisacstrefy(id, menu, item) {} 
-   
-   
- public mh_Usuwaniestrefy(id, menu, item) { 
- 	if(item==0){ 
- 		amx_antirusher_menu(id) 
- 		delete_zone(zone_editing) 
- 		if((zone_editing-1)>=(zones_edit-1)) zone_editing = zones_edit-1 
- 		zones_edit-- 
- 		showmenu3(id) 
- 	} 
- 	else if(item==1) showmenu3(id) 
- } 
-   
- public ma_Usuwaniestrefy(id) {} 
- public mcb_Usuwaniestrefy(id, menu, item) {} 
-   
- public delete_zone(zone_num){ 
- 	new x_num=zone_num-1 
- 	while(x_num<(MAX_ZONES-1)){ 
- 		map_cors_edit[0+x_num*6]=map_cors_edit[6+x_num*6] 
- 		map_cors_edit[1+x_num*6]=map_cors_edit[7+x_num*6] 
- 		map_cors_edit[2+x_num*6]=map_cors_edit[8+x_num*6] 
- 		map_cors_edit[3+x_num*6]=map_cors_edit[9+x_num*6] 
- 		map_cors_edit[4+x_num*6]=map_cors_edit[10+x_num*6] 
- 		map_cors_edit[5+x_num*6]=map_cors_edit[11+x_num*6] 
- 		x_num++ 
- 	} 
- } 
-   
- public edit_zone(id){ 
- 	editign=1 
- 	new text[512]  
- 	new keys= (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<6)|(1<<8) 
- 	format(text, 511, "\yEdit Zone - ^n^n\w1. %L: %s ^n\r    2.<- %L  3.-> %L^n\y    4.<- %L  5.-> %L^n  ^n\w7. %L: %i ^n\w9. %L",LANG_SERVER,"AR_EDIT_COOR",zone_coords[zone_coords_num],LANG_SERVER,"BACK",LANG_SERVER,"MORE",LANG_SERVER,"BACK",LANG_SERVER,"MORE",LANG_SERVER,"AR_EDIT_CHANG",zone_incresment,LANG_SERVER,"EXIT") 	 
-   
- 	show_menu(id, keys, text) 
- 	return PLUGIN_HANDLED  
- }  
-   
- public edit_zone2(id, key){ 	 
- 	switch(key){  
- 		case 0:{	 
- 			if(zone_coords_num<2)zone_coords_num++ 
- 			else zone_coords_num=0 
- 		} 
- 		case 1:{	 
- 			if((map_cors_edit[zone_coords_num*2+(zone_editing-1)*6]+zone_incresment)<(map_cors_edit[zone_coords_num*2+(zone_editing-1)*6+1]-32)) map_cors_edit[zone_coords_num*2+(zone_editing-1)*6]+=zone_incresment 
- 		} 
- 		case 2:{	 
- 			if((map_cors_edit[zone_coords_num*2+(zone_editing-1)*6]-zone_incresment)>-8191) map_cors_edit[zone_coords_num*2+(zone_editing-1)*6]-=zone_incresment 
- 		} 
- 		case 3:{ 
- 			if((map_cors_edit[zone_coords_num*2+(zone_editing-1)*6+1]-zone_incresment)>(map_cors_edit[zone_coords_num*2+(zone_editing-1)*6]+32)) map_cors_edit[zone_coords_num*2+(zone_editing-1)*6+1]-=zone_incresment 
- 		} 
- 		case 4:{	 
- 			if((map_cors_edit[zone_coords_num*2+(zone_editing-1)*6+1]+zone_incresment)<8191) map_cors_edit[zone_coords_num*2+(zone_editing-1)*6+1]+=zone_incresment 
- 		} 
- 		case 6:{ 
- 			if(zone_incresment<1000)zone_incresment*=10 
- 			else zone_incresment=1 
- 		} 
- 		case 8:{ 
- 			showmenu3(id) 
- 			return PLUGIN_HANDLED 
- 		}		 
- 	} 
- 	edit_zone(id) 
- 	return PLUGIN_HANDLED 
- } 
-   
- ////////////////////////////////////////////////////////////////////////// 
- /////////                 M_Antirusher Draw Lines                ///////// 
- ////////////////////////////////////////////////////////////////////////// 
-   
- public FX_Line(start[3], stop[3], color[3], brightness, id) { 
- 	message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id)  
-   
- 	write_byte( TE_BEAMPOINTS )  
-   
- 	write_coord(start[0])  
- 	write_coord(start[1]) 
- 	write_coord(start[2]) 
-   
- 	write_coord(stop[0]) 
- 	write_coord(stop[1]) 
- 	write_coord(stop[2]) 
-   
- 	write_short( spr_dot ) 
-   
- 	write_byte( 1 )	// framestart  
- 	write_byte( 1 )	// framerate  
- 	write_byte( 4 )	// life in 0.1's  
- 	write_byte( 5 )	// width 
- 	write_byte( 0 ) 	// noise  
-   
- 	write_byte( color[0] )   // r, g, b  
- 	write_byte( color[1] )   // r, g, b  
- 	write_byte( color[2] )   // r, g, b  
-   
- 	write_byte( brightness )  	// brightness  
- 	write_byte( 0 )   	// speed  
-   
- 	message_end()  
- } 
-   
- public DrawLine(x1, y1, z1, x2, y2, z2, color[3],id) { 
- 	new start[3] 
- 	new stop[3] 
-   
- 	start[0] = ( x1 ) 
- 	start[1] = ( y1 ) 
- 	start[2] = ( z1 ) 
-   
- 	stop[0] = ( x2 ) 
- 	stop[1] = ( y2 ) 
- 	stop[2] = ( z2 ) 
-   
- 	FX_Line(start, stop, color, 200, id) 
- } 
-   
- public ar_zone(zone_num,id){ 
- 	new start[3],stop[3] 
- 	new xyz=0 
- 	if(zone_editing==zone_num) xyz=1 
-   
- 	zone_num=(zone_num-1)*6 
-   
- 	start[0]= map_cors_edit[0+zone_num] 
- 	start[1]= map_cors_edit[2+zone_num] 
- 	start[2]= map_cors_edit[4+zone_num] 
-   
- 	stop[0]= map_cors_edit[1+zone_num] 
- 	stop[1]= map_cors_edit[3+zone_num] 
- 	stop[2]= map_cors_edit[5+zone_num] 
-   
- 	ShowZoneBox(start, stop, id,xyz) 
- } 
-   
- public ShowZoneBox(mins[3], maxs[3], id,xyz) { 
-   
- 	DrawLine(maxs[0], maxs[1], maxs[2], mins[0], maxs[1], maxs[2], zone_color_aktiv, id) 
- 	DrawLine(maxs[0], maxs[1], maxs[2], maxs[0], mins[1], maxs[2], zone_color_aktiv, id) 
- 	DrawLine(maxs[0], maxs[1], maxs[2], maxs[0], maxs[1], mins[2], zone_color_aktiv, id) 
-   
- 	DrawLine(mins[0], mins[1], mins[2], maxs[0], mins[1], mins[2], zone_color_aktiv, id) 
- 	DrawLine(mins[0], mins[1], mins[2], mins[0], maxs[1], mins[2], zone_color_aktiv, id) 
- 	DrawLine(mins[0], mins[1], mins[2], mins[0], mins[1], maxs[2], zone_color_aktiv, id) 
-   
- 	DrawLine(mins[0], maxs[1], maxs[2], mins[0], maxs[1], mins[2], zone_color_aktiv, id) 
- 	DrawLine(mins[0], maxs[1], mins[2], maxs[0], maxs[1], mins[2], zone_color_aktiv, id) 
- 	DrawLine(maxs[0], maxs[1], mins[2], maxs[0], mins[1], mins[2], zone_color_aktiv, id) 
- 	DrawLine(maxs[0], mins[1], mins[2], maxs[0], mins[1], maxs[2], zone_color_aktiv, id) 
- 	DrawLine(maxs[0], mins[1], maxs[2], mins[0], mins[1], maxs[2], zone_color_aktiv, id) 
- 	DrawLine(mins[0], mins[1], maxs[2], mins[0], maxs[1], maxs[2], zone_color_aktiv, id) 
-   
- 	if((xyz==1)&&(editign==1)){ 
- 		if(zone_coords_num==0){ 
- 			DrawLine(maxs[0], maxs[1], maxs[2], maxs[0], mins[1], mins[2], zone_color_yellow, id) 
- 			DrawLine(maxs[0], maxs[1], mins[2], maxs[0], mins[1], maxs[2], zone_color_yellow, id) 
- 			DrawLine(mins[0], maxs[1], maxs[2], mins[0], mins[1], mins[2], zone_color_red, id) 
- 			DrawLine(mins[0], maxs[1], mins[2], mins[0], mins[1], maxs[2], zone_color_red, id) 
- 		} 
- 		else if( zone_coords_num==1){ 
- 			DrawLine(mins[0], mins[1], mins[2], maxs[0], mins[1], maxs[2], zone_color_red, id) 
- 			DrawLine(maxs[0], mins[1], mins[2], mins[0], mins[1], maxs[2], zone_color_red, id) 
- 			DrawLine(mins[0], maxs[1], mins[2], maxs[0], maxs[1], maxs[2], zone_color_yellow, id) 
- 			DrawLine(maxs[0], maxs[1], mins[2], mins[0], maxs[1], maxs[2], zone_color_yellow, id) 
- 		} 
- 		else{ 
- 			DrawLine(maxs[0], maxs[1], maxs[2], mins[0], mins[1], maxs[2], zone_color_yellow, id) 
- 			DrawLine(maxs[0], mins[1], maxs[2], mins[0], maxs[1], maxs[2], zone_color_yellow, id) 
- 			DrawLine(maxs[0], maxs[1], mins[2], mins[0], mins[1], mins[2], zone_color_red, id) 
- 			DrawLine(maxs[0], mins[1], mins[2], mins[0], maxs[1], mins[2], zone_color_red, id) 
- 		} 
- 	} 
- } 
-   
- public show_all_zones(){ 
- 	new num=1 
- 	while(num<=zones_edit){ 
- 		ar_zone(num,map_editor) 
- 		num++ 
- 	} 
- 	if(zone_editing>0){ 
- 		new origins[3], origins2[3] 
- 		get_user_origin(map_editor,origins) 
- 		new Float: range_line 
- 		new Float: range_origins[6] 
- 		for(new i=0;i<6;i++) range_origins[i] = (map_cors_edit[i+6*(zone_editing-1)])*1.0 
- 		range_line= floatsqroot(((range_origins[1]-range_origins[0])/2.0-origins[0])*((range_origins[1]-range_origins[0])/2.0-origins[0])+((range_origins[3]-range_origins[2])/2.0-origins[1])*((range_origins[3]-range_origins[2])/2.0-origins[1])+((range_origins[5]-range_origins[4])/2.0-origins[2])*((range_origins[5]-range_origins[4])/2.0-origins[2])) 
- 		if(range_line>20000) for(new i=0;i<3;i++){ 
- 			origins2[i]=((map_cors_edit[i*2+6*(zone_editing-1)] + map_cors_edit[i*2+1+6*(zone_editing-1)])/2)/6 
- 		} 
- 		else if(range_line>15000) for(new i=0;i<3;i++){ 
- 			origins2[i]=((map_cors_edit[i*2+6*(zone_editing-1)] + map_cors_edit[i*2+1+6*(zone_editing-1)])/2)/5 
- 		} 
- 		else if(range_line>10000) for(new i=0;i<3;i++){ 
- 			origins2[i]=((map_cors_edit[i*2+6*(zone_editing-1)] + map_cors_edit[i*2+1+6*(zone_editing-1)])/2)/3 
- 		} 
- 		else for(new i=0;i<3;i++){ 
- 			origins2[i]=((map_cors_edit[i*2+6*(zone_editing-1)] + map_cors_edit[i*2+1+6*(zone_editing-1)])/2) 
- 		} 
- 		FX_Line(origins, origins2, zone_color_red,200,map_editor) 
- 	} 
- } 
-   
- public zone_warn(id,zone,direction,origins[3]){ 
- 	new start[3],stop[3] 
- 	start[2]=origins[2]-110 
- 	stop[2]=origins[2]-110 
-   
- 	switch(direction){ 
- 		case 0:{ 
- 			start[0]=map_cors_origin[zone*6]+5 
- 			stop[0]=map_cors_origin[zone*6]+5 
- 			start[1]=map_cors_origin[zone*6+2] 
- 			stop[1]=map_cors_origin[zone*6+3] 
- 		} 
- 		case 1:{ 
- 			start[0]=map_cors_origin[zone*6+1]-5 
- 			stop[0]=map_cors_origin[zone*6+1]-5 
- 			start[1]=map_cors_origin[zone*6+2] 
- 			stop[1]=map_cors_origin[zone*6+3] 
- 		} 
- 		case 2:{ 
- 			start[0]=map_cors_origin[zone*6+0] 
- 			stop[0]=map_cors_origin[zone*6+1] 
- 			start[1]=map_cors_origin[zone*6+2]+5 
- 			stop[1]=map_cors_origin[zone*6+2]+5 
- 		} 
- 		case 3:{ 
- 			start[0]=map_cors_origin[zone*6+0] 
- 			stop[0]=map_cors_origin[zone*6+1] 
- 			start[1]=map_cors_origin[zone*6+3]-5 
- 			stop[1]=map_cors_origin[zone*6+3]-5 
- 		} 
- 	} 
- 	for(new i=0;i<9;i++){ 
- 		start[2]+=30 
- 		stop[2]+=30 
- 		FX_Line(start, stop, zone_color_red, 60, id) 
- 	} 
- } 
-   
- /////////////////////////////////////////////////////////////////////////// 
- /////////                 M_Antirusher Save to file               ///////// 
- /////////////////////////////////////////////////////////////////////////// 
-   
- public write_to_file(){ 
- 	new text[512],text2[64] 
- 	new currentmap[32] 
- 	get_mapname(currentmap,31) 
- 	format(text,511,"%s %s ", g_team, currentmap) 
- 	new x0[6],x1[6],y0[6],y1[6],z0[6],z1[6] 
- 	for(new i=0;i<zones;i++){ 
- 		num_to_str(map_cors_origin[0+i*6],x0,5) 
- 		num_to_str(map_cors_origin[1+i*6],x1,5) 
- 		num_to_str(map_cors_origin[2+i*6],y0,5) 
- 		num_to_str(map_cors_origin[3+i*6],y1,5) 
- 		num_to_str(map_cors_origin[4+i*6],z0,5) 
- 		num_to_str(map_cors_origin[5+i*6],z1,5) 
- 		format(text2,63,"%s %s %s %s %s %s ",x0,x1,y0,y1,z0,z1) 
- 		add(text,511,text2) 
- 	} 
-   
- 	if(is_linux_server()){ 
- 		new zonefile[256] 
- 		get_configsdir(zonefile, 255) 
- 		format(zonefile, 255, "%s/antirusher/rush.cor", zonefile) 
- 		if((write_file ( zonefile, text, map_cors_file_line ))==0) log_amx("<<Blad przy nadpisywaniu rush.cor>>")		 
- 	} 
- 	else{	 
- 		if((write_file ( "addons\amxmodx\configs\antirusher\rush.cor", text, map_cors_file_line ))==0) log_amx("<<Blad przy nadpisywaniu rush.cor>>") 
- 	} 
- } 
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE 
- *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par } 
- */ 
-