- /********************** 
- amx_advanced_weaprest.sma by MagicShot ...*... 
-   
- Usage: 
- amx_weaprest "weaponname" or "Weapon Group ex. submachineguns" - Refer to Readme for More Examples 
-   
- Main Cvars: 
- amx_weaponrest < - Enable/Diable Avanced Weapon Restion - Deafult Enabled 
- amx_weaponwait < - Wait Till Next Round Before Restictions Start - Default Enabled 
-   
- Voting Cvars: 
- amx_weapvote_ratio <- Vote Ratio - Default 51% 
- amx_wvote_delay    <- Weapon Vote delay - Default 180 Seconds 
- amx_xtra_wep_msg   <- Extra Weapon Messgae-  Default 0 - OFF 
-   
- *********** 
- *Change.Log 
- *********** 
- Version 0.33 ([MUPPETS] Gonzo) 
- 1) found another vote-bug 
- 2) removed hardcoded pathes - using log_amx 
- 3) Should now be approvable <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) --> 
-   
- Version 0.32 (by [MUPPETS] Gonzo) 
- 1) voting fixed 
- 2) fixed amxmodx path (still hardcoded) 
-   
- Version 0.31 
- 1). Bug fixes. Should now work with CS 1.6  
-   
- Updates: 
- 1). CZ Testing Currently 
- 2). Adding Sheild Restriction 
- 3). Menu & Better Voting System to Come. 
- 4). Cool Punishment (Ideas Requested) 
-   
- Version 0.3 
-   
- 1). Added amx_weaponwait cvar 
- 2). Added Group Restrictions 
- 3). Added Inital Voting System 
- 4). Omtimized Restriction Checking 
-   
- Credits: Bailopan, _KaszpiR_, & Ludwig Van 
- **********************/ 
- #include <amxmodx>  
- #include <amxmisc>  
-   
- new const weaponname[31][] = {"pistols", "p228", "shotguns", "scout", "submachineguns", "auto", "zoomed", "mac10", "aug", "scoped", "elites", "fiveseven", "ump45", "sgsniper", "zoomscope", "rifles", "usp", "glock", "awp", "mp5", "para", "pump", "colt", "tmp", "g3sniper", "25", "deagle", "sg552", "ak47", "knife", "p90"} 
- new const vote_weapon[31][] = {"vote_pistols", "vote_p228", "vote_shotguns", "vote_scout", "vote_submachineguns", "vote_auto", "vote_zoomed", "vote_mac10", "vote_aug", "vote_scoped", "vote_elites", "vote_fiveseven", "vote_ump45", "vote_sgsniper", "vote_zoomscope", "vote_rifles", "vote_usp", "vote_glock", "vote_awp", "vote_mp5", "vote_para", "vote_pump", "vote_colt", "vote_tmp", "vote_g3sniper", "25", "vote_deagle", "vote_sg552", "vote_ak47", "vote_knife", "vote_p90"} 
- new pistols[31] 
- new shotguns[31] 
- new submachineguns[31] 
- new zoomed[31] 
- new scoped[31] 
- new zoomscope[31] 
- new rifles[31] 
- new pistols_disabled[31] 
- new shotguns_disabled[31] 
- new submachineguns_disabled[31] 
- new zoomed_disabled[31] 
- new scoped_disabled[31] 
- new zoomscope_disabled[31] 
- new rifles_disabled[31] 
- new weap_disabled[64] 
- new weap_pend[32] 
- new curweap 
- new bool:first_time[32] 
- new voteweapon[32] 
- new votewepi 
- new votewepi2 
- new voteoutcome 
- new votenumber = 0 
- new votecontroller[33][2] 
- new option[4] 
- new Float:vote_ratio 
- new totalvoters = 0 
- new bool:bVoteToStop = false 
- new st_vote 
- new bool:wvote_deny = false 
-   
- public checkweap(id,level,cid) {  
- 	//if (!cmd_access(id,level,cid,3)) { 
- 	//  client_print(id,print_console,"[AMXX] Access Check") 
- 	//	return PLUGIN_HANDLED 
- 	//} 
- 	client_print(id,print_console,"[AMXX] Access Granted") 
- 	new weap[32] 
- 	read_argv(1,weap,31)  
- 	if (equal(weap,"")) 
- 		return PLUGIN_CONTINUE 
-  	for(new i = 0; i < 31; i++) { 
- 		if (containi(weaponname[i], weap)!=-1) 
- 			curweap = i 
- 		if (first_time[i] == true) 
- 			first_time[i] = false 
- 	}	 
- 	if ( (weap_disabled[curweap] == 0) && (weap_pend[curweap] != 1) ){ 
- 		if (get_cvar_num("amx_weaponwait") == 0) 
- 			weap_disabled[curweap] = 1 
-   
- 		if (containi(weaponname[curweap], "pistols")!=-1) { 
- 			weap_pend[0] = 1 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				pistols[1] = 1; pistols[10] = 1; pistols[11] = 1; pistols[16] = 1; pistols[17] = 1; pistols[26] = 1; weap_pend[0] = 1 
- 			}else { 
- 				pistols[1] = 1; pistols[10] = 1; pistols[11] = 1; pistols[16] = 1; pistols[17] = 1; pistols[26] = 1 
- 				pistols_disabled[1] = 1; pistols_disabled[10] = 1; pistols_disabled[11] = 1; pistols_disabled[16] = 1; pistols_disabled[17] = 1; pistols_disabled[26] = 1 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "shotguns")!=-1) { 
- 			weap_pend[2] = 1 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				shotguns[5] = 1; shotguns[21] = 1 
- 			}else { 
- 				shotguns[5] = 1; shotguns[21] = 1 
- 				shotguns_disabled[5] = 1; shotguns_disabled[21] = 1 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "submachineguns")!=-1) { 
- 			weap_pend[4] = 1 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				submachineguns[7] = 1; submachineguns[12] = 1; submachineguns[19] = 1; submachineguns[23] = 1 
- 			}else { 
- 				submachineguns[7] = 1; submachineguns[12] = 1; submachineguns[19] = 1; submachineguns[23] = 1 
- 				submachineguns_disabled[7] = 1; submachineguns_disabled[12] = 1; submachineguns_disabled[19] = 1; submachineguns_disabled[23] = 1 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "zoomed")!=-1) { 
- 			weap_pend[6] = 1 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				zoomed[8] = 1; zoomed[27] = 1 
- 			}else { 
- 				zoomed[8] = 1; zoomed[27] = 1 
- 				zoomed_disabled[8] = 1; zoomed_disabled[27] = 1 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "scoped")!=-1) { 
- 			weap_pend[9] = 1 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				scoped[3] = 1; scoped[13] = 1; scoped[18] = 1; scoped[24] = 1 
- 			}else { 
- 				scoped[3] = 1; scoped[13] = 1; scoped[18] = 1; scoped[24] = 1 
- 				scoped_disabled[3] = 1; scoped_disabled[13] = 1; scoped_disabled[18] = 1; scoped_disabled[24] = 1 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "zoomscope")!=-1) { 
- 			weap_pend[14] = 1 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				zoomscope[3] = 1; zoomscope[8] = 1; zoomscope[13] = 1; zoomscope[18] = 1; zoomscope[24] = 1; zoomscope[27] = 1 
- 			}else { 
- 				zoomscope[3] = 1; zoomscope[8] = 1; zoomscope[13] = 1; zoomscope[18] = 1; zoomscope[24] = 1; zoomscope[27] = 1 
- 				zoomscope_disabled[3] = 1; zoomscope_disabled[8] = 1; zoomscope_disabled[13] = 1; zoomscope_disabled[18] = 1; zoomscope_disabled[24] = 1; zoomscope_disabled[27] = 1 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "rifles")!=-1) { 
- 			weap_pend[15] = 1 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				rifles[22] = 1; rifles[28] = 1; rifles[3] = 1; rifles[8] = 1; rifles[13] = 1; rifles[18] = 1; rifles[24] = 1; rifles[27] = 1 
- 			}else { 
- 				rifles[22] = 1; rifles[28] = 1; rifles[3] = 1; rifles[8] = 1; rifles[13] = 1; rifles[18] = 1; rifles[24] = 1; rifles[27] = 1 
- 				rifles_disabled[22] = 1; rifles_disabled[28] = 1; rifles_disabled[3] = 1; rifles_disabled[8] = 1; rifles_disabled[13] = 1; rifles_disabled[18] = 1; rifles_disabled[24] = 1; rifles_disabled[27] = 1 
- 			} 
- 		} 
- 		first_time[curweap] = true 
- 		weap_pend[curweap] = 1 
- 		client_print(id,print_console,"[AMXX] Disable %s Next Round", weaponname[curweap]) 
-   
- 	}else {  
- 		if (containi(weaponname[curweap], "pistols")!=-1) { 
- 			weap_pend[0] = 2 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				pistols[1] = 2; pistols[10] = 2; pistols[11] = 2; pistols[16] = 2; pistols[17] = 2; pistols[26] = 2 
- 			}else { 
- 				pistols[1] = 2; pistols[10] = 2; pistols[11] = 2; pistols[16] = 2; pistols[17] = 2; pistols[26] = 2 
- 				pistols_disabled[1] = 2; pistols_disabled[10] = 2; pistols_disabled[11] = 2; pistols_disabled[16] = 2; pistols_disabled[17] = 2; pistols_disabled[26] = 2 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "shotguns")!=-1) { 
- 			weap_pend[2] = 2 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				shotguns[5] = 2; shotguns[21] = 2 
- 			}else { 
- 				shotguns[5] = 2; shotguns[21] = 2 
- 				shotguns_disabled[5] = 2; shotguns_disabled[21] = 2 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "submachineguns")!=-1) { 
- 			weap_pend[4] = 2 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				submachineguns[7] = 2; submachineguns[12] = 2; submachineguns[19] = 2; submachineguns[23] = 2 
- 			}else { 
- 				submachineguns[7] = 2; submachineguns[12] = 2; submachineguns[19] = 2; submachineguns[23] = 2 
- 				submachineguns_disabled[7] = 2; submachineguns_disabled[12] = 2; submachineguns_disabled[19] = 2; submachineguns_disabled[23] = 2 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "zoomed")!=-1) { 
- 			weap_pend[6] = 2 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				zoomed[8] = 2; zoomed[27] = 2 
- 			}else { 
- 				zoomed[8] = 2; zoomed[27] = 2 
- 				zoomed_disabled[8] = 2; zoomed_disabled[27] = 2 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "scoped")!=-1) { 
- 			weap_pend[9] = 2 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				scoped[3] = 2; scoped[13] = 2; scoped[18] = 2; scoped[24] = 2 
- 			}else { 
- 				scoped[3] = 2; scoped[13] = 1; scoped[18] = 2; scoped[24] = 2 
- 				scoped_disabled[3] = 2; scoped_disabled[13] = 2; scoped_disabled[18] = 2; scoped_disabled[24] = 2 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "zoomscope")!=-1) { 
- 			weap_pend[14] = 2 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				zoomscope[3] = 2; zoomscope[8] = 2; zoomscope[13] = 2; zoomscope[18] = 2; zoomscope[24] = 2; zoomscope[27] = 2 
- 			}else { 
- 				zoomscope[3] = 2; zoomscope[8] = 2; zoomscope[13] = 2; zoomscope[18] = 2; zoomscope[24] = 2; zoomscope[27] = 2 
- 				zoomscope_disabled[3] = 2; zoomscope_disabled[8] = 2; zoomscope_disabled[13] = 2; zoomscope_disabled[18] = 2; zoomscope_disabled[24] = 2; zoomscope_disabled[27] = 2 
- 			} 
- 		} 
- 		if (containi(weaponname[curweap], "rifles")!=-1) { 
- 			weap_pend[15] = 2 
- 			if (get_cvar_num("amx_weaponwait") == 1) { 
- 				rifles[22] = 2; rifles[28] = 2; rifles[3] = 2; rifles[8] = 2; rifles[13] = 2; rifles[18] = 2; rifles[24] = 2; rifles[27] = 2 
- 			}else { 
- 				rifles[22] = 2; rifles[28] = 2; rifles[3] = 2; rifles[8] = 2; rifles[13] = 2; rifles[18] = 2; rifles[24] = 2; rifles[27] = 2 
- 				rifles_disabled[22] = 2; rifles_disabled[28] = 2; rifles_disabled[3] = 2; rifles_disabled[8] = 2; rifles_disabled[13] = 2; rifles_disabled[18] = 2; rifles_disabled[24] = 2; rifles_disabled[27] = 2 
- 			} 
- 		} 
- 		weap_pend[curweap] = 2 
- 		client_print(id,print_console,"[AMXX] Enable %s Next Round", weaponname[curweap]) 
- 		if (get_cvar_num("amx_weaponwait") == 0) 
- 			weap_disabled[curweap] = 0 
- 	}  
- 	return PLUGIN_HANDLED  
- }  
-   
- public dropthatweapon(id) { 
- 	if (get_cvar_num("amx_weaponrest") == 0) 
- 		return PLUGIN_HANDLED 
- 	new weapon, ammo, wep 
- 	weapon = get_user_weapon(id,wep,ammo) 
- 	new const wepi = read_data(2) 
- 	if (get_cvar_num("amx_weaponwait") == 1) { 
- 		if (pistols[wepi] == 1 || shotguns[wepi] == 1 || submachineguns[wepi] == 1 || zoomed[wepi] == 1|| scoped[wepi] == 1 || zoomscope[wepi] == 1 || rifles[wepi] == 1) { 
- 			if (pistols_disabled[wepi] == 0 && shotguns_disabled[wepi] == 0 && submachineguns_disabled[wepi] == 0 && zoomed_disabled[wepi] == 0&& scoped_disabled[wepi] == 0 && zoomscope_disabled[wepi] == 0 && rifles_disabled[wepi] == 0) { 
- 				return PLUGIN_HANDLED 
- 			} 
- 		} 
- 		if (pistols[wepi] == 2 || shotguns[wepi] == 2 || submachineguns[wepi] == 2 || zoomed[wepi] == 2|| scoped[wepi] == 2 || zoomscope[wepi] == 2 || rifles[wepi] == 2) { 
- 			if (pistols_disabled[wepi] == 0 && shotguns_disabled[wepi] == 0 && submachineguns_disabled[wepi] == 0 && zoomed_disabled[wepi] == 0 && scoped_disabled[wepi] == 0 && zoomscope_disabled[wepi] == 0 && rifles_disabled[wepi] == 0) { 
- 				return PLUGIN_HANDLED 
- 			} 
- 		}else if ( (weap_disabled[wepi] == 0) && (first_time[wepi] == true) ) { 
- 			return PLUGIN_HANDLED 
- 		} 
- 	} 
- 	if ( (weap_disabled[wepi] == 0) && (weap_pend[wepi] == 0) && (pistols[wepi] == 0) && (shotguns[wepi] == 0) && (submachineguns[wepi] == 0) && (zoomed[wepi] == 0) && (scoped[wepi] == 0) && (zoomscope[wepi] == 0) && (rifles[wepi] == 0) ) { 
- 		return PLUGIN_HANDLED 
- 	} 
- 	if (get_cvar_num("amx_weaponwait") == 0) { 
- 		check_special(id,weapon,wepi) 
- 		if (weap_pend[wepi] == 1) { 
- 			client_print(id,print_chat,"[AMXX]  Hey butterfingers!  Dont waste your time and money. That Weapon is Disabled") 
- 			disarm_player(id,weapon) 
- 			return PLUGIN_HANDLED 
- 		} 
- 	} 
- 	if (pistols_disabled[wepi] == 1 || shotguns_disabled[wepi] == 1 || submachineguns_disabled[wepi] == 1 || zoomed_disabled[wepi] == 1 || scoped_disabled[wepi] == 1 || zoomscope_disabled[wepi] == 1 || rifles_disabled[wepi] == 1 ) { 
- 		check_special(id,weapon,wepi) 
- 	} 
-   
- 	if ( (weap_disabled[wepi] == 1) && (first_time[wepi] == false) ) { 
- 		client_print(id,print_chat,"[AMXX]  Hey butterfingers!  Dont waste your time and money. That Weapon is Disabled") 
- 		disarm_player(id,weapon) 
- 	} 
- 	return PLUGIN_HANDLED 
- } 
-   
- public check_special(id,weapon,wepi) { 
- 	if (pistols_disabled[wepi] == 1) { 
- 		client_print(id,print_chat,"[AMXX]  Hey butterfingers!  Dont waste your time and money. All Pistols Are Diabled") 
- 		disarm_player(id,weapon) 
- 	} 
- 	if (shotguns_disabled[wepi] == 1) { 
- 		client_print(id,print_chat,"[AMXX]  Hey butterfingers!  Dont waste your time and money. All Shotguns Are Diabled") 
- 		disarm_player(id,weapon) 
- 	} 
- 	if (submachineguns_disabled[wepi] == 1) { 
- 		client_print(id,print_chat,"[AMXX]  Hey butterfingers!  Dont waste your time and money. All Sub Machine Guns Are Diabled") 
- 		disarm_player(id,weapon) 
- 	} 
- 	if (zoomed_disabled[wepi] == 1) { 
- 		client_print(id,print_chat,"[AMXX]  Hey butterfingers!  Dont waste your time and money. All Zoomed Rifles Are Diabled") 
- 		disarm_player(id,weapon) 
- 	} 
- 	if (scoped_disabled[wepi] == 1) { 
- 		client_print(id,print_chat,"[AMXX]  Hey butterfingers!  Dont waste your time and money. All Scoped Rifles Are Diabled") 
- 		disarm_player(id,weapon) 
- 	} 
- 	if (zoomscope_disabled[wepi] == 1) { 
- 		client_print(id,print_chat,"[AMXX]  Hey butterfingers!  Dont waste your time and money. All Zoomed & Scoped Rifles Are Diabled") 
- 		disarm_player(id,weapon) 
- 	} 
- 	if (rifles_disabled[wepi] == 1) { 
- 		client_print(id,print_chat,"[AMXX]  Hey butterfingers!  Dont waste your time and money. All Rifles Are Diabled") 
- 		disarm_player(id,weapon) 
- 	} 
- 	return PLUGIN_CONTINUE 
- } 
-   
- disarm_player(victim, weapon){ 
- 	new wpname[32] 
- 	new parm[2] 
- 	parm[0]=victim 
- 	get_weaponname(weapon,wpname,31) 
- 	engclient_cmd(victim,"drop",wpname) 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public WEAPVote(id,level,cid) { 
- 	if (get_cvar_num("amx_weaponrest") == 0) 
- 		return PLUGIN_HANDLED 
- 	read_argv(1,voteweapon,31) 
- 	new m = 0 
- 	new bool:test = false 
- 	while (++m <= 30) { 
- 		if (equali(vote_weapon[m], voteweapon) )  { 
- 			votewepi = m 
- 			set_cvar_num("amx_vote_temp",m) 
- 			test = true			 
- 		} 
- 	} 
- 	if (test == false) { 
- 		return PLUGIN_CONTINUE 
- 	} 
- 	if( (wvote_deny == true) && (!(get_user_flags(id)&ADMIN_MAP)) ){ 
- 		client_print(id,print_chat,"[AMXX] We just had a weapon vote. Wait a little longer.") 
- 		return PLUGIN_HANDLED 
- 	} 
- 	new Float:voting = get_cvar_float("amx_last_voting") 
- 	if (voting > get_gametime()){ 
- 		client_print(id,print_chat,"There is already one voting...") 
- 		return PLUGIN_HANDLED 
- 	} 
- 	if (voting && voting + get_cvar_float("amx_vote_delay") > get_gametime()) { 
- 		client_print(id,print_chat,"Voting not allowed at this time") 
- 		return PLUGIN_HANDLED 
- 	} 
- 	new inprogress[32] 
- 	get_cvar_string("amx_vote_inprogress",inprogress,32) 
- 	if (equal(inprogress, "0")) { 
- 		new keys 
- 		new menu_msg[256] 
- 		if ( (weap_disabled[votewepi] == 1) || (weap_pend[votewepi] == 1) ) { 
- 			format(menu_msg,256, "\yEnable the weapon %s? \w^n^n1. Yes^n2. No", weaponname[votewepi]) 
- 			voteoutcome = 1 
-   
- 		}else { 
- 			format(menu_msg,256, "\yDisable the weapon %s? \w^n^n1. Yes^n2. No", weaponname[votewepi]) 
- 			voteoutcome = 2 
- 		} 
- 		keys = (1<<0)|(1<<1) 
- 		new authid[32],name[32] 
- 		get_user_authid(id,authid,31) 
- 		get_user_name(id,name,32) 
- 		log_amx("^"%s<%d><%s><>^" vote weaponname[%s] ",name,get_user_userid(id),authid, weaponname[votewepi]) 
- 		new Float:vote_time = get_cvar_float("amx_vote_time") + 2.0 
- 		set_cvar_float("amx_last_voting",  get_gametime() + vote_time ) 
- 		vote_ratio = get_cvar_float("amx_weapvote_ratio") 
- 		for(new a = 0; a < 33; a++) { 
- 			votecontroller[a][1] = 0 
- 		}	 
- 		votenumber++ 
- 		set_cvar_string("amx_vote_inprogress","1") 
- 		bVoteToStop = true 
- 		totalvoters = 0 
- 		new Team[33] 
- 		new maxpl = get_maxplayers()+1 
- 		for(new k = 1; k < maxpl; k++){ 
- 			get_user_team(k,Team,33) 
- 			if(!((equali(Team,"UNAS",4)) || (equali(Team,"SPEC",4)) || (get_user_time(k)== 0) )) { 
- 				show_menu(k,keys,menu_msg,floatround(vote_time)) 
- 				totalvoters++ 
- 			} 
- 		} 
- 		st_vote = 0 
- 		set_task(vote_time,"HandleWEAPVote") 
- 		client_print(id,print_chat,"[AMXX] Voting has started...") 
- 		for(new j = 0; j < 4;++j) option[j] = 0 
- 	}else{ 
- 		client_print(id,print_chat,"[AMXX] Voting not allowed yet.") 
- 	} 
- 	return PLUGIN_HANDLED 
- } 
-   
- public HandleWEAPVote(id) { 
- 	votewepi2 = get_cvar_num("amx_vote_temp") 
- 	wvote_deny = true 
- 	set_task(get_cvar_float("amx_wvote_delay"),"wep_vote_deny") 
- 	set_cvar_string("amx_vote_inprogress","0") 
- 	bVoteToStop = false 
- 	for(new a = 0; a < 33; a++){ 
- 		votecontroller[a][1] = 0 
- 	} 
- 	if(st_vote == 1){ 
- 		st_vote = 0 
- 		client_print(0,print_chat,"[AMXX]  Voting sucessfully stopped.") 
- 		return PLUGIN_HANDLED 
- 	} 
- 	new best = 0 
- 	new best_count = 0 
- 	for(new a = 0; a < 4; ++a) { 
- 		if (option[a] > best_count){ 
- 			best_count = option[a] 
- 			best = a 
- 		} 
- 	} 
- 	new inum = totalvoters 
- 	new Float:result_v = inum ? (float(option[best]) / float(inum)) : 0.0 
- 	if (result_v >= vote_ratio) { 
- 		if(best == 0){ 
- 			if (voteoutcome == 0) { 
- 				show_hudmessage(0,"Voting Results: %s restrictions will stay^n^n%d votes to keep the %s disabled^n%d votes to enable the %s^n^n%d Total eligible voters",vote_weapon[votewepi],option[0],vote_weapon[votewepi],option[1],vote_weapon[votewepi],totalvoters) 
- 			}else if (voteoutcome == 1) { 
- 				show_hudmessage(0,"Voting Results: The %s will be enabled next round^n^n%d votes to keep the %s disabled^n%d votes to enable the %s^n^n%d Total eligible voters",vote_weapon[votewepi],option[0],vote_weapon[votewepi],option[1],vote_weapon[votewepi],totalvoters) 
- 				weap_pend[votewepi2] = 2 
- 				first_time[votewepi2] = true 
- 			}else { 
- 				show_hudmessage(0,"Voting Results: %s restrictions are in effect next round^n^n%d votes to disable the %s^n%d votes to keep the %s^n^n%d Total eligible voters",vote_weapon[votewepi],option[0],vote_weapon[votewepi],option[1],vote_weapon[votewepi],totalvoters) 
- 				client_print(id, print_console, "SetVoteWepi=^"%s^"",votewepi2) 
- 				weap_pend[votewepi2] = 1 
- 				first_time[votewepi2] = true 
- 			} 
- 			log_amx("World triggered ^"voting_success^" (needed ^"%.2f^") (ratio ^"%.2f^") (result ^"%s^")", 
- 				vote_ratio,result_v,vote_weapon[votewepi]) 
- 		}else { 
- 			if(weap_disabled[votewepi2] == 1) { 
- 				show_hudmessage(0,"Voting Results: The %s will be enabled next round^n^n%d votes to keep the %s disabled^n%d votes to enable the %s^n^n%d Total eligible voters",vote_weapon[votewepi],option[0],vote_weapon[votewepi],option[1],vote_weapon[votewepi],totalvoters) 
- 				weap_pend[votewepi2] = 2 
- 				first_time[votewepi2] = true 
- 			} else { 
- 				show_hudmessage(0,"Voting Results: The %s will continue to be enabled^n^n%d votes to disable the %s^n%d votes to keep the %s enabled^n^n%d Total eligible voters",vote_weapon[votewepi],option[0],vote_weapon[votewepi],option[1],vote_weapon[votewepi],totalvoters) 
- 			} 
- 			log_amx("World triggered ^"voting_failure^" (needed ^"%.2f^") (ratio ^"%.2f^")",vote_ratio,result_v) 
- 		} 
- 	}else{ 
- 		client_print(0,print_chat,"[AMXX] Voting for %s restrictions failed... No clear majority.",vote_weapon[votewepi]) 
- 	} 
- 	return PLUGIN_HANDLED 
- } 
-   
- public client_connect(id){ 
- 	votecontroller[id][1] = 0 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public client_disconnect(id){ 
- 	votecontroller[id][1] = 0 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public wep_vote_deny(){ 
- 	wvote_deny = false 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public stopvote(id){ 
- 	if (!(get_user_flags(id)&ADMIN_MAP)){ 
- 		client_print(id,print_console,"[AMXX] You have no access to that command") 
- 		return PLUGIN_HANDLED 
- 	} 
- 	if(bVoteToStop == true){ 
- 		new name[32] 
- 		get_user_name(id,name,32) 
- 		st_vote = 1 
- 		client_print(id,print_console,"[AMXX]  ADMIN !!! Ignore the unknown command message -- its ok") 
- 		client_print(0,print_chat,"[AMXX]  %s has disabled the vote in progress.",name) 
- 	} 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public vote_count(id,key){ 
- 	new name[32] 
- 	get_user_name(id,name,32) 
- 	if(votenumber != votecontroller[id][0]) { 
- 		votecontroller[id][0] = votenumber 
- 		if (get_cvar_float("amx_vote_answers")) { 
- 			client_print(0,print_chat,"[AMXX] %s voted for option # %d",name,key+1) 
- 		} 
- 		option[key] += 1 
- 	}else{ 
- 			votecontroller[id][1] +=1 
- 		} 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public round_start(id){ 
- 	if (get_cvar_num("amx_weaponrest") == 0) 
- 		return PLUGIN_HANDLED 
- 	delayed_rs(id) 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public delayed_rs(id){ 
- 	if (get_cvar_num("amx_weaponrest") == 0) 
- 		return PLUGIN_HANDLED 
- 	for(new j = 0; j<31;j++) { 
- 		if ((weap_pend[j] == 2) && (weap_disabled[j] == 1)) { 
- 			if (weap_pend[0] == 2) { 
- 				pistols[1] = 0; pistols[10] = 0; pistols[11] = 0; pistols[16] = 0; pistols[17] = 0; pistols[26] = 0 
- 				pistols_disabled[1] = 0; pistols_disabled[10] = 0; pistols_disabled[11] = 0; pistols_disabled[16] = 0; pistols_disabled[17] = 0; pistols_disabled[26] = 0 
- 			} 
- 			if (weap_pend[2] == 2) { 
- 				shotguns[5] = 0; shotguns[21] = 0 
- 				shotguns_disabled[5] = 0; shotguns_disabled[21] = 0 
- 			} 
- 			if (weap_pend[4] == 2) { 
- 				submachineguns[7] = 0; submachineguns[12] = 0; submachineguns[19] = 0; submachineguns[23] = 0 
- 				submachineguns_disabled[7] = 0; submachineguns_disabled[12] = 0; submachineguns_disabled[19] = 0; submachineguns_disabled[23] = 0 
- 			} 
- 			if (weap_pend[6] == 2) { 
- 				zoomed[8] = 0; zoomed[27] = 0 
- 				zoomed_disabled[8] = 0; zoomed_disabled[27] = 0 
- 			} 
- 			if (weap_pend[9] == 2) { 
- 				scoped[3] = 0; scoped[13] = 0; scoped[18] = 0; scoped[24] = 0 
- 				scoped_disabled[3] = 0; scoped_disabled[13] = 0; scoped_disabled[18] = 0; scoped_disabled[24] = 0 
- 			} 
- 			if (weap_pend[14] == 2) { 
- 				zoomscope[3] = 0; zoomscope[8] = 0; zoomscope[13] = 0; zoomscope[18] = 0; zoomscope[24] = 0; zoomscope[27] = 0 
- 				zoomscope_disabled[3] = 0; zoomscope_disabled[8] = 0; zoomscope_disabled[13] = 0; zoomscope_disabled[18] = 0; zoomscope_disabled[24] = 0; zoomscope_disabled[27] = 0 
- 			} 
- 			if (weap_pend[15] == 2) { 
- 				rifles[22] = 0; rifles[28] = 0; rifles[3] = 0; rifles[8] = 0; rifles[13] = 0; rifles[18] = 0; rifles[24] = 0; rifles[27] = 0 
- 				rifles_disabled[22] = 0; rifles_disabled[28] = 0; rifles_disabled[3] = 0; rifles_disabled[8] = 0; rifles_disabled[13] = 0; rifles_disabled[18] = 0; rifles_disabled[24] = 0; rifles_disabled[27] = 0 
- 			} 
- 			weap_pend[j] = 0 
- 			weap_disabled[j] = 0 
- 		} 
- 		if (weap_pend[j] == 1) { 
- 			if (weap_pend[0] == 1) { 
- 				pistols[1] = 1; pistols[10] = 1; pistols[11] = 1; pistols[16] = 1; pistols[17] = 1; pistols[26] = 1 
- 				pistols_disabled[1] = 1; pistols_disabled[10] = 1; pistols_disabled[11] = 1; pistols_disabled[16] = 1; pistols_disabled[17] = 1; pistols_disabled[26] = 1 
- 			} 
- 			if (weap_pend[2] == 1) { 
- 				shotguns[5] = 1; shotguns[21] = 1 
- 				shotguns_disabled[5] = 1; shotguns_disabled[21] = 1 
- 			} 
- 			if (weap_pend[4] == 1) { 
- 				submachineguns[7] = 1; submachineguns[12] = 1; submachineguns[19] = 1; submachineguns[23] = 1 
- 				submachineguns_disabled[7] = 1; submachineguns_disabled[12] = 1; submachineguns_disabled[19] = 1; submachineguns_disabled[23] = 1 
- 			} 
- 			if (weap_pend[6] == 1) { 
- 				zoomed[8] = 1; zoomed[27] = 1 
- 				zoomed_disabled[8] = 1; zoomed_disabled[27] = 1 
- 			} 
- 			if (weap_pend[9] == 1) { 
- 				scoped[3] = 1; scoped[13] = 1; scoped[18] = 1; scoped[24] = 1 
- 				scoped_disabled[3] = 1; scoped_disabled[13] = 1; scoped_disabled[18] = 1; scoped_disabled[24] = 1 
- 			} 
- 			if (weap_pend[14] == 1) { 
- 				zoomscope[3] = 1; zoomscope[8] = 1; zoomscope[13] = 1; zoomscope[18] = 1; zoomscope[24] = 1; zoomscope[27] = 1 
- 				zoomscope_disabled[3] = 1; zoomscope_disabled[8] = 1; zoomscope_disabled[13] = 1; zoomscope_disabled[18] = 1; zoomscope_disabled[24] = 1; zoomscope_disabled[27] = 1 
- 			} 
- 			if (weap_pend[15] == 1) { 
- 				rifles[22] = 1; rifles[28] = 1; rifles[3] = 1; rifles[8] = 1; rifles[13] = 1; rifles[18] = 1; rifles[24] = 1; rifles[27] = 1 
- 				rifles_disabled[22] = 1; rifles_disabled[28] = 1; rifles_disabled[3] = 1; rifles_disabled[8] = 1; rifles_disabled[13] = 1; rifles_disabled[18] = 1; rifles_disabled[24] = 1; rifles_disabled[27] = 1 
- 			} 
- 			weap_disabled[j] = 1 
- 			weap_pend[j] = 0  
- 		} 
- 		if (first_time[j] == true) { 
- 			first_time[j] = false 
- 		} 
- 	} 
- 	return PLUGIN_CONTINUE 
- } 
-   
- public plugin_init() {  
- 	register_plugin("Advanced Weapon Vote and Restriction","0.33","MagicShot")  
- 	register_clcmd("amx_weaprest","checkweap",ADMIN_LEVEL_A,"amx_weaprest : toggles restricted weapons eg. amx_weaprest weaponname")  
- 	register_event("CurWeapon","dropthatweapon","b","1=1") 
- 	register_event("ResetHUD","round_start","b","1=1") 
- 	register_clcmd("say", "WEAPVote") 
- 	register_menucmd(register_menuid("Disable the"),(1<<0)|(1<<1)|(1<<2)|(1<<3),"vote_count") 
- 	register_menucmd(register_menuid("Enable the"),(1<<0)|(1<<1)|(1<<2)|(1<<3),"vote_count") 
- 	register_cvar("amx_weaponrest","1",0) 
- 	register_cvar("amx_weaponwait","1",0) 
- 	register_cvar("amx_weapvote_ratio","0.51") 
- 	register_cvar("amx_vote_temp","0") 
- 	register_cvar("amx_xtra_wep_msg","0") 
- 	register_cvar("amx_map_wep_msg","0") 
- 	register_cvar("amx_vote_inprogress","0") 
- 	register_cvar("amx_wvote_delay","180.0") 
- 	register_cvar("amx_last_voting","0") 
- 	set_cvar_float("amx_last_voting",0.0) 
- 	return PLUGIN_CONTINUE 
- }