#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fun>
#include <amxmisc>
#include <colorchat>
#include <cstrike>
#include <hamsandwich>
 
#define ice_model "models/jegkocka.mdl"
 
const PEV_NADE_TYPE = pev_flTimeStepSound
const NADE_TYPE_CRB = 9987
const Float:NADE_EXPLOSION_RADIUS = 240.0
 
new bool:fagyva[33]
static Float:o[3]
static ent[33]
 
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame
 
 
new cvar_dmg, cvar_range, cvar_speed
 
new SW_MODEL[64] = "models/crb/minden.mdl"
new SW_SOUND[64] = "weapons/swfire1.wav"
new explosion, trail, white
new bool:lohet[33] = true
public fm_startFrame(){
 
	static id
	for (id = 1; id <= 32; id++)
	{
		if(is_user_connected(id))
			wp_forward(id)
	}
}
public wp_forward(player)
	{
	new wpnid = get_user_weapon(player)
	if(wpnid == CSW_MP5NAVY)
	{
		if((pev(player,pev_button)&IN_ATTACK2)){
			if(lohet[player] == true) {
				attack2(player)	
				lohet[player]=false
				set_task(3.0, "ujralohet", player)
			}
			else client_print(player, print_center, "A fegyver újratölt kérlek várj!")
		}
 
	}
}
public ujralohet(id){
	lohet[id] = true;
	client_print(id, print_center, "A fegyver készen áll!")
}
public attack2(player) {
	new sw = create_entity("info_target")
	if(sw == 0) return PLUGIN_CONTINUE
 
	entity_set_string(sw, EV_SZ_classname, "sw_entityname")
	entity_set_model(sw, SW_MODEL)
 
	entity_set_size(sw, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0})
	entity_set_int(sw, EV_INT_movetype, MOVETYPE_FLY)
	entity_set_int(sw, EV_INT_solid, SOLID_BBOX)
 
	new Float:vSrc[3]
	entity_get_vector(player, EV_VEC_origin, vSrc)
 
	new Float:Aim[3],Float:origin[3]
	VelocityByAim(player, 64, Aim)
	entity_get_vector(player,EV_VEC_origin,origin)
 
	vSrc[0] += Aim[0]
	vSrc[1] += Aim[1]
	entity_set_origin(sw, vSrc)
 
	new Float:velocity[3], Float:angles[3]
	VelocityByAim(player, get_pcvar_num(cvar_speed), velocity)
 
	entity_set_vector(sw, EV_VEC_velocity, velocity)
	vector_to_angle(velocity, angles)
	entity_set_vector(sw, EV_VEC_angles, angles)
	entity_set_edict(sw,EV_ENT_owner,player)
	entity_set_float(sw, EV_FL_takedamage, 1.0)
 
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(TE_BEAMFOLLOW)
	write_short(sw)
	write_short(trail)
	write_byte(25)
	write_byte(5)
	write_byte(224)
	write_byte(224)
	write_byte(255)
	write_byte(255)
	message_end()
 
	emit_sound(sw, CHAN_WEAPON, SW_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM)
	return PLUGIN_CONTINUE
}
public pfn_touch(ptr, ptd) {
	if(is_valid_ent(ptr)) {
		new classname[32]
		entity_get_string(ptr,EV_SZ_classname,classname,31)
		if(equal(classname, "sw_entityname")) {
			new Float:fOrigin[3]
			new iOrigin[3]
			entity_get_vector(ptr, EV_VEC_origin, fOrigin)
			FVecIVec(fOrigin,iOrigin)
			sw_radius_damage(ptr)
 
			message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin)
			write_byte(TE_EXPLOSION)
			write_coord(iOrigin[0])
			write_coord(iOrigin[1])
			write_coord(iOrigin[2])
			write_short(explosion)
			write_byte(30)
			write_byte(15)
			write_byte(0)
			message_end()
 
			message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin)
			write_byte(TE_BEAMCYLINDER)
			write_coord(iOrigin[0])
			write_coord(iOrigin[1])
			write_coord(iOrigin[2])
			write_coord(iOrigin[0])
			write_coord(iOrigin[1])
			write_coord(iOrigin[2]+200)
			write_short(white)
			write_byte(0)
			write_byte(1)
			write_byte(6)
			write_byte(8)
			write_byte(1)
			write_byte(255)
			write_byte(255)
			write_byte(192)
			write_byte(128)
			write_byte(5)
			message_end()
 
			if(is_valid_ent(ptd)) {
				new classname2[32]
				entity_get_string(ptd,EV_SZ_classname,classname2,31)
 
				if(equal(classname2,"func_breakable"))
					force_use(ptr,ptd)
			}
 
			remove_entity(ptr)
		}
	}
}
 
 
 
