- /* Plugin generated by AMXX-Studio */ 
-   
- #include < amxmodx > 
- #include < engine > 
- #include < fakemeta_util > 
- #include < cstrike > 
- #include < fun > 
- #include < hamsandwich > 
- #include < nvault > 
-   
- #define PLUGIN "Bonus Box" 
- #define VERSION "1.5" 
- #define AUTHOR "MegastorM Edit:LyleChriss" 
-   
- #define TASK_BONUS 1234 
-   
- new modell[] = { "models/box/w_bonus.mdl" } 
- new const szPrefix[15] = "[Bonus Box]" 
- new g_sprite 
- new Float:OriginZrtve[3], Float:Uglovi[3]  
- new fegyver[33] 
- new dobozok[33] 
-   
- new bool:sebesseg[33] 
- new bool:duplasebzes[33] 
- new bool:norecoil[33] 
-   
- new vault 
-   
- new Sebesseg, Gravity, LathatatlansagIdo 
-   
- enum Color 
- { 
- 	NORMAL = 1, 
- 	GREEN, 
- 	TEAM_COLOR, 
- 	GREY, 
- 	RED, 
- 	BLUE, 
- } 
-   
- new TeamName[][] = 
- { 
- 	"", 
- 	"TERRORIST", 
- 	"CT", 
- 	"SPECTATOR" 
- } 
-   
- new const g_playerModels[][] = { 
- 	"artic", 
- 	"guerilla", 
- 	"leet", 
- 	"terror", 
- 	"gign", 
- 	"gsg9", 
- 	"sas", 
- 	"urban" 
- } 
-   
- public plugin_init() { 
- 	register_plugin(PLUGIN, VERSION, AUTHOR) 
- 	register_event("DeathMsg", "event_death", "ade"); 
- 	register_touch("BonusBox", "player",  "touchbox"); 
- 	RegisterHam(Ham_Spawn, "player", "player_spawn", 1) 
- 	RegisterHam(Ham_TakeDamage, "player", "sebzes") 
- 	register_forward(FM_PlayerPreThink, "prethink") 
- 	register_event("CurWeapon", "fegyvervaltas", "be", "1=1") 
- 	register_clcmd("say /raktar", "raktar")	 
- 	Sebesseg = register_cvar("bbox_sebesseg", "425") 
- 	Gravity = register_cvar("bbox_gravity", "0.4") 
- 	LathatatlansagIdo = register_cvar("bbox_lathatatlan", "5") 
- 	vault = nvault_open("doboz") 
- } 
-   
- public player_spawn(id) 
- { 
- 	sebesseg[id] = false 
- 	duplasebzes[id] = false 
- 	norecoil[id] = false 
- 	if(is_user_alive(id)) 
- 	{ 
- 		set_user_footsteps(id, 0) 
- 		set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255) 
- 	} 
- 	if(is_user_connected(id)) cs_reset_user_model(id) 
- } 
-   
- public mentes(id) 
- { 
-     	new name[32] 
-     	get_user_name(id, name, 31) 
-     	new vaultkey[64],vaultdata[256] 
-     	format(vaultkey,63,"%s", name) 
-     	format(vaultdata,255,"%i",dobozok[id]) 
-     	nvault_set(vault,vaultkey,vaultdata) 
-     	return PLUGIN_CONTINUE 
- } 
-   
- public betoltes(id) 
- { 
-     	new name[32] 
-     	get_user_name(id, name, 31) 
-     	new vaultkey[64],vaultdata[256] 
-     	format(vaultkey,63,"%s", name) 
-     	format(vaultdata,255,"%i",dobozok[id]) 
-     	nvault_get(vault,vaultkey,vaultdata,255) 
-     	replace_all(vaultdata, 255, "#", " ") 
-     	new box[32] 
-     	parse(vaultdata, box, 31) 
-     	dobozok[id] = str_to_num(box) 
-     	return PLUGIN_CONTINUE 
- 	} 
-   
- public client_connect(id) 
- { 
- 	betoltes(id) 
- } 
- public client_disconnect(id) 
- { 
-     	mentes(id) 
- } 
-   
- public fegyvervaltas(id) 
- { 
- 	fegyver[id] = get_user_weapon(id) 
- 	if(sebesseg[id]) set_user_maxspeed(id, get_pcvar_float(Sebesseg)) 
- } 
-   
-   
-   
- public plugin_precache() 
- { 
- 	precache_model(modell) 
- 	g_sprite = precache_model("sprites/box/box_sprite.spr") 
- 	//precache_sound("box/supplybox.wav") 
- 	precache_sound("box/touched.wav") 
- } 
-   
- public event_death() 
- { 
- 	new victim = read_data(2) 
- 	if(is_user_connected(victim)) 
- 	{ 
- 		get_origin(victim) 
-   
- 		set_task(0.1,"create_bonusbox",TASK_BONUS) 
- 	} 
- } 
-   
- public get_origin(id) 
- { 
- 	pev(id, pev_origin, OriginZrtve) 
- 	pev(id, pev_angles, Uglovi) 
- 	Uglovi[0] = 0.0 
- } 
-   
- public create_bonusbox() 
- { 
- 	new ent = create_entity("info_target") 
-   
- 	entity_set_origin(ent, OriginZrtve) 
- 	entity_set_string(ent, EV_SZ_classname, "BonusBox") 
- 	entity_set_model(ent, modell) 
- 	set_rendering ( ent, kRenderFxGlowShell, random_num(128,255),random_num(128,255),random_num(128,255), kRenderFxNone, 255 ) 
- 	//emit_sound(ent, CHAN_ITEM, "box/supplybox.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); 
- 	entity_set_int(ent, EV_INT_solid, SOLID_BBOX) 
- 	entity_set_int(ent, EV_INT_movetype, MOVETYPE_PUSHSTEP) 
-   
- 	entity_set_size(ent,Float:{-2.0,-2.0,-2.0},Float:{5.0,5.0,5.0}) 
-   
- 	drop_to_floor(ent) 
-   
- 	engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, OriginZrtve, 0) 
- 	write_byte(TE_BEAMCYLINDER) // TE id 
- 	engfunc(EngFunc_WriteCoord, OriginZrtve[0]) // x 
- 	engfunc(EngFunc_WriteCoord, OriginZrtve[1]) // y 
- 	engfunc(EngFunc_WriteCoord, OriginZrtve[2]) // z 
- 	engfunc(EngFunc_WriteCoord, OriginZrtve[0]) // x axis 
- 	engfunc(EngFunc_WriteCoord, OriginZrtve[1]) // y axis 
- 	engfunc(EngFunc_WriteCoord, OriginZrtve[2]+385.0) // z axis 
- 	write_short(g_sprite) // sprite 
- 	write_byte(0) // startframe 
- 	write_byte(0) // framerate 
- 	write_byte(4) // life 
- 	write_byte(30) // width 
- 	write_byte(0) // noise 
- 	write_byte(250) // red 
- 	write_byte(0) // green 
- 	write_byte(0) // blue 
- 	write_byte(200) // brightness 
- 	write_byte(0) // speed 
- 	message_end() 
- } 
-   
- public touchbox(ent, toucher) 
- { 
- 	if (!is_user_alive(toucher) || !pev_valid(ent)) 
- 		return FMRES_IGNORED 
-   
- 	new classname[32]	 
- 	pev(ent, pev_classname, classname, 31) 
- 	if (!equal(classname, "BonusBox")) 
- 		return FMRES_IGNORED 
-   
- 	meni_za_potvrdu(toucher) 
-   
- 	emit_sound(toucher, CHAN_ITEM, "box/touched.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); 
-   
- 	set_pev(ent, pev_effects, EF_NODRAW) 
- 	set_pev(ent, pev_solid, SOLID_NOT) 
- 	remove_ent(ent) 
- 	return FMRES_IGNORED 
-   
- } 
-   
- public meni_za_potvrdu(id) 
- { 
- 	new szItem[32] 
- 	new menu = menu_create("Szeretnéd kinyitni a dobozt?","Box_H"); 
-   
- 	formatex(szItem,charsmax(szItem),"\yIgen, szeretném!") 
- 	menu_additem(menu, szItem) 
-   
- 	formatex(szItem,charsmax(szItem),"\dNem, inkább elrakom későbbre!") 
- 	menu_additem(menu,szItem) 
- 	menu_display(id,menu); 
- } 
-   
- public raktar(id) 
- { 
- 	new szItem[32] 
- 	new rmenu = menu_create("Raktár menü. Dobozaid: \r%d ^nKinyitsz egyet?", "Box_R", dobozok[id]) 
-   
- 	formatex(szItem, charsmax(szItem),"\yIgen") 
- 	menu_additem(rmenu, szItem) 
-   
- 	formatex(szItem, charsmax(szItem),"\dNem") 
- 	menu_additem(rmenu, szItem) 
- 	menu_display(id, rmenu); 
- } 
-   
-   
-   
- public Box_H(id, menu, item) 
- {	 
- 	switch(item) 
- 	{ 
- 		case 0: 
- 		{ 
- 			switch(random_num(1, 13)) 
- 				{ 
- 					case 1: 
- 					{ 
- 						set_user_health(id,get_user_health(id)+100) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Wow! +100 HP volt a dobozban!",szPrefix) 
- 					} 
- 					case 2: 
- 					{ 
- 						set_user_health(id,get_user_health(id)-100) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Hehe! -100 HP volt a dobozban!",szPrefix) 
- 					} 
- 					case 3: 
- 					{ 
- 						give_item(id, "weapon_hegrenade") 
- 						give_item(id, "weapon_flashbang") 
- 						give_item(id, "weapon_flashbang") 
- 						give_item(id, "weapon_smokegrenade") 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Azta! Gránátcsomagot találtál!",szPrefix) 
- 					} 
- 					case 4: 
- 					{ 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Hát ez üres volt...",szPrefix) 
- 					} 
- 					case 5: 
- 					{ 
- 						set_user_footsteps(id, 1) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Surranót kaptál!Mostmár senki sem hallja a trappod!",szPrefix) 
- 					} 
- 					case 6: 
- 					{ 
- 						sebesseg[id] = true 
- 						set_user_maxspeed(id, get_pcvar_float(Sebesseg)) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Te aztán felgyorsultál!Vajon mi volt abban a ládában?",szPrefix) 
- 					} 
- 					case 7: 
- 					{ 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Hát ezt üres volt...",szPrefix) 
- 					} 
- 					case 8: 
- 					{ 
- 						set_user_gravity(id, get_pcvar_float(Gravity)) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Ez meg mi?Antigraviációs öv?!",szPrefix) 
- 					} 
- 					case 9: 
- 					{ 
- 						switch(get_user_team(id)) 
- 						{ 
- 							case 1: cs_set_user_model(id, g_playerModels[random_num(4, 7)]) 
- 							case 2: cs_set_user_model(id, g_playerModels[random_num(0, 3)]) 
- 						} 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Egy koszos ruha?Hmmm, ebben úgy nézel ki, mint az ellenség!",szPrefix) 
- 					} 
- 					case 10: 
- 					{ 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Hát ez üres volt...",szPrefix) 
- 					} 
- 					case 11: 
- 					{ 
- 						set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0) 
- 						set_task(get_pcvar_float(LathatatlansagIdo), "NoMoreInvis", id) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Egy köpeny?Várjunk csak, hisz ez láthatatlanná tesz!",szPrefix) 
- 					} 
- 					case 12: 
- 					{ 
- 						duplasebzes[id] = true 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Keménymagvú lövedéééék??!!Dehát ez növeli a sebzést!Legális ez?",szPrefix) 
- 					} 
- 					case 13: 
- 					{ 
- 						norecoil[id] = true 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Célzókészüléket találtál!Mostmár úgy lősz, mintha no recoil cfg-d lenne!",szPrefix) 
- 					} 
- 				} 
- 		} 
- 		case 1: 
- 		{ 
- 			switch(random_num(1,3)) 
- 			{ 
- 				case 1: 
- 				{ 
- 					ColorChat(id, TEAM_COLOR, "^4%s^1 Eltéve a raktáradba!",szPrefix) 
- 					dobozok[id] = dobozok[id]+1 
- 				} 
- 				case 2: 
- 				{ 
- 					ColorChat(id, TEAM_COLOR, "^4%s^1 Eltéve a raktáradba!",szPrefix) 
- 					dobozok[id] = dobozok[id]+1 
- 				} 
- 				case 3: 
- 				{ 
- 					ColorChat(id, TEAM_COLOR, "^4%s^1 Eltéve a raktáradba!",szPrefix) 
- 					dobozok[id] = dobozok[id]+1 
- 				} 
-   
- 			} 
- 		} 
-   
- 	} 
- 	return PLUGIN_CONTINUE; 
- } 
-   
- public Box_R(id, rmenu, item) 
- { 
- 	if(dobozok[id]>0){ 
- 		switch(item) 
- 		{ 
- 			case 0: 
- 			{ 
- 				switch(random_num(1, 13)) 
- 				{ 
- 					case 1: 
- 					{ 
- 						set_user_health(id,get_user_health(id)+100) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Wow! +100 HP volt a dobozban!",szPrefix) 
- 					} 
- 					case 2: 
- 					{ 
- 						set_user_health(id,get_user_health(id)-100) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Hehe! -100 HP volt a dobozban!",szPrefix) 
- 					} 
- 					case 3: 
- 					{ 
- 						give_item(id, "weapon_hegrenade") 
- 						give_item(id, "weapon_flashbang") 
- 						give_item(id, "weapon_flashbang") 
- 						give_item(id, "weapon_smokegrenade") 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Azta! Gránátcsomagot találtál!",szPrefix) 
- 					} 
- 					case 4: 
- 					{ 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Hát ez üres volt...",szPrefix) 
- 					} 
- 					case 5: 
- 					{ 
- 						set_user_footsteps(id, 1) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Surranót kaptál!Mostmár senki sem hallja a trappod!",szPrefix) 
- 					} 
- 					case 6: 
- 					{ 
- 						sebesseg[id] = true 
- 						set_user_maxspeed(id, get_pcvar_float(Sebesseg)) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Te aztán felgyorsultál!Vajon mi volt abban a ládában?",szPrefix) 
- 					} 
- 					case 7: 
- 					{ 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Hát ezt üres volt...",szPrefix) 
- 					} 
- 					case 8: 
- 					{ 
- 						set_user_gravity(id, get_pcvar_float(Gravity)) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Ez meg mi?Antigraviációs öv?!",szPrefix) 
- 					} 
- 					case 9: 
- 					{ 
- 						switch(get_user_team(id)) 
- 						{ 
- 							case 1: cs_set_user_model(id, g_playerModels[random_num(4, 7)]) 
- 							case 2: cs_set_user_model(id, g_playerModels[random_num(0, 3)]) 
- 						} 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Egy koszos ruha?Hmmm, ebben úgy nézel ki, mint az ellenség!",szPrefix) 
- 					} 
- 					case 10: 
- 					{ 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Hát ez üres volt...",szPrefix) 
- 					} 
- 					case 11: 
- 					{ 
- 						set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0) 
- 						set_task(get_pcvar_float(LathatatlansagIdo), "NoMoreInvis", id) 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Egy köpeny?Várjunk csak, hisz ez láthatatlanná tesz!",szPrefix) 
- 					} 
- 					case 12: 
- 					{ 
- 						duplasebzes[id] = true 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Keménymagvú lövedéééék??!!Dehát ez növeli a sebzést!Legális ez?",szPrefix) 
- 					} 
- 					case 13: 
- 					{ 
- 						norecoil[id] = true 
- 						ColorChat(id, TEAM_COLOR, "^4%s^1 Célzókészüléket találtál!Mostmár úgy lősz, mintha no recoil cfg-d lenne!",szPrefix) 
- 					} 
- 				} 
- 			} 
- 			case 1: 
- 			{ 
- 				menu_cancel(id) 
- 			} 
- 		} 
- 	} 
- 	else 
- 	{ 
- 		ColorChat(id, TEAM_COLOR, "^4%s^1 Sajnálom, nincs elég dobozod!",szPrefix) 
- 	} 
- 	return PLUGIN_CONTINUE; 
- } 
-   
- public remove_ent(ent) 
- { 
- 	if (pev_valid(ent)) 
- 		engfunc(EngFunc_RemoveEntity, ent) 
- } 
-   
- public NoMoreInvis(id) 
- { 
- 	set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255) 
- 	ColorChat(id, TEAM_COLOR, "%s ^1%L", szPrefix, "Szerintem elszakadt a köpeny... Már nem vagyok láthatatlan.") 
- } 
-   
- public sebzes(victim, inflictor, attacker, Float:damage, damage_bits) 
- { 
- 	if(is_user_alive(attacker) && duplasebzes[attacker] && attacker != victim) 
- 		SetHamParamFloat(4, damage * 2) 
- } 
-   
- public prethink(id) 
- { 
- 	if(!is_user_alive(id) || !norecoil[id]) 
- 		return 
-   
- 	set_pev(id, pev_punchangle, {0.0, 0.0, 0.0}) 
- } 
-   
-   
-   
- ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...) 
- { 
- 	if( !get_playersnum() ) return; 
-   
- 	new message[256]; 
-   
- 	switch(type) 
- 	{ 
- 		case NORMAL:  
- 		{ 
- 			message[0] = 0x01; 
- 		} 
- 		case GREEN: // Zöld 
- 		{ 
- 			message[0] = 0x04; 
- 		} 
- 		default: // Szürke, Piros, Kék 
- 		{ 
- 			message[0] = 0x03; 
- 		} 
- 	} 
-   
- 	vformat(message[1], 251, msg, 4); 
-   
- 	replace_all(message, 191, "!n", "^x01") 
- 	replace_all(message, 191, "!t", "^x03") 
- 	replace_all(message, 191, "!g", "^x04") 
-   
- 	message[192] = '^0'; 
-   
- 	new team, ColorChange, index, MSG_Type; 
-   
- 	if(id) 
- 	{ 
- 		MSG_Type = MSG_ONE; 
- 		index = id; 
- 	} else { 
- 		index = FindPlayer(); 
- 		MSG_Type = MSG_ALL; 
- 	} 
-   
- 	team = get_user_team(index); 
- 	ColorChange = ColorSelection(index, MSG_Type, type); 
-   
- 	ShowColorMessage(index, MSG_Type, message); 
-   
- 	if(ColorChange) 
- 	{ 
- 		Team_Info(index, MSG_Type, TeamName[team]); 
- 	} 
- } 
-   
- ShowColorMessage(id, type, message[]) 
- { 
- 	static bool:saytext_used; 
- 	static get_user_msgid_saytext; 
- 	if(!saytext_used) 
- 	{ 
- 		get_user_msgid_saytext = get_user_msgid("SayText"); 
- 		saytext_used = true; 
- 	} 
- 	message_begin(type, get_user_msgid_saytext, _, id); 
- 	write_byte(id)		 
- 	write_string(message); 
- 	message_end();	 
- } 
-   
- Team_Info(id, type, team[]) 
- { 
- 	static bool:teaminfo_used; 
- 	static get_user_msgid_teaminfo; 
- 	if(!teaminfo_used) 
- 	{ 
- 		get_user_msgid_teaminfo = get_user_msgid("TeamInfo"); 
- 		teaminfo_used = true; 
- 	} 
- 	message_begin(type, get_user_msgid_teaminfo, _, id); 
- 	write_byte(id); 
- 	write_string(team); 
- 	message_end(); 
-   
- 	return 1; 
- } 
-   
- ColorSelection(index, type, Color:Type) 
- { 
- 	switch(Type) 
- 	{ 
- 		case RED: 
- 		{ 
- 			return Team_Info(index, type, TeamName[1]); 
- 		} 
- 		case BLUE: 
- 		{ 
- 			return Team_Info(index, type, TeamName[2]); 
- 		} 
- 		case GREY: 
- 		{ 
- 			return Team_Info(index, type, TeamName[0]); 
- 		} 
- 	} 
-   
- 	return 0; 
- } 
-   
- FindPlayer() 
- { 
- 	new i = -1; 
-   
- 	while(i <= get_maxplayers()) 
- 	{ 
- 		if(is_user_connected(++i)) 
- 			return i; 
- 	} 
-   
- 	return -1; 
- } 
-   
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE 
- *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par } 
- */