- #include <amxmodx> 
- #include <amxmisc> 
- #include <cstrike> 
- #include <fun> 
- #include <fakemeta> 
- #include <hamsandwich> 
- #include <nvault> 
- #include <colorchat> 
-   
- #define PLUGIN "Pontrendszer" 
- #define VERSION "1.0" 
- #define AUTHOR "crazy" 
- #define DROG_SEBESSEG    1000.0 
- #define JOG ADMIN_LEVEL_H 
-   
- new g_vault 
- new pontok[33] 
- new name[33][32] 
- new admin 
- new killp, killhsp 
- new ajandek1, ajandek2, ajandek3 
- new SyncHudObj 
- enum shopitems 
- { 
- 	GRANATPACK, 
- 	SEBESSEG, 
- 	UJRAELEDES, 
- 	SURFPACK, 
- 	LATHATATLAN, 
- 	OTSZAZHP, 
- 	ONEHIT, 
- 	HALHATATLAN, 
- 	FULLPENZ, 
- 	MAGOZOTE, 
- 	MAGOZOCT, 
- 	AWP 
- }; 
- new cvar_bolt[shopitems] 
-   
- new bool:activ_sebesseg[33] 
- new bool:activ_lathatatlan[33] 
- new bool:activ_onehit[33] 
- new bool:activ_halhatatlan[33] 
-   
- #define MAX_SHOP_ITEM 12 
- new const shop_item_names[MAX_SHOP_ITEM+1][] =  
- { 
- 	"", 
- 	"\yGranatok \w(HE,FE,SM) \r|%d| Pont", 
- 	"\yNagyobb Sebesseg \r|%d| Pont", 
- 	"\yUjraeledes \w(Halottak hasznalhatjak!) \r|%d| Pont", 
- 	"\ySurf Felszereles \w(ShotGun,Granatok,Deagle) \r|%d| Pont", 
- 	"\yLathatatlansag \w(1 kor) \r|%d| Pont", 
- 	"\y+500 HP \r|%d| Pont", 
- 	"\y1 hit = 1 kill \w(1 kor) \r|%d| Pont", 
- 	"\yHalhatatlansag \w(1 kor) \r|%d| Pont", 
- 	"\y16000$ \r|%d| Pont", 
- 	"\yTE Magozo \r|%d| Pont", 
- 	"\yCT Magozo \r|%d| Pont", 
- 	"\yAWP \r|%d| Pont" 
- }; 
- public plugin_init() { 
-   
- 	register_plugin(PLUGIN, VERSION, AUTHOR) 
- 	set_task(2.9, "hud", 0, _, _, "b") 
-   
- 	killp = register_cvar("pont_kill", "2") 
- 	killhsp = register_cvar("pont_killhs", "3") 
-   
- 	ajandek1 = register_cvar("pont_ajandek1", "50") 
- 	ajandek2 = register_cvar("pont_ajandek2", "75") 
- 	ajandek3 = register_cvar("pont_ajandek3", "100") 
-   
- 	register_clcmd("team_say /adas", "adas") 
- 	register_clcmd("say /adas", "adas") 
- 	register_clcmd("pont_adas", "adas") 
-   
- 	register_clcmd("team_say /vipmenu", "Shop") 
- 	register_clcmd("say /vipmenu", "Shop") 
-   
- 	register_clcmd("team_say /vipmenu", "Shop") 
- 	register_clcmd("say /vipmenu", "Shop") 
-   
- 	cvar_bolt[GRANATPACK] = register_cvar("bolt_1", "999") 
- 	cvar_bolt[SEBESSEG] = register_cvar("bolt_2", "20") 
- 	cvar_bolt[UJRAELEDES] = register_cvar("bolt_3", "999") 
- 	cvar_bolt[SURFPACK] = register_cvar("bolt_4", "999") 
- 	cvar_bolt[LATHATATLAN] = register_cvar("bolt_5", "999") 
- 	cvar_bolt[OTSZAZHP] = register_cvar("bolt_6", "999") 
- 	cvar_bolt[ONEHIT] = register_cvar("bolt_7", "999") 
- 	cvar_bolt[HALHATATLAN] = register_cvar("bolt_8", "999") 
- 	cvar_bolt[FULLPENZ] = register_cvar("bolt_9", "999") 
- 	cvar_bolt[MAGOZOTE] = register_cvar("bolt_10", "999") 
- 	cvar_bolt[MAGOZOCT] = register_cvar("bolt_11", "999") 
- 	cvar_bolt[AWP] = register_cvar("bolt_12", "9999") 
-   
- 	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, GREEN,"[Pontrendszer] .: BOOOM HEADSHOOT! :. Ez megert ^x03 %d pontot!", get_pcvar_num(killhsp)) 
- 	} 
- 	else 
- 	{ 
- 		pontok[attacker] += get_pcvar_num(killp) 
- 		ColorChat(attacker, GREEN,"[Pontrendszer] ^x03 %d pont az olesert!", get_pcvar_num(killp)) 
- 	} 
- 	return PLUGIN_CONTINUE 
- } 
- public fw_player_damage(victim, inflictor, attacker, Float:damage, damage_type) 
- { 
- 	if(activ_onehit[attacker]) 
- 	{ 
- 		SetHamParamFloat(4, float(get_user_health(victim)+1)) 
- 	} 
- 	if(activ_halhatatlan[victim]) 
- 	{ 
- 		return HAM_SUPERCEDE 
- 	} 
- 	return HAM_IGNORED 
- } 
- public fw_player_spawn(id) 
- { 
- 	activ_halhatatlan[id] = false 
- 	activ_onehit[id] = false 
- 	activ_sebesseg[id] = false 
- } 
- public fw_player_spawn_post(id) 
- { 
- 	if(activ_lathatatlan[id]) 
- 	{ 
- 		set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255) 
- 		activ_lathatatlan[id] = false 
- 	} 
- } 
- public Event_Change_Weapon(id) 
- { 
- 	if(activ_sebesseg[id]) 
- 	{ 
- 		set_user_maxspeed(id, DROG_SEBESSEG) 
- 	} 
- 	return PLUGIN_CONTINUE  
- } 
- public Shop(id)//IGEN EZ ITT A MENU 
- { 
- 	static Item[64] 
-   
- 	formatex(Item, charsmax(Item),"\r[Pontrendszer Bolt]" ) 
- 	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] 
- 				give_item(id, "weapon_flashbang") 
- 				give_item(id, "weapon_hegrenade") 
- 				give_item(id, "weapon_smokegrenade") 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a granatokat!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 2: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				set_user_maxspeed(id, DROG_SEBESSEG) 
- 				activ_sebesseg[id] = true 
- 				ColorChat(id, GREEN, "[Pontrendszer] A sebesseged gyorsitva lett!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod!") 
- 			} 
- 		} 
- 		case 3: 
- 		{ 
- 			if (pontok[id] >= ar[key] && !elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				ExecuteHamB(Ham_CS_RoundRespawn, id) 
- 				ColorChat(id, GREEN, "[Pontrendszer] Ujraeledtel!") 
- 			} 
- 			else if(elo) 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Elok nem hasznalhatjak!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 4: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key]; 
- 				cs_set_weapon_ammo( give_item( id, "weapon_m3" ), 8 ) 
- 				give_item(id, "weapon_hegrenade") 
- 				give_item(id, "weapon_flashbang") 
- 				give_item(id, "weapon_flashbang") 
-   
- 				give_item(id, "weapon_knife") 
- 				give_item(id, "weapon_deagle") 
- 				cs_set_user_bpammo(id, CSW_DEAGLE,  35) 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a Surf Felszerelest!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 5: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				activ_lathatatlan[id] = true 
- 				set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0) 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a lathatatlansagot!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 6: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				set_user_health(id, get_user_health(id)+500) 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az eletet!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 7: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				activ_onehit[id] = true 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az egy lovesbol olest!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 8: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				activ_halhatatlan[id] = true 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a halhatatlansagot!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 9: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				cs_set_user_money(id, 16000) 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a penzt!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 10: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key] 
- 				give_item(id, "weapon_g3sg1") 
- 				cs_set_user_bpammo(id, CSW_G3SG1,  90) 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 11: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key]; 
- 				give_item(id, "weapon_sg550") 
- 				cs_set_user_bpammo(id, CSW_SG550,  90) 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad a magozot!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 		case 12: 
- 		{ 
- 			if (pontok[id] >= ar[key] && elo) 
- 			{ 
- 				pontok[id] -= ar[key]; 
- 				give_item(id, "weapon_awp"); 
- 				cs_set_user_bpammo(id, CSW_AWP,  30); 
- 				ColorChat(id, GREEN, "[Pontrendszer] Megkaptad az awpt!") 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Pontrendszer] Sajnos,nincs eleg pontod") 
- 			} 
- 		} 
- 	} 
- 	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; 
- 	activ_halhatatlan[id] = false 
- 	activ_lathatatlan[id] = false 
- 	activ_onehit[id] = false 
- 	activ_sebesseg[id] = false 
- } 
-   
- 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 [Pontrendszer] \rKinek akarsz pontot adni?! \y(10p)", "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, GREEN, "Sajnos nincs jogod hasznalni 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); 
- 	client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 5 perce!", penz) 
- 	pontok[id] += penz; 
- } 
- public ajandek_2(id) 
- { 
- 	new penz = get_pcvar_num(ajandek2); 
- 	client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 10 perce!", penz) 
- 	pontok[id] += penz; 
- } 
- public ajandek_3(id) 
- { 
- 	new penz = get_pcvar_num(ajandek3); 
- 	client_print(id, print_chat, "[Pontrendszer] %d pont jar mert itt vagy mar 30 perce!", penz) 
- 	pontok[id] += penz; 
- } 
-   
- public hud() 
- { 
- 	admin = 0; 
- 	new players[32], pnum, tempid 
- 	get_players(players, pnum, "c") 
-   
- 	for( new i; i<pnum; i++ ) 
- 	{ 
- 		tempid = players[i] 
- 		if(get_user_flags(tempid) & ADMIN_KICK)	 
- 		{ 
- 			admin++; 
- 		} 
-   
- 	} 
- 	for( new i; i<pnum; i++ ) 
- 	{ 
- 		tempid = players[i] 
- 		set_hudmessage(0, 255, 0, -1.0, 0.0, 0, 6.0, 12.0); 
- 		ShowSyncHudMsg(tempid, SyncHudObj, "[S][A][X] Pontjaid: %d]^n",pontok[tempid],admin) 
- 	} 
- }