new const g_szPageSprite[]         = "sprites/crb/papir.spr"
 
new const SZEROPREF[] = "CrB"
 
new const MODEL[ ] = "models/crb/santa_hat.mdl";
 
 
new const iSound[] = "sound/crb/hohoho.mp3"
new const szSound[] = "sound/crb/szel.mp3"
new const csSound[] = "sound/crb/csengo.mp3"
 
new bool:lehet[33] = true
 
new spr, cvar, counter = 0, papirszam, talaltpapir[33], ajandekszam[33], voltszam[33], hocvar, szelzaj
new bool:megvan
new bool:generalva
new bool:vanmodell[33]
/* ajdandekok */
new const ajandekleiras[][] = {
	"+100HP",
	"+100AP",
	"M4A1",
	"AK47",
	"AWP",
	"Makker",
	"Mikulás sapka",
	"Mikulás modell"
}
new const parancs[][] = {
	"", //100hp
	"", // 100ap
	"weapon_m4a1", 
	"weapon_ak47", 
	"weapon_awp", 
	"", //makker
	"", //miki spai
	"" //miki modell
}
new const ammoname[] = {
	"", //100hp
	"", // 100ap
	CSW_M4A1, //m4
	CSW_AK47, //ak
	CSW_AWP, //awp
	"", //makker
	"", //miki spai
	"" //miki modell
}
 
