- #include <amxmodx> 
- #include <amxmisc> 
- #include <fakemeta> 
-   
- #define DICTIONARY "fegyver_skin_menu.txt" 
-   
- //#define HOOK_P_MODELS 
- #define HOOK_V_MODELS 
- //#define HOOK_W_MODELS 
-   
- new weapon_select[33] 
- new g_roundCount 
-   
- new const menu_item_names[][][] = { 
- 	{ "Alap Csomag",		"0",	"" 	    }, 
- 	{ "Vadasz awp",		"30",	"vadasz_awp" }, 
- 	{ "Nuclear awp",		"50",	"nuclear_awp" }, 
- 	{ "Resistance awp",		"70",	"resistance_awp" }, 
- 	{ "Pulzus awp",		"110",	"pulzus_awp" }, 
- 	{ "Smack awp",		"145",	"smack_awp" }, 
- 	{ "Tuz awp",		"170",	"tuz_awp" }, 
- 	{ "Teli awp",		"230",	"teli_awp" }, 
- 	{ "Hexo awp",		"265",	"hexo_awp" }, 
- 	{ "Kigyobor awp",		"300",	"kigyobor_awp" }, 
- 	{ "Katonai awp",		"350",	"katonai_awp" }, 
- 	{ "Magma awp",		"400",	"magma_awp" } 
- } 
-   
- new const models_name[][] = {                                      
- 	"awp.mdl" 
- }  
-   
- public plugin_init() { 
- 	register_plugin("PLUGIN", "VERSION", "AUTHOR") 
-   
- 	register_dictionary(DICTIONARY) 
-   
- 	register_clcmd("say /awp", "clcmd_menu") 
- 	register_event("CurWeapon","Hook_P_V_Model","be","1=1") 
- 	register_event("RoundTime", "roundcount", "bc") 
- 	register_event("TextMsg","reset_counter","a","2&#Game_C","2&#Game_w") 
-   
- 	#if defined HOOK_W_MODELS 
- 	register_forward(FM_SetModel, "Hook_W_Model", 1) 
- 	#endif 
- } 
-   
- public plugin_precache() { 
- 	for(new i = 0; i < sizeof(models_name); i++) { 
- 		for(new j = 1; j < sizeof(menu_item_names); j++) { 
- 			#if defined HOOK_P_MODELS 
- 			new precache_p[256] 
- 			format(precache_p, sizeof(precache_p), "models/%s/p_%s", menu_item_names[j][2], models_name[i]) 
-   
- 			precache_model(precache_p) 
- 			#endif 
-   
- 			#if defined HOOK_V_MODELS 
- 			new precache_v[256] 
- 			format(precache_v, sizeof(precache_v), "models/%s/v_%s", menu_item_names[j][2], models_name[i]) 
-   
- 			precache_model(precache_v) 
- 			#endif 
-   
- 			#if defined HOOK_W_MODELS 
- 			new precache_w[256] 
- 			format(precache_w, sizeof(precache_w), "models/%s/w_%s", menu_item_names[j][2], models_name[i]) 
-   
- 			precache_model(precache_w) 
- 			#endif 
- 		} 
- 	} 
- } 
- public roundcount() 
- 	if ( read_data(1) == floatround(get_cvar_float("mp_roundtime") * 60.0) ) { 
-   
- 	++g_roundCount 
-   
- 	new r = random(256) 
- 	new g = random(256) 
- 	new b = random(256) 
-   
- 	set_hudmessage(r,g,b, -1.0, 0.30, 0, 6.0, 6.0, 1.0, 0.15, 1) 
- 	show_hudmessage(0,"A menü eléréséhez írj: /menu-t!", g_roundCount) 
- } 
-   
- public reset_counter(){ 
- 	g_roundCount = 0 
- } 
- public client_disconnect(id)  
- 	weapon_select[id] = 0 
-   
- public W_Model_Hook(ent, model[]) { 
- 	if(!pev_valid(ent)) return FMRES_IGNORED 
-   
- 	new owner = pev(ent, pev_owner) 
-   
- 	for(new i = 0; i < sizeof(models_name); i++) { 
- 		new old_w[256] 
- 		format(old_w, sizeof(old_w), "models/w_%s", models_name[i]) 
-   
- 		new new_w[256]			 
- 		format(new_w, sizeof(new_w), "models/%s/w_%s", menu_item_names[weapon_select[owner]][2], models_name[i]) 
-   
- 		if(equali(model, old_w) || equali(model, new_w)) { 
- 			if(weapon_select[owner] >= 1) engfunc(EngFunc_SetModel, ent, new_w) 
- 			else engfunc(EngFunc_SetModel, ent, old_w) 
-   
- 			return FMRES_SUPERCEDE 
- 		} 
- 	} 
-   
- 	return FMRES_IGNORED 
- } 
-   
- public Hook_P_V_Model(id) { 
- 	if(!is_user_alive(id)) 
- 		return PLUGIN_CONTINUE 
-   
- 	static v_model[32], p_model[32] 
- 	pev(id, pev_viewmodel2, v_model, 31) 
- 	pev(id, pev_weaponmodel2, p_model,31) 
-   
- 	for(new i = 0; i < sizeof(models_name); i++) { 
- 		#if defined HOOK_V_MODELS 
- 		new old_v[256] 
- 		format(old_v, sizeof(old_v), "models/v_%s", models_name[i]) 
-   
- 		new new_v[256] 
- 		format(new_v, sizeof(new_v), "models/%s/v_%s", menu_item_names[weapon_select[id]][2], models_name[i]) 
-   
- 		if(equali(v_model, old_v) || equali(v_model, new_v)) { 
- 			if(weapon_select[id] >= 1) set_pev(id, pev_viewmodel2, new_v)			 
- 			else set_pev(id, pev_viewmodel2, old_v) 
-   
- 			break 
- 		} 
- 		#endif 
-   
- 		#if defined HOOK_P_MODELS 
- 		new old_p[256] 
- 		format(old_p, sizeof(old_p), "models/p_%s", models_name[i]) 
-   
- 		new new_p[256] 
- 		format(new_p, sizeof(new_p), "models/%s/p_%s", menu_item_names[weapon_select[id]][2], models_name[i]) 
-   
- 		if(equali(p_model, old_p) || equali(p_model, new_p)) { 
- 			if(weapon_select[id] >= 1) set_pev(id, pev_weaponmodel2, new_p)		 
- 			else set_pev(id, pev_weaponmodel2, old_p) 
-   
- 			break 
- 		} 
- 		#endif 
- 	} 
-   
- 	return PLUGIN_CONTINUE 
- } 
-   
-   
- public clcmd_menu(id) { 
- 	new menu_line[64], menu_newline[64], i_data[64] 
- 	format(menu_line, charsmax(menu_line), "\w%L", id, "SKIN_MENU", get_user_frags(id)) 
-   
- 	new menu = menu_create(menu_line, "clcmd_menu_handler") 
-   
- 	for(new  i = 0; i < sizeof(menu_item_names); i++) { 
- 		new convert_num = str_to_num(menu_item_names[i][1]) 
- 		num_to_str(i, i_data, sizeof(i_data)) 
-   
- 		if(get_user_frags(id) < convert_num) 
- 			format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM1", menu_item_names[i][0], convert_num) 
- 		else 
- 			format(menu_newline, charsmax(menu_newline), "%L", id, "SKIN_ITEM2", menu_item_names[i][0]) 
- 		menu_additem(menu, menu_newline, i_data, 0) 
- 	} 
-   
- 	menu_display(id, menu, 0) 
-   
- 	return PLUGIN_HANDLED 
- } 
-   
- public clcmd_menu_handler(id, menu, item) { 
- 	if(item == MENU_EXIT) { 
- 		menu_destroy(menu) 
- 		return PLUGIN_HANDLED 
- 	} 
-   
- 	new data[64], szName[64] 
- 	new access, callback 
- 	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback) 
-   
- 	new key = str_to_num(data) 
- 	new convert_num = str_to_num(menu_item_names[key][1]) 
-   
- 	if(get_user_frags(id) < convert_num) { 
- 		client_print(id, print_chat, "%L", id, "SKIN_NOT_USE", menu_item_names[key][0], convert_num) 
- 		return PLUGIN_HANDLED 
- 	} 
-   
- 	else { 
- 		weapon_select[id] = key 
- 		client_print(id, print_chat, "%L", id, "SKIN_CHOOSED", menu_item_names[key][0]) 
- 		Hook_P_V_Model(id) 
- 	} 
-   
- 	return PLUGIN_CONTINUE 
- }