- #include <amxmodx> 
- #include <amxmisc> 
- #include <cstrike> 
- #include <fun> 
- #include <fakemeta> 
- #include <hamsandwich> 
- #include <nvault> 
- #include <colorchat> 
-   
- #define PLUGIN "Pontrendszer" 
- #define VERSION "1.1" 
- #define AUTHOR "crazy" 
-   
- new g_vault 
- new pontok[33] 
- new name[33][32] 
- new killp, killhsp 
- new ajandek1, ajandek2, ajandek3 
- new SyncHudObj 
- enum shopitems 
- { 
- 	HUSZONOT, 
- 	OTVEN, 
- 	SZAZ, 
- 	KETSZAZ, 
- 	GYORSASAG, 
- 	MESTER 
- }; 
- new cvar_bolt[shopitems] 
-   
- #define MAX_SHOP_ITEM 6 
- new const shop_item_names[MAX_SHOP_ITEM+1][] =  
- { 
- 	"", 
- 	"\y+25 HP \r|%d| Pont", 
- 	"\y+50 HP \r|%d| Pont", 
- 	"\y+100 HP \r|%d| Pont", 
- 	"\y+200 HP \r|%d| Pont", 
- 	"\yGyorsaság \r|%d| Pont", 
- 	"\yMesterlövész \w(WP,Scout) \r|%d| Pont" 
- 	}; 
- public plugin_init() { 
-   
- 	register_plugin(PLUGIN, VERSION, AUTHOR) 
- 	set_task(2.9, "hud", 0, _, _, "b") 
-   
- 	killp = register_cvar("pont_kill", "1") 
- 	killhsp = register_cvar("pont_killhs", "2") 
-   
- 	ajandek1 = register_cvar("pont_ajandek1", "3") 
- 	ajandek2 = register_cvar("pont_ajandek2", "5") 
- 	ajandek3 = register_cvar("pont_ajandek3", "8") 
-   
- 	register_clcmd("team_say /adas", "adas") 
- 	register_clcmd("say /adas", "adas") 
- 	register_clcmd("pont_adas", "adas") 
-   
- 	register_clcmd("team_say /shop", "Shop") 
- 	register_clcmd("say /shop", "Shop") 
-   
- 	register_clcmd("team_say /bolt", "Shop") 
- 	register_clcmd("say /bolt", "Shop") 
-   
- 	cvar_bolt[HUSZONOT] = register_cvar("bolt_1", "25") 
- 	cvar_bolt[OTVEN] = register_cvar("bolt_2", "30") 
- 	cvar_bolt[SZAZ] = register_cvar("bolt_3", "50") 
- 	cvar_bolt[KETSZAZ] = register_cvar("bolt_4", "100") 
- 	cvar_bolt[GYORSASAG] = register_cvar("bolt_5", "30") 
- 	cvar_bolt[MESTER] = register_cvar("bolt_6", "45") 
-   
- 	g_vault = nvault_open("PontRendszer"); 
-   
- 	RegisterHam(Ham_Killed, "player", "fw_player_killed", 1) 
- 	RegisterHam(Ham_TakeDamage, "player", "fw_player_damage", 0) 
- 	RegisterHam(Ham_Spawn, "player", "fw_player_spawn", 0) 
- 	RegisterHam(Ham_Spawn, "player", "fw_player_spawn_post", 1) 
- 	register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1") 
- 	SyncHudObj = CreateHudSyncObj() 
- 	new itemszam = (_:shopitems) 
- 	if(MAX_SHOP_ITEM != itemszam) 
- 	{ 
- 		set_fail_state("Valamit elrontottal. A shopitems tombben es a shop_item_names tombben nem ugyanannyi elem van") 
- 	} 
- } 
- public fw_player_killed(victim, attacker, shouldgib) 
- { 
- 	if(!is_user_connected(attacker) || !is_user_connected(victim) || attacker == victim) 
- 		return PLUGIN_CONTINUE; 
-   
- 	if(get_pdata_int(victim, 75) == HIT_HEAD) 
- 	{ 
- 		pontok[attacker] += get_pcvar_num(killhsp) 
- 		ColorChat(attacker, RED,"[PONTRENDSZER] ^1Kaptál ^4%d ^1pontot fejlövésért!", get_pcvar_num(killhsp)) 
- 	} 
- 	else 
- 	{ 
- 		pontok[attacker] += get_pcvar_num(killp) 
- 		ColorChat(attacker, RED,"[PONTRENDSZER] ^4%d pont az ölésért!", get_pcvar_num(killp)) 
- 	} 
- 	return PLUGIN_CONTINUE 
- } 
- public Shop(id)//IGEN EZ ITT A MENU 
- { 
- 	static Item[64] 
-   
- 	formatex(Item, charsmax(Item),"\r[PontRendszer]" ) 
- 	new Menu = menu_create(Item, "Shoph") 
-   
- 	new szTempid[10] 
-   
- 	for(new i = 1; i<sizeof(shop_item_names); i++) 
- 	{ 
- 		num_to_str(i, szTempid, 9) 
- 		formatex(Item, charsmax(Item),shop_item_names[i], get_pcvar_num(cvar_bolt[shopitems:(i-1)])) 
- 		menu_additem(Menu, Item, szTempid) 
- 	} 
- 	menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL) 
- 	menu_display(id, Menu) 
-   
- 	return PLUGIN_HANDLED 
- } 
- public Shoph(id, menu, item) 
- { 
- 	if( item == MENU_EXIT ) 
- 	{ 
- 		menu_destroy(menu) 
- 		return PLUGIN_HANDLED 
- 	} 
- 	new data[6], iName[64] 
- 	new access, callback 
- 	menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) 
-   
- 	new key = str_to_num(data) 
- 	new elo = is_user_alive(id) 
- 	new ar[_:shopitems+1] 
- 	for(new i=1; i<_:shopitems+1; i++) 
- 	{ 
- 		ar[i] = get_pcvar_num(cvar_bolt[shopitems:(i-1)]) 
- 	} 
-   
- 	switch(key) 
- 	{ 
- 		case 1: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				set_user_health(id, 25) 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Megkaptad a +^425 ^1HP-t!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Sajnos, ^4nincs elég ^1pontod!") 
- 			} 
- 		} 
- 		case 2: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				set_user_health(id, 50) 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Megkaptad a +^450 ^1HP-t!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Sajnos, ^4nincs elég ^1pontod!") 
- 			} 
- 		} 
- 		case 3: 
- 		{ 
- 			if (pontok[id] >= ar[key] && !elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				set_user_health(id, 100) 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Megkaptad a +^4100 ^1HP-t!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Sajnos, ^4nincs elég ^1pontod!") 
- 			} 
- 		} 
- 		case 4: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key]; 
- 				set_user_health(id, 200) 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Megkaptad a +^4200 ^1HP-t!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Sajnos, ^4nincs elég ^1pontod!") 
- 			} 
- 		} 
- 		case 5: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				set_user_maxspeed(id, 900.0) 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Megkaptad a ^4Gyorsaságot!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, RED, "[Pontrendszer] Sajnos, ^4nincs elég ^1pontod!") 
- 			} 
- 		} 
- 		case 6: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				give_item(id, "give_deagle"); 
- 				give_item(id, "ammo_50ae"); 
- 				give_item(id, "ammo_50ae"); 
- 				give_item(id, "ammo_50ae"); 
- 				give_item(id, "weapon_awp"); 
- 				give_item(id, "ammo_338magnum"); 
- 				give_item(id, "ammo_338magnum"); 
- 				give_item(id, "ammo_338magnum"); 
- 				give_item(id, "weapon_scout"); 
- 				give_item(id, "ammo_762nato"); 
- 				give_item(id, "ammo_762nato"); 
- 				give_item(id, "ammo_762nato"); 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Megkaptad a ^4Mesterlövészt!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, RED, "[Pontrendszer] ^1Sajnos, ^4nincs elég ^1pontod!") 
- 			} 
- 		} 
- 	} 
- 	menu_destroy(menu) 
- 	return PLUGIN_HANDLED 
- } 
-   
- public mentes(id)  
- { 
- 	new vaultkey[64],vaultdata[256] 
-   
- 	format(vaultkey,63,"%s-PONTOK", name[id]) 
- 	format(vaultdata,255,"%d", pontok[id]) 
-   
- 	nvault_set(g_vault,vaultkey,vaultdata) 
- 	return PLUGIN_CONTINUE 
- } 
- public betoltes(id)  
- {  
- 	new vaultkey[64],vaultdata[256] 
-   
- 	format(vaultkey,63,"%s-PONTOK", name[id]) 
-   
- 	nvault_get(g_vault,vaultkey,vaultdata,255) 
-   
- 	pontok[id] = str_to_num(vaultdata) 
- 	return PLUGIN_CONTINUE; 
- } 
- public client_disconnect(id) 
- { 
- 	mentes(id); 
- 	remove_task(id); 
- 	pontok[id] = 0; 
- } 
-   
- public client_connect(id) 
- { 
- 	get_user_name(id, name[id], 31) 
- 	betoltes(id); 
- 	set_task(300.0, "ajandek_1",id) 
- 	set_task(900.0, "ajandek_2",id) 
- 	set_task(1800.0, "ajandek_3",id) 
- } 
- public adas(id) 
- { 
- 	if (get_user_flags(id) & ADMIN_KICK) 
- 	{ 
- 		new menu = menu_create("\y[Pont\rRendszer] \yKinek akarsz pontot adni? \w(10 Pont)", "menu_handler") 
- 		new players[32], pnum, tempid 
- 		new szName[32], szTempid[10] 
- 		get_players(players, pnum) 
- 		for( new i; i<pnum; i++ ) 
- 		{ 
- 			tempid = players[i]; 
- 			get_user_name(tempid, szName, charsmax(szName)) 
- 			num_to_str(tempid, szTempid, charsmax(szTempid)) 
- 			menu_additem(menu, szName, szTempid, 0) 
-   
- 		} 
- 		menu_display(id, menu, 0) 
- 	} 
- 	else 
- 	{ 
- 		ColorChat(id, YELLOW, "Sajnos nincs jogod használni ezt a parancsot!") 
-   
- 	} 
- } 
- public menu_handler(id, menu, item) 
- { 
- 	if( item == MENU_EXIT ) 
- 	{ 
- 		menu_destroy(menu); 
- 		return PLUGIN_HANDLED; 
- 	} 
-   
- 	new data[6], szName[64]; 
- 	new access, callback; 
- 	menu_item_getinfo(menu, item, access, data,charsmax(data), szName,charsmax(szName), callback); 
-   
- 	new tempid = str_to_num(data); 
-   
- 	if( is_user_alive(tempid) ) 
- 	{ 
- 		pontok[tempid] += 10 
- 	} 
- 	client_cmd(id,"pont_adas") 
- 	menu_destroy(menu); 
- 	return PLUGIN_HANDLED; 
- } 
- public ajandek_1(id) 
- { 
- 	new penz = get_pcvar_num(ajandek1); 
- 	ColorChat(id, RED, "[Pontrendszer] ^4%d ^1pont jár, mert itt vagy már ^45 ^1perce!", penz) 
- 	pontok[id] += penz; 
- } 
- public ajandek_2(id) 
- { 
- 	new penz = get_pcvar_num(ajandek2); 
- 	ColorChat(id, RED, "[Pontrendszer] ^4%d ^1pont jár, mert itt vagy már ^410 ^1perce!", penz) 
- 	pontok[id] += penz; 
- } 
- public ajandek_3(id) 
- { 
- 	new penz = get_pcvar_num(ajandek3); 
- 	ColorChat(id, RED, "[Pontrendszer] ^4%d ^1pont jár mert itt vagy már ^430 ^1perce!", penz) 
- 	pontok[id] += penz; 
- } 
-   
- public hud() 
- { 
- 		tempid = players[i] 
- 		if(get_user_flags(tempid) & ADMIN_KICK)	 
- 		{ 
- 			admin++; 
- 		} 
- 	} 
- 	for( new i; i<pnum; i++ ) 
- 	{ 
- 		tempid = players[i] 
- 		set_hudmessage(random(256), random(256), random(256), 0.02, 0.2, 0, 1.0, 3.0); 
- 		ShowSyncHudMsg(tempid, SyncHudObj, "[Pont: %d]",pontok[tempid]) 
- 	} 
- } 
-   
- stock print_color(const id, const input[], any:...) 
- { 
- new count = 1, players[32] 
- static msg[191] 
- vformat(msg, 190, input, 3) 
-   
- replace_all(msg, 190, "!g", "^4") 
- replace_all(msg, 190, "!y", "^1") 
- replace_all(msg, 190, "!t", "^3") 
- replace_all(msg, 190, "á", "á") 
- replace_all(msg, 190, "é", "Ă©") 
- replace_all(msg, 190, "í", "Ă") 
- replace_all(msg, 190, "ó", "Ăł") 
- replace_all(msg, 190, "ö", "ö") 
- replace_all(msg, 190, "ő", "Ĺ‘") 
- replace_all(msg, 190, "ú", "Ăş") 
- replace_all(msg, 190, "ü", "ĂĽ") 
- replace_all(msg, 190, "ű", "ű") 
- replace_all(msg, 190, "Á", "Ă") 
- replace_all(msg, 190, "É", "É") 
- replace_all(msg, 190, "Í", "ĂŤ") 
- replace_all(msg, 190, "Ó", "Ă“") 
- replace_all(msg, 190, "Ö", "Ă–") 
- replace_all(msg, 190, "Ő", "Ĺ") 
- replace_all(msg, 190, "Ú", "Ăš") 
- replace_all(msg, 190, "Ü", "Ăś") 
- replace_all(msg, 190, "Ű", "Ű") 
-   
- if (id) players[0] = id; else get_players(players, count, "ch") 
- { 
- for (new i = 0; i < count; i++) 
- { 
- if (is_user_connected(players[i])) 
- { 
- message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]) 
- write_byte(players[i]) 
- write_string(msg) 
- message_end() 
- } 
- } 
- } 
- return PLUGIN_HANDLED 
- }