public papirbevalt(id)
{
	if(talaltpapir[id] > 0)
	{
		switch(random_num(1,2))
		{
			case 1: {
				parancsfut(id)
				ColorChat(id, GREEN, "^4[^3%s^4] ^3Megkaptad az ajándékod <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
			}
			case 2: {
				talaltpapir[id] = 0;
				ColorChat(id, GREEN, "^4[^3%s^4] ^3Ez most nem jott be <!-- s:D --><img src=\"{SMILIES_PATH}/icon_e_biggrin.gif\" alt=\":D\" title=\"nagyon boldog\" /><!-- s:D -->", SZEROPREF)
			}
		}
	}
	else {
		ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
	}
	return PLUGIN_CONTINUE
 
}
public papireldob(id) {
	if(talaltpapir[id] > 0) {
		talaltpapir[id] = 0;
		ColorChat(id, GREEN, "^4[^3%s^4] ^3Eldobtad a papírod reméljük a következő nem ilyen sorsra jut <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
	}
	else {
		ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
	}	
}
public szelsound()
{
 
	if(get_pcvar_num(szelzaj) == 1)
	{		
		client_cmd(0, "mp3 play %s", szSound)	
	}
}
 
 
public fw_PlayerSpawn(id)
{
	if(vanmodell[id] == true)
	{
		switch(cs_get_user_team(id))
		{
			case CS_TEAM_CT: {
				cs_set_user_model(id, "crb_santa_ct")
			}
			case CS_TEAM_T: {
				cs_set_user_model(id, "crb_santa_t")
			}
		}
	}
	torol(id)
}
public szamlalo(id)
{
	if(generalva == true) {
		counter++
	}
	if(megvan == true) {
		counter = 0
	}
	if(counter > 30 && generalva == true)
	{
		new target = find_ent_by_class(target, "papirka")
		engfunc(EngFunc_RemoveEntity, target)
		papirszam--
		counter = 0
		generalva = false	
	}
}
public papircreate(id)
{
	if(papirszam < 1) {	
		new inifile[192], map[32]
		get_mapname(map, 31)
		new Float:papiro[3]
		formatex(inifile, charsmax(inifile), "addons/amxmodx/configs/csdm/%s.spawns.cfg", map)
		new elsopoz[8], masodikpoz[8], harmadikpoz[8]
		new lines = file_size(inifile, 1)
		if(lines > 0)
		{
			new randomLine = random(lines);
			new lineBuffer[256], len;
			read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);	
			parse(lineBuffer, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
 
			papiro[0] = str_to_float(elsopoz)
			papiro[1] = str_to_float(masodikpoz)
			papiro[2] = str_to_float(harmadikpoz)
		}
		new ent = create_entity("info_target")
		set_pev(ent, pev_classname, "papirka")
		entity_set_model(ent, g_szPageSprite)
		set_pev(ent,pev_solid, SOLID_BBOX)
		set_pev(ent, pev_movetype, MOVETYPE_TOSS)
		engfunc(EngFunc_SetOrigin, ent, papiro)
		engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
		engfunc(EngFunc_DropToFloor, ent)
		fm_set_rendering(ent, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, 16);
 
		client_cmd(id, "mp3 play %s", csSound)
 
		papirszam++
		megvan = false
		generalva = true
	}
}
public client_disconnect(id) torol(id)
public client_putinserver(id)
{
	lehet[id] = true
	lohet[id] = true
	fagyva[id] = false
}
public plugin_precache()
{
	spr = precache_model("sprites/crb/ho.spr")
	precache_generic(iSound);
	precache_generic(szSound);
	precache_generic(csSound);
	precache_model("models/crb/slander.mdl")
	precache_model(g_szPageSprite);
	precache_model( "models/crb/santa_hat.mdl" );
	precache_model("models/player/crb_santa_ct/crb_santa_ct.mdl")
	precache_model("models/player/crb_santa_t/crb_santa_t.mdl")
 
	precache_model(SW_MODEL)
	precache_sound(SW_SOUND)
	explosion = precache_model("sprites/crb/explo.spr")
	trail = precache_model("sprites/smoke.spr")
	white = precache_model("sprites/white.spr")
	engfunc(EngFunc_PrecacheModel, ice_model)
	RegisterHam(Ham_Think, "grenade", "granateldobas")
}	
public keszit(id)
{
	if(get_pcvar_num(hocvar) == 1)
	{
 
 
		new origin[3]
		new map[64]
		get_mapname(map,63)
 
		new fajl[192]
		formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/hopoz.ini")
		if (file_exists(fajl))
		{
			new line
			new linetext[255]
			new len
			new mapnev[32], maxcoord[8]
			while(read_file(fajl, line, linetext, 256, len))
			{
				parse(linetext, mapnev, 31, maxcoord, 7)
				if(equal(map, mapnev))
				{
					origin[2] = str_to_num(maxcoord)
 
				}
				line++
			}
		}
		for(new i=0; i < get_pcvar_num(cvar); i++) {
			origin[0] = random_num(-2999,2999)
			origin[1] = random_num(-2999,2999)
			message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
			write_byte(15)
			write_coord(origin[0])
			write_coord(origin[1])
			write_coord(origin[2])
			write_coord(origin[0])
			write_coord(origin[1])
			write_coord(origin[2])
			write_short(spr)
			write_byte(10)
			write_byte(0)
			write_byte(5)
			write_byte(random_num(30,70))
			write_byte(40)
			message_end()
			}
	}
 
}
public fw_EvTeamInfo( )
{
 
	static id; id = read_data( 1 );
	new nev[32]
	get_user_name(id, nev, charsmax(nev))
	static szTeam[ 2 ]; read_data( 2 , szTeam , 1 );
	if(lehet[id] == true)
	{
	switch( szTeam[ 0 ] )
	{
		case 'T': 
		{
			lehet[id] = false
			client_cmd(id, "mp3 play %s", iSound)
			ColorChat(0, GREEN, "^4[^3%s^4] %s ^3csatlakozott a ^4Terroristakhoz ^3Kellemes unnepeket kivanunk neki!",SZEROPREF, nev);
		}
		case 'C': 
		{
			lehet[id] = false
			client_cmd(id, "mp3 play %s", iSound)
			ColorChat(0, GREEN, "^4[^3%s^4] %s ^3csatlakozott a ^4Terrorista Elharitokhoz ^3Kellemes unnepeket kivanunk neki!",SZEROPREF, nev);
		}
		case 'S':
		{
			lehet[id] = false
			ColorChat(0, GREEN, "^4[^3%s^4] %s ^3csatlakozott a ^4Nezokhoz ^3Kellemes unnepeket kivanunk neki!",SZEROPREF, nev);
			client_cmd(id, "mp3 play %s", iSound)
		}
	}
	} 
}
public csavokanpc()
{
	new Float:origin[3]
	new map[64]
	get_mapname(map,63)
	new fajl[192]
	formatex(fajl, charsmax(fajl), "addons/amxmodx/configs/csavokapoz.ini")
	if (file_exists(fajl))
	{
		new line
		new linetext[255]
		new len
		new mapnev[32], elsopoz[8], masodikpoz[8], harmadikpoz[8]
		while(read_file(fajl, line, linetext, 256, len))
		{
			parse(linetext, mapnev, 31, elsopoz, 7, masodikpoz, 7, harmadikpoz, 7)
			if(equal(map, mapnev))
			{
				origin[0] = str_to_float(elsopoz);
				origin[1] = str_to_float(masodikpoz);
				origin[2] = str_to_float(harmadikpoz);
 
			}
			line++
		}
	}
	new ent = create_entity("info_target")
	set_pev(ent, pev_classname, "csavoka")
	entity_set_model(ent, "models/crb/slander.mdl")
	set_pev(ent,pev_solid, SOLID_BBOX)
	set_pev(ent, pev_movetype, MOVETYPE_TOSS)
	engfunc(EngFunc_SetOrigin, ent, origin)
	engfunc(EngFunc_SetSize, ent, Float:{-10.0,-10.0,0.0}, Float:{10.0,10.0,25.0})
 
}
public remove(ent, id)
{
	if(is_user_alive(id) && !is_user_bot(id) && is_user_connected(id)) {
		engfunc(EngFunc_RemoveEntity, ent)
		set_task(2.0, "csavokanpc")
		ajandekmenu(id)
	}
}
public papirtorol(ent, id)
{
	if(is_user_alive(id) && !is_user_bot(id) && is_user_connected(id)) {
		engfunc(EngFunc_RemoveEntity, ent)
		papirszam--
		megvan = true
		generalva = false
		if(talaltpapir[id] > 0)
		{
			ColorChat(id, GREEN, "^4[^3%s^4] ^3Már találtál egy papírt váltsd be <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
		}
		else {
			talaltpapir[id]++	
			sorsol(id)
		}
	}
}
public sorsol(id)
{
	new rnd = random(sizeof(ajandekleiras))
	if(voltszam[id] != rnd)
	{
		ColorChat(id, GREEN, "^4[^3%s^4] ^3Erre a papirra %s ajándék volt írva.",SZEROPREF, ajandekleiras[rnd])
		ajandekszam[id] = rnd
		voltszam[id] = rnd
	}
	else sorsol(id)
 
}
public parancsfut(id)
{
	if(ajandekszam[id] == 0)
	{
		set_user_health(id, get_user_health(id)+100)
	}
	else if(ajandekszam[id] == 1)
	{
		set_user_armor(id, get_user_armor(id)+100)
	}
	else if(ajandekszam[id] == 5)
	{
		new halal = cs_get_user_deaths(id)
		new frag = halal*2
		set_user_frags(id, get_user_frags(id)+frag)
		cs_set_user_deaths(id, 0)
	}
	else if(ajandekszam[id] == 6)
	{
		new iEntity
		new iInfoTarget
		iInfoTarget = engfunc( EngFunc_AllocString, "info_target" );
		iEntity = engfunc( EngFunc_CreateNamedEntity, iInfoTarget );
		if( pev_valid( iEntity ) )
		{
			engfunc( EngFunc_SetModel, iEntity, MODEL );
			set_pev( iEntity, pev_movetype, MOVETYPE_FOLLOW );
			set_pev( iEntity, pev_aiment, id );
			set_pev( iEntity, pev_owner, id );			
		}
	}
	else if(ajandekszam[id] == 7)
	{
		vanmodell[id] = true
	}
	else {
		give_item(id, parancs[ajandekszam[id]])
		cs_set_user_bpammo(id, ammoname[ajandekszam[id]], 120)
	}
	talaltpapir[id] = 0
}
public ajandekmenu(id)
{
	new menuamne[512]
	formatex(menuamne, charsmax(menuamne), "\y[%s] \rÜnnepi menü \w[\yPapir szám: \r%d\w]", SZEROPREF, talaltpapir[id])
	new menu = menu_create(menuamne, "menu_handler");
 
	menu_additem(menu, "Beváltom a papírt", "", 0); // case 0
	menu_additem(menu, "Nem kell az ajándék", "", 0); // case 1
 
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_setprop(menu, MPROP_BACKNAME, "Vissza");
	menu_setprop(menu, MPROP_NEXTNAME, "Következő");
	menu_setprop(menu, MPROP_EXITNAME, "Kilpés");
	menu_setprop(menu, MPROP_NUMBER_COLOR, "\y");
 
	menu_display(id, menu, 0);
 
	return PLUGIN_HANDLED;
}
 
public menu_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(talaltpapir[id] > 0)
			{
				parancsfut(id)
				talaltpapir[id] = 0
				ColorChat(id, GREEN, "^4[^3%s^4] ^3Megkaptad az ajándékod <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
			}
			else ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
		}
		case 1: {
			if(talaltpapir[id] > 0) {
				talaltpapir[id] = 0;
				ColorChat(id, GREEN, "^4[^3%s^4] ^3Eldobtad a papírod reméljük a következő nem ilyen sorsra jut <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
			}
			else ColorChat(id, GREEN, "^4[^3%s^4] ^3Neked nincs papírod gyorsan keress egyet <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->",SZEROPREF)
		}
	}
 
	menu_destroy(menu);
 
	return PLUGIN_HANDLED;
}
public korvege()
{
	new players[32], num
	get_players(players, num)
	for(new a=0; a<num; a++)
	{
		torol(players[a])
	}
}
public halal()
{
	new victim = read_data(2)
 
	if(fagyva[victim])
	{
		torol(victim)
	}
}
public fw_SetModel(entity, const model[])
{
	if (strlen(model) < 8)
		return;
 
	if (model[7] != 'w' || model[8] != '_')
		return;
 
	static Float:dmgtime
	pev(entity, pev_dmgtime, dmgtime)
 
	if (dmgtime == 0.0)
		return;
	if (model[9] == 'f' && model[10] == 'l')
	{
		set_pev(entity, PEV_NADE_TYPE, NADE_TYPE_CRB)
	}
}
public granateldobas(entity)
{
	if (!pev_valid(entity)) return HAM_IGNORED;
 
	static Float:dmgtime
	pev(entity, pev_dmgtime, dmgtime)
 
	if (dmgtime > get_gametime())
		return HAM_IGNORED;
 
	switch (pev(entity, PEV_NADE_TYPE))
	{
		case NADE_TYPE_CRB:
		{
			robbanas(entity)
			return HAM_SUPERCEDE;
		}
	}
 
	return HAM_IGNORED;
}
public robbanas(ent)
{
	static Float:origin[3]
	pev(ent, pev_origin, origin)
	new victim = -1
 
	while ((victim = engfunc(EngFunc_FindEntityInSphere, victim, origin, NADE_EXPLOSION_RADIUS)) != 0)
	{
		set_task(0.1, "befagyaszt", victim)
 
	}
	engfunc(EngFunc_RemoveEntity, ent)
}
public befagyaszt(id)
{	
	fagyaszt(id)
	set_task(15.0, "torold", id)
}
public torold(id)
{
	torol(id)	
}
public FM_PreThink(id)
{
	if(fagyva[id] == true)
	{
		set_pev(id, pev_maxspeed, 1.0)
		set_pev( id, pev_button, pev(id,pev_button) & ~IN_ATTACK );
		set_pev( id, pev_button, pev(id,pev_button) & ~IN_ATTACK2 );
		pev( id, pev_origin, o )
		if( pev( id, pev_flags ) & FL_DUCKING  ) o[2] -= 15.0
		else o[2] -= 35.0
		entity_set_origin(ent[id], o)
 
	}
 
}
public Player_Duck(id)
{
	static iOldbuttons ; iOldbuttons = entity_get_int(id, EV_INT_oldbuttons)
	if(fagyva[id] == true)
	{
		if( !(iOldbuttons & IN_DUCK) )
		{
			entity_set_int(id, EV_INT_oldbuttons, iOldbuttons | IN_DUCK)
			return HAM_HANDLED
		}
	}
	return HAM_IGNORED
}
public Player_Jump(id)
{
	static iOldbuttons ; iOldbuttons = entity_get_int(id, EV_INT_oldbuttons)
	if(fagyva[id] == true)
	{
		if( !(iOldbuttons & IN_JUMP) )
		{
			entity_set_int(id, EV_INT_oldbuttons, iOldbuttons | IN_JUMP)
			return HAM_HANDLED
		}
	}
	return HAM_IGNORED
}
public fagyaszt(id)
{
	if(is_user_alive(id)  && is_user_connected(id))
	{
		fagyva[id] = true		
		set_pev(id, pev_maxspeed, 1.0)	
		set_rendering(ent[id], kRenderFxNone, 255, 255, 255, kRenderTransAdd, 255)
	}
}
public torol(id)
{
	if(fagyva[id] == true)
	{
		fagyva[id] = false
		ExecuteHamB( Ham_Player_ResetMaxSpeed, id );
		set_rendering(ent[id], kRenderFxNone, 255, 255, 255, kRenderTransAdd, 0)
	}
 
}
public EntityCreate()
{
	for(new i=0;i<get_maxplayers();i++)
	{
		ent[i] = create_entity("info_target")
		set_pev( ent[i], pev_classname, "CrB" )
		entity_set_model(ent[i], ice_model)
		dllfunc(DLLFunc_Spawn, ent[i])
		set_pev(ent[i], pev_solid, SOLID_NOT)
		set_pev(ent[i], pev_movetype, MOVETYPE_FLY)
		entity_set_size(ent[i], Float:{ -3.0, -3.0, -3.0 }, Float:{ 3.0, 3.0, 3.0 } )
		set_pev( ent[i], pev_iuser3, i )
		set_pev( ent[i], pev_team, 6969 )
		set_rendering(ent[i], kRenderFxNone, 255, 255, 255, kRenderTransAdd, 0)
 
	}
 
}
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16)
{
	static Float:color[3]
	color[0] = float(r)
	color[1] = float(g)
	color[2] = float(b)
 
	set_pev(entity, pev_renderfx, fx)
	set_pev(entity, pev_rendercolor, color)
	set_pev(entity, pev_rendermode, render)
	set_pev(entity, pev_renderamt, float(amount))
}
stock sw_radius_damage(entity) {
	new id = entity_get_edict(entity,EV_ENT_owner)
	for(new i = 1; i < 33; i++) {
		if(is_user_alive(i)) {
			new dist = floatround(entity_range(entity,i))
 
			if(dist <= get_pcvar_num(cvar_range)) {
				new hp = get_user_health(i)
				new Float:damage = get_pcvar_float(cvar_dmg)-(get_pcvar_float(cvar_dmg)/get_pcvar_float(cvar_range))*float(dist)
 
				new Origin[3]
				get_user_origin(i,Origin)
 
				if(cs_get_user_team(id) != cs_get_user_team(i)) {
					if(hp > damage)
						sw_sebzes_msg(i,floatround(damage),Origin,DMG_BLAST)
					else
					logolas(id,i,"Rak?",0)
				}
			}
		}
	}
}
stock logolas(killer, victim, weapon[], headshot)
	{
	set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
	ExecuteHamB(Ham_Killed, victim, killer, 2)
	set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT)
 
 
	message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg"))
	write_byte(killer)
	write_byte(victim)
	write_byte(headshot)
	write_string(weapon)
	message_end()
 
	if(get_user_team(killer)!=get_user_team(victim))
		set_user_frags(killer,get_user_frags(killer) +1)
	if(get_user_team(killer)==get_user_team(victim))
		set_user_frags(killer,get_user_frags(killer) -1)
 
	new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10]
 
	get_user_name(killer, kname, 31)
	get_user_team(killer, kteam, 9)
	get_user_authid(killer, kauthid, 31)
 
	get_user_name(victim, vname, 31)
	get_user_team(victim, vteam, 9)
	get_user_authid(victim, vauthid, 31)
 
	log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"", 
	kname, get_user_userid(killer), kauthid, kteam, 
	vname, get_user_userid(victim), vauthid, vteam, weapon)
 
	return PLUGIN_CONTINUE;
}
stock sw_sebzes_msg(victim,damage,origin[3],bit) {
	message_begin(MSG_ONE,get_user_msgid("Damage"),{0,0,0},victim)
	write_byte(21)
	write_byte(20)
	write_long(bit)
	write_coord(origin[0])
	write_coord(origin[1])
	write_coord(origin[2])
	message_end()
 
	set_user_health(victim,get_user_health(victim)-damage)
}
 
