- /* Plugin generated by AMXX-Studio */ 
-   
- #include <amxmodx> 
- #include <hamsandwich> 
- #include <cstrike> 
- #include <colorchat> 
- #include <fun> 
- #include <nvault> 
- #include <fakemeta> 
- #include <engine> 
-   
- #define PLUGIN "BaseBuilder Shop" 
- #define VERSION "1.0" 
- #define AUTHOR "N*Joy^^" 
-   
- #define VIPJOG ADMIN_RESERVATION 
-   
- //Tároló 
- new pont[33] 
- new g_vault 
- new name[33][32] 
- new x_tempid 
-   
- //Arany fegyverek 
- new bool:aranyak[33] 
- new bool:aranym4[33] 
-   
- //Bolt itemek 
- new bool:orokloszer[33] 
- new bool:sebesseg[33] 
- new bool:gravitacio[33] 
- new hasznalta[33] 
-   
- //Bolt cvarok 
- new killp 
- new killhsp 
- new vipkillp 
- new vipkillhsp 
- new g_lehetmeg 
-   
- //Öröklõszer 
- // weapons offsets 
- #define OFFSET_CLIPAMMO        51 
- #define OFFSET_LINUX_WEAPONS    4 
- #define fm_cs_set_weapon_ammo(%1,%2)    set_pdata_int(%1, OFFSET_CLIPAMMO, %2, OFFSET_LINUX_WEAPONS) 
-   
- // players offsets 
- #define m_pActiveItem 373 
-   
- const NOCLIP_WPN_BS    = ((1<<CSW_HEGRENADE)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_FLASHBANG)|(1<<CSW_KNIFE)|(1<<CSW_C4)) 
-   
- new const g_MaxClipAmmo[] =  
- { 
- 	0, 
- 	13, //CSW_P228 
- 	0, 
- 	10, //CSW_SCOUT 
- 	0,  //CSW_HEGRENADE 
- 	7,  //CSW_XM1014 
- 	0,  //CSW_C4 
- 	30,//CSW_MAC10 
- 	30, //CSW_AUG 
- 	0,  //CSW_SMOKEGRENADE 
- 	15,//CSW_ELITE 
- 	20,//CSW_FIVESEVEN 
- 	25,//CSW_UMP45 
- 	30, //CSW_SG550 
- 	35, //CSW_GALIL 
- 	25, //CSW_FAMAS 
- 	12,//CSW_USP 
- 	20,//CSW_GLOCK18 
- 	10, //CSW_AWP 
- 	30,//CSW_MP5NAVY 
- 	100,//CSW_M249 
- 	8,  //CSW_M3 
- 	30, //CSW_M4A1 
- 	30,//CSW_TMP 
- 	20, //CSW_G3SG1 
- 	0,  //CSW_FLASHBANG 
- 	7,  //CSW_DEAGLE 
- 	30, //CSW_SG552 
- 	30, //CSW_AK47 
- 	0,  //CSW_KNIFE 
- 	50//CSW_P90 
- } 
-   
-   
- public plugin_init() { 
- 	register_plugin(PLUGIN, VERSION, AUTHOR) 
-   
- 	register_clcmd("say /bolt", "fomenu") 
- 	register_clcmd("say /shop", "fomenu") 
-   
- 	register_clcmd("say /netudjadallitsdat", "kuldesmenu") 
-   
- 	RegisterHam(Ham_TakeDamage , "player" , "PlayerHurt", 0); 
- 	RegisterHam(Ham_Killed, "player", "fw_player_killed", 1) 
-   
- 	register_event("CurWeapon", "Event_CurWeapon", "be", "1=1") 
- 	register_event("ResetHUD", "newRound", "b")   
-   
- 	killp = register_cvar("pont_kill", "5") 
- 	killhsp = register_cvar("pont_killhs", "8") 
-   
- 	vipkillp = register_cvar("pont_killvip", "10") 
- 	vipkillhsp = register_cvar("pont_killhsvip", "12") 
-   
- 	g_lehetmeg = register_cvar("amx_lehetvenni", "2") 
-   
- 	register_clcmd("MENNYISEG", "ponts") 
-   
- 	g_vault = nvault_open("BasebuilderPont") 
- } 
- //Hud üzenet 
- public client_PreThink(id) 
- { 
- 	set_hudmessage(0, 255, 0, 0.0, 0.16, 0, 6.0, 1.0) 
- 	show_hudmessage(id, "  Pontjaid: %d", pont[id]) 
-   
- } 
- //Ölés pontokért 
- public fw_player_killed(victim, attacker, shouldgib) 
- { 
- 	if(get_user_flags(attacker) & VIPJOG && attacker != victim) 
- 	{ 
- 		if(get_pdata_int(victim, 75) == HIT_HEAD) 
- 		{ 
- 			pont[attacker] += get_pcvar_num(vipkillhsp) 
- 			set_hudmessage(attacker, 255, 0, -1.0, 0.3, 0, 6.0, 2.0) 
- 			show_hudmessage(attacker, "[+%d pont - Fejloves]", get_pcvar_num(vipkillhsp)) 
- 		} 
- 		else 
- 		{ 
- 			pont[attacker] += get_pcvar_num(vipkillp) 
- 			set_hudmessage(attacker, 255, 0, -1.0, 0.3, 0, 6.0, 2.0) 
- 			show_hudmessage(attacker, "[+%d pont]", get_pcvar_num(vipkillp)) 
- 		} 
- 	} 
- 	else if(attacker != victim)  
- 	{ 
- 		if(get_pdata_int(victim, 75) == HIT_HEAD) 
- 		{ 
- 			pont[attacker] += get_pcvar_num(killhsp) 
- 			set_hudmessage(attacker, 255, 0, -1.0, 0.3, 0, 6.0, 2.0) 
- 			show_hudmessage(attacker, "[+%d pont - Fejloves]", get_pcvar_num(killhsp)) 
- 		} 
- 		else 
- 		{ 
- 			pont[attacker] += get_pcvar_num(killp) 
- 			set_hudmessage(attacker, 255, 0, -1.0, 0.3, 0, 6.0, 2.0) 
- 			show_hudmessage(attacker, "[+%d pont]", get_pcvar_num(killp)) 
- 		} 
- 	} 
- 	return PLUGIN_CONTINUE 
- } 
- //Új kör 
- public newRound() 
- { 
- 	new players[32], num 
- 	get_players(players, num) 
- 	for(new i; i<get_maxplayers(); i++) 
- 	{ 
- 		new id = players[i] 
- 		orokloszer[id] = false 
- 		sebesseg[id] = false 
- 		gravitacio[id] = false 
- 		aranym4[id] = false 
- 		aranyak[id] = false 
- 		hasznalta[id] = 0 
- 	} 
- }	 
- //Letöltések 
- public plugin_precache() 
- { 
- 	precache_model("models/aranyak.mdl") 
- 	precache_model("models/p_aranyak.mdl") 
-   
- 	precache_model("models/aranym4.mdl") 
- 	precache_model("models/p_aranym4.mdl") 
-   
- } 
- //Fomenu 
- public fomenu(id) 
- { 
- 	static CsTeams: team ; team = cs_get_user_team(id) 
- 	if (team == CS_TEAM_T) 
- 	{    
- 		new menu = menu_create("\yBaseBuilder [T] Bolt \w[By: N*Joy^^]", "fomenut_handler"); 
-   
- 		new szoveg[192] 
- 		formatex(szoveg, 191, "1000 HP [20 pont] \w[%d/%d]",hasznalta[id],get_pcvar_num(g_lehetmeg)) 
- 		menu_additem(menu, szoveg, "", 0); // case 0 
- 		menu_additem(menu, "Kisebb gravitacio [20 pont]", "", 0); // case 1 
- 		menu_additem(menu, "Gyorsasag [15 pont]", "", 0); // case 2 
-   
- 		menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); 
-   
- 		menu_display(id, menu, 0); 
-   
- 		return PLUGIN_HANDLED; 
- 	} 
- 	else 
- 	{  
- 		new menu = menu_create("\yBaseBuilder [CT] Bolt \w[By: N*Joy^^`]", "fomenuct_handler"); 
-   
- 		menu_additem(menu, "+50 HP [20 pont]", "", 0); // case 0 
- 		menu_additem(menu, "Gyorsasag [15 pont]", "", 0); // case 1 
- 		menu_additem(menu, "Kisebb gravitacio [20 pont]", "", 0); // case 2 
- 		menu_additem(menu, "Orok tolteny [120 pont]", "", 0); // case 3 
- 		menu_additem(menu, "\rArany M4A1 [120 pont]", "", 0); // case 4 
- 		menu_additem(menu, "\rArany AK47 [120 pont]", "", 0); // case 5 
- 		menu_additem(menu, "Minigun [65 pont]", "", 0); // case 6 
- 		menu_additem(menu, "CT magozo [45 pont]", "", 0); // case 7 
- 		menu_additem(menu, "T magozo [45 pont]", "", 0); // case 8 
-   
- 		menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); 
-   
- 		menu_display(id, menu, 0); 
-   
- 	} 
- 	return PLUGIN_HANDLED; 
- } 
- public fomenut_handler(id, menu, item) 
- { 
- 	if(item == MENU_EXIT) 
- 	{ 
- 		menu_cancel(id); 
- 		return PLUGIN_HANDLED; 
- 	} 
-   
- 	new command[6], name[64], access, callback; 
-   
- 	menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); 
-   
- 	switch(item) 
- 	{ 
- 		case 0: { 
- 			if(pont[id] >= 20) 
- 			{ 
- 				if(hasznalta[id] < get_pcvar_num(g_lehetmeg)) 
- 				{ 
- 					hasznalta[id]++ 
- 					set_user_health(id, get_user_health(id)+1000) 
- 					pont[id] -= 20 
- 					ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 					fomenu(id) 
- 				} 
- 				else  
- 				{ 
- 					ColorChat(id, GREEN, "[Bolt]^1 Csak %dx hasznalhatod ezt a menupontot!",get_pcvar_num(g_lehetmeg)) 
- 				} 
- 				fomenu(id) 
- 			} 
- 			else 
- 			{ 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 			} 
- 			fomenu(id) 
- 		} 
- 		case 1: { 
- 			if(pont[id] >= 20) 
- 			{ 
- 				set_user_gravity(id, 0.5) 
- 				gravitacio[id] = true 
- 				pont[id] -= 20 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
- 		case 2: { 
- 			if(pont[id] >= 20) 
- 			{ 
- 				set_user_maxspeed(id, 550.0) 
- 				sebesseg[id] = true 
- 				pont[id] -= 15 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
-   
- 	} 
-   
- 	menu_destroy(menu); 
-   
- 	return PLUGIN_HANDLED; 
- } 
- public fomenuct_handler(id, menu, item) 
- { 
- 	if(item == MENU_EXIT) 
- 	{ 
- 		menu_cancel(id); 
- 		return PLUGIN_HANDLED; 
- 	} 
-   
- 	new command[6], name[64], access, callback; 
-   
- 	menu_item_getinfo(menu, item, access, command, sizeof command - 1, name, sizeof name - 1, callback); 
-   
- 	switch(item) 
- 	{ 
- 		case 0: { 
- 			if(pont[id] >= 20) 
- 			{ 
- 				set_user_health(id, get_user_health(id)+50) 
- 				pont[id] -= 20 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
- 		case 1: { 
- 			if(pont[id] >= 15) 
- 			{ 
- 				set_user_maxspeed(id, 700.0) 
- 				sebesseg[id] = true 
- 				pont[id] -= 15 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
- 		case 2: { 
- 			if(pont[id] >= 20) 
- 			{ 
- 				set_user_gravity(id, 0.5) 
- 				gravitacio[id] = true 
- 				pont[id] -= 20 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
- 		case 3: { 
- 			if(pont[id] >= 120) 
- 			{ 
- 				orokloszer[id] = true 
- 				pont[id] -= 120 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
- 		case 4: { 
- 			if(pont[id] >= 120) 
- 			{ 
- 				pont[id] -= 120 
- 				give_item(id, "weapon_m4a1") 
- 				cs_set_user_bpammo(id, CSW_M4A1, 90) 
- 				aranym4[id] = true 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
- 		case 5: { 
- 			if(pont[id] >= 120) 
- 			{ 
- 				give_item(id, "weapon_ak47") 
- 				cs_set_user_bpammo(id, CSW_AK47, 90) 
- 				aranyak[id] = true 
- 				pont[id] -= 120 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
- 		case 6:{ 
- 			if(pont[id] >= 65) 
- 			{ 
- 				give_item(id,"weapon_m249") 
- 				cs_set_user_bpammo(id, CSW_M249, 200) 
- 				pont[id] -= 65 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
- 		case 7: { 
- 			if(pont[id] >= 45) 
- 			{ 
- 				give_item(id, "weapon_g3sg1") 
- 				cs_set_user_bpammo(id, CSW_G3SG1, 90) 
- 				pont[id] -= 45 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^n Sajnos nincs eleg pontod") 
- 		} 
- 		case 8: { 
- 			if(pont[id] >= 45) 
- 			{ 
- 				give_item(id, "weapon_sg550") 
- 				cs_set_user_bpammo(id, CSW_SG550, 90) 
- 				pont[id] -= 45 
- 				ColorChat(id, GREEN, "[Bolt]^1 Sikeres vasarlas!") 
- 				fomenu(id) 
- 			} 
- 			else ColorChat(id, GREEN, "[Bolt]^1 Sajnos nincs eleg pontod") 
- 		} 
- 	} 
-   
- 	menu_destroy(menu); 
-   
- 	return PLUGIN_HANDLED; 
- } 
- //Modellek 
- public Event_CurWeapon(id) 
- { 
- 	new weap = get_user_weapon(id) 
- 	if(weap == CSW_AK47 && aranyak[id] == true) 
- 	{ 
- 		entity_set_string(id, EV_SZ_viewmodel, "models/redak.mdl") 
- 		entity_set_string(id, EV_SZ_weaponmodel, "models/p_aranyak.mdl") 
- 	} 
- 	else if(weap == CSW_M4A1 && aranym4[id] == true) 
- 	{ 
- 		entity_set_string(id, EV_SZ_viewmodel, "models/redm4.mdl") 
- 		entity_set_string(id, EV_SZ_weaponmodel, "models/p_aranym4.mdl")	 
- 	} 
- 	if(orokloszer[id] == true) 
- 	{ 
- 		fm_cs_set_weapon_ammo( get_pdata_cbase(id, m_pActiveItem) , g_MaxClipAmmo[ weap ] ) 
- 	} 
- } 
- //sebzés 
- public PlayerHurt( victim,inflictor,attacker,Float:damage, DamageBits ) 
- { 
- 	new weap = get_user_weapon(attacker) 
- 	if(weap == CSW_AK47 && aranyak[attacker] == true || weap == CSW_M4A1 && aranym4[attacker] == true) 
- 	{ 
- 		SetHamParamFloat(4, damage * 2.0); 
- 	}	 
- 	return HAM_IGNORED;  
- }   
- //Nvault, mentés 
- public mentes(id)  
- { 
- 	new vaultkey[64],vaultdata[256] 
-   
- 	format(vaultkey,63,"%s-PONTOK", name[id]) 
- 	format(vaultdata,255,"%d", pont[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) 
-   
- 	pont[id] = str_to_num(vaultdata) 
- 	return PLUGIN_CONTINUE; 
- } 
- public client_disconnect(id) 
- { 
- 	mentes(id); 
- 	remove_task(id); 
- 	pont[id] = 0; 
- 	orokloszer[id] = false 
- 	sebesseg[id] = false 
- 	gravitacio[id] = false 
- 	aranym4[id] = false 
- 	aranyak[id] = false 
- 	hasznalta[id] = 0 
- } 
-   
- public client_connect(id) 
- { 
- 	get_user_name(id, name[id], 31) 
- 	betoltes(id); 
- } 
- public kuldesmenu(id) 
- { 
- 		new menu = menu_create("\y[Pont Kuldes]", "kuldes_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_setprop(menu, MPROP_EXIT, MEXIT_ALL); 
- 			menu_display(id, menu, 0); 
- 	} 
-   
- }  
- public kuldes_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); 
- 	x_tempid = str_to_num(data); 
- 	client_cmd(id, "messagemode MENNYISEG"); 
- 	menu_destroy(menu); 
- 	return PLUGIN_HANDLED; 
- } 
- public ponts(id) 
- {         
- 	new uzenet[121]; 
- 	new kuldoneve[32], tempname[32] 
- 	read_args(uzenet, charsmax(uzenet))  
- 	remove_quotes(uzenet) 
- 	get_user_name(id, kuldoneve, 31) 
- 	get_user_name(x_tempid, tempname, 31) 
-   
- 	pont[x_tempid] += str_to_num(uzenet) 
- 	ColorChat(0, GREEN, "[Pontrendszer] ^3%s ^1adott ^4%d ^1pontot ^3%s^1-nek!", kuldoneve,str_to_num(uzenet),tempname) 
-   
- } 
-