#define PLUGIN "Teli Plugin"
#define VERSION "1.0"
#define AUTHOR "crazyboy"
 
public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
 
	/* CVAR */
	hocvar = register_cvar("crb_essen", "1")
	cvar = register_cvar("crb_pehely", "32")
	szelzaj = register_cvar("crb_szel", "1")
	cvar_dmg=register_cvar("sw_damage","155")
	cvar_range=register_cvar("sw_radius","350")
	cvar_speed=register_cvar("sw_speed","1500")
	/* TASK */
	set_task(0.1, "keszit", 0, _, _, "b")
	set_task(1.0, "csavokanpc")
	set_task(30.0, "papircreate",0,_,_,"b")
	set_task(1.0, "szamlalo",0,_,_,"b")
	set_task(random_float(10.0, 100.0), "szelsound", 0,_,_,"b")
	/* EVENT */
	register_event( "TeamInfo" , "fw_EvTeamInfo" , "a" );  
	register_logevent("korvege", 2, "1=Round_End")
	register_event("DeathMsg", "halal", "a")
	/* TOUCH */
	register_touch("csavoka","player","remove")
	register_touch("papirka","player","papirtorol")
	/* EGYEB */
	set_lights("g")	
	/* HAM */
	RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn")
	RegisterHam(Ham_Player_Duck, "player", "Player_Duck")
	RegisterHam(Ham_Player_Jump, "player", "Player_Jump")
	/* CMD */
	register_clcmd("say /bevalt", "papirbevalt")
	register_clcmd("say /eldob", "papireldob")
	/* FM */
	register_forward(FM_StartFrame, "fm_startFrame")
	register_forward(FM_SetModel, "fw_SetModel")
	register_forward(FM_PlayerPreThink,"FM_PreThink")
 
	EntityCreate()
 
}