[New] Furien Shop (V 2.0)

Pluginuri facute de utilizatorii forumului eXtream.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

User avatar
Challenger.
Fost moderator
Fost moderator
Posts: 2530
Joined: 07 Dec 2014, 14:32
Detinator Steam: Da
Reputatie: Fost Super Moderator
Nume anterior: whisTle
Puncte: 1.7 / 3
Fond eXtream: 0
Contact:

21 May 2015, 13:17

FurienUltimate wrote:Imi poti scoate pack-ul pentru Vip si Bazooka ?
Pe sistemul de credite al lui Askhanar:
| Afiseaza codul
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>
#include <engine>
#include <fun>

#define PLUGIN	"Furien Shop"
#define VERSION	"2.0"
#define AUTHOR "DaNNe."

#define VIP_LEVEL	ADMIN_LEVEL_H

// Pet
#define fm_precache_model(%1)           engfunc(EngFunc_PrecacheModel,%1)
#define fm_precache_sound(%1)           engfunc(EngFunc_PrecacheSound,%1)
#define fm_remove_entity(%1)            engfunc(EngFunc_RemoveEntity, %1)
//#define fm_drop_to_floor(%1)            engfunc(EngFunc_DropToFloor,%1)
#define fm_find_ent_by_class(%1,%2)     engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_set_user_gravity(%1,%2)      set_pev(%1,pev_gravity,%2)

#define PET_FLAG                        pev_flTimeStepSound
#define PET_KILLED                      389

static const pet_model[] = "models/stukabat.mdl"
static const pet_sounds[][] = { "bullchicken/bc_die1.wav", "bullchicken/bc_die2.wav", "bullchicken/bc_die3.wav", "bullchicken/bc_idle1.wav", "bullchicken/bc_pain3.wav" }
static const pet_idle = 13
static const pet_run = 13
static const pet_die = 5
static const Float:pet_idle_speed = 0.3
static const Float:pet_run_speed = 10.0
static const Float:player_gravity = 0.65

// AT4 
#define weapon_at4cs 	"weapon_m249"
#define CSW_AT4CS 		CSW_M249
#define TASK_CHECKRELOAD 111112
#define TASK_RELOAD 111113

new Float:g_lastfire[33], Float:g_lastaim[33], g_aiming[33],
g_smoke_id, g_spr_trail, g_spr_exp, is_reloading[33],
cvar_radius, cvar_maxdamage

new const AT4Model_V[] = "models/FurienShop/v_at4ex.mdl";
new const AT4Model_P[] = "models/FurienShop/p_at4ex.mdl";
new const AT4Model_W[] = "models/FurienShop/w_at4ex.mdl";
new const AT4Rocket[] = "models/FurienShop/s_rocket.mdl";

new const AT4Sound[][] = {
	"weapons/at4-1.wav",
	"weapons/at4_clipin1.wav",
	"weapons/at4_clipin2.wav",
	"weapons/at4_clipin3.wav",
	"weapons/at4_draw.wav" 
};

// Super Knifes
new SuperKnifeX2_Model[] = "models/FurienShop/v_superknife_x2.mdl";
new SuperKnifeX3_Model[] = "models/FurienShop/v_superknife_x3.mdl";
new SuperKnifeVIP_Model[] = "models/FurienShop/v_superknife_vip.mdl";

// Natives
native fcs_get_user_credits(id)
native fcs_set_user_credits(id, amount)
	
//Furien Detector
new DetectorSprite;
new PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90);
new SECONDARY_WEAPONS_BITSUM = (1<<CSW_GLOCK18)|(1<<CSW_USP)|(1<<CSW_P228)|(1<<CSW_DEAGLE)|(1<<CSW_FIVESEVEN)|(1<<CSW_ELITE);

//Bools
new bool:HaveSuperKnifeX2[33], bool:HaveSuperKnifeX3[33], bool:HaveSuperKnifeVip[33], bool:HaveDetector[33], bool:HaveNoFlash[33], bool:HaveAT4[33] 

//PET
new ItemPET[33], HavePET[33], PETAtSpawn[33]
new Float:item_leaptime[33]
new bool:g_has_speed[33]

new Prefix[] = "[FurienShop]";
new Menu;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR) 
	
	register_clcmd("say shop", "CmdShop");
	register_clcmd("say_team shop", "CmdShop");
	register_clcmd("say /shop", "CmdShop");
	register_clcmd("say_team /shop", "CmdShop");
	
	RegisterHam(Ham_Spawn, "player", "HAM_Spawn_Post");
	RegisterHam(Ham_TakeDamage, "player", "HAM_TakeDamage");
	
	register_event("CurWeapon", "EVENT_CurWeapon", "be", "1=1");
	register_event("DeathMsg", "EVENT_Death", "a");
	register_event("HLTV", "HLTV_EVENT_NewRound", "a", "1=0", "2=0");
	register_message(get_user_msgid("ScreenFade"), "MSG_ScreenFade")
	
	register_forward(FM_PlayerPreThink, "FWD_PreThink");
	register_forward(FM_Think, "FWD_Think");
	
	register_forward(FM_UpdateClientData, "AT4_UpdateClientData_POST", 1)
	register_forward(FM_CmdStart, "AT4_CMDStart")
	register_forward(FM_SetModel, "AT4_WorldModel")
	
	register_think("at4ex_rocket", "AT4_Think")
	register_touch("at4ex_rocket", "*", "AT4_Touch")
	
	RegisterHam(Ham_Weapon_Reload, weapon_at4cs, "AT4_Reload")
	RegisterHam(Ham_Item_AddToPlayer, weapon_at4cs, "AT4_AddToPlayer", 1)
	
	cvar_radius = register_cvar("zp_at4cs_radius", "300.0")
	cvar_maxdamage = register_cvar("zp_at4cs_maxdamage", "70.0")
	
	register_clcmd("weapon_at4cs", "hook_weapon")	
}

public plugin_precache() {
	precache_model(SuperKnifeX2_Model);
	precache_model(SuperKnifeX3_Model);
	precache_model(SuperKnifeVIP_Model);
	precache_model(AT4Model_V)
	precache_model(AT4Model_P)
	precache_model(AT4Model_W)
	precache_model(AT4Rocket)
	fm_precache_model(pet_model)
	
	engfunc(EngFunc_PrecacheGeneric, "sprites/FurienShop/weapon_at4cs.txt")
	engfunc(EngFunc_PrecacheGeneric, "sprites/FurienShop/at4cs.spr")	
	
	g_smoke_id = precache_model("sprites/FurienShop/rainsplash.spr")
	g_spr_trail = precache_model("sprites/FurienShop/xbeam3.spr")
	g_spr_exp = precache_model("sprites/FurienShop/zerogxplode.spr")
	DetectorSprite = precache_model("sprites/FurienShop/Detector.spr")
	
	new i;
	for(i = 0; i < sizeof pet_sounds; i++)
		fm_precache_sound(pet_sounds)
		
	for(i = 0; i < sizeof(AT4Sound); i++)
		engfunc(EngFunc_PrecacheSound, AT4Sound)
	
	
}

public plugin_natives() {
	register_native("get_user_at4", "get_user_at4", 1)
	register_native("set_user_at4", "set_user_at4", 1)
}

public HAM_Spawn_Post(id) {
	if(is_user_connected(id)) {
		HaveNoFlash[id] = false;
		HaveDetector[id] = false;
		HaveAT4[id] = false;
		HaveSuperKnifeVip[id] = false;
		set_user_at4(id, false)
		drop_primary_weapons(id)
		if(get_user_team(id) == 2) {
			HaveSuperKnifeX2[id] = false;
			HaveSuperKnifeX3[id] = false;
		}
		if(get_user_team(id) != 2) {
			kill_pet(id)
			HavePET[id] = 0		
		}
		if(HavePET[id]) {
			fm_set_user_gravity(id, player_gravity)
			fm_set_user_health(id, get_user_health(id) + 250)
			fm_set_user_armor(id, get_user_armor(id) + 350)
			g_has_speed[id] = true
		}
		else if(PETAtSpawn[id]) {
			create_pet(id)
			PETAtSpawn[id] = 0
			g_has_speed[id] = true
		}
	}
}

public HAM_TakeDamage(Victim, Inflictor, Attacker, Float:Damage) {
	if(is_user_connected(Attacker)) {
		if(get_user_weapon(Attacker) == CSW_KNIFE) {
			if(HaveSuperKnifeX2[Attacker])
				SetHamParamFloat(4, Damage * 2.0)
			if(HaveSuperKnifeX3[Attacker])
				SetHamParamFloat(4, Damage * 3.0)
			if(HaveSuperKnifeVip[Attacker])
				SetHamParamFloat(4, Damage * 3.0)
		}
	}
}

public EVENT_CurWeapon(id) {
	if(get_user_weapon(id) == CSW_KNIFE) {
		if(HaveSuperKnifeX2[id])
			set_pev(id, pev_viewmodel2, SuperKnifeX2_Model)
		if(HaveSuperKnifeX3[id])
			set_pev(id, pev_viewmodel2, SuperKnifeX3_Model)
		if(HaveSuperKnifeVip[id])
			set_pev(id, pev_viewmodel2, SuperKnifeVIP_Model)	
	}
	if(get_user_weapon(id) == CSW_AT4CS) {
		if(HaveAT4[id]) {
			set_pev(id, pev_viewmodel2, AT4Model_V)
			set_pev(id, pev_weaponmodel2, AT4Model_P)
		}
	}
}

public HLTV_EVENT_NewRound() {
	new entid = -1
	while((entid = fm_find_ent_by_class(entid, "zp_bat"))) {
		if(pev(entid,PET_FLAG) == PET_KILLED)
			fm_remove_entity(entid)             
	}
	remove_entity_name("at4ex_rocket")	
}

public EVENT_Death() {
	new Victim = read_data(2)
	HaveSuperKnifeX2[Victim] = false;
	HaveSuperKnifeX3[Victim] = false;
	
	if(HavePET[Victim]) {
		kill_pet(Victim)
		HavePET[Victim] = 0
	}
	
	if(get_user_team(Victim) == 1)
		HavePET[Victim] = 0
	if(g_has_speed[Victim])
		g_has_speed[Victim] = false
}

public MSG_ScreenFade(msgid, dest, id) {
	if(HaveNoFlash[id]) {
		static data[4]
		data[0] = get_msg_arg_int(4)
		data[1] = get_msg_arg_int(5)
		data[2] = get_msg_arg_int(6)
		data[3] = get_msg_arg_int(7)
		
		if(data[0] == 255 && data[1] == 255 && data[2] == 255 && data[3] > 199)
			return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}

public create_pet(id) {
	if(!is_user_alive(id)) {
		ColorChat(id, "!t%s!g PET-ul iti va aparea runda urmatoare !", Prefix)
		PETAtSpawn[id] = 1
		return PLUGIN_HANDLED
	}      
	else {
		ItemPET[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"))
		set_pev(ItemPET[id],pev_classname,"zp_bat")
		
		engfunc(EngFunc_SetModel,ItemPET[id],pet_model)
		
		new Float:origin[3]
		pev(id,pev_origin,origin)                      
		
		set_pev(ItemPET[id],pev_origin,origin)
		set_pev(ItemPET[id],pev_solid,SOLID_TRIGGER)
		set_pev(ItemPET[id],pev_movetype,MOVETYPE_FLY)
		set_pev(ItemPET[id],pev_owner,33)
		set_pev(ItemPET[id],pev_nextthink,1.0)
		set_pev(ItemPET[id],pev_sequence,0)
		set_pev(ItemPET[id],pev_gaitsequence,0)
		set_pev(ItemPET[id],pev_framerate,1.0)
		
		set_pev(ItemPET[id], pev_renderfx, kRenderFxGlowShell)
		set_pev(ItemPET[id], pev_rendercolor, Float:{0.0, 0.0, 200.0})
		
		fm_set_user_gravity(id,player_gravity)
		
		fm_set_user_health(id, get_user_health(id) + 250)
		fm_set_user_armor(id, get_user_armor(id) + 350)
		
		engfunc(EngFunc_EmitSound,ItemPET[id],CHAN_AUTO,pet_sounds[random_num(0,sizeof pet_sounds - 1)],1.0, 1.2, 0, PITCH_NORM)              
		
		HavePET[id] = 1
		g_has_speed[id] = true
	}
	return PLUGIN_HANDLED
}

public kill_pet(id) {
	if(pev_valid(ItemPET[id])) {
		set_pev(ItemPET[id],pev_sequence,pet_die)
		set_pev(ItemPET[id],pev_gaitsequence,pet_die)
		set_pev(ItemPET[id],pev_framerate,1.0)
		
		set_pev(ItemPET[id],PET_FLAG,PET_KILLED)
		
		fm_drop_to_floor(ItemPET[id])
		
		HavePET[id] = 0
		g_has_speed[id] = false
	}      
	ItemPET[id] = 0
}

public FWD_PreThink(id) {
	if(is_user_connected(id) && is_user_alive(id)) {
		if(get_user_team(id) == 2 && HaveDetector[id]) {
			static Target, Body, Weapon;
			
			get_user_aiming(id, Target, Body);
			Weapon = get_user_weapon(id);
			
			if((1<<Weapon) & PRIMARY_WEAPONS_BITSUM || (1<<Weapon) & SECONDARY_WEAPONS_BITSUM) {
				static Origin[3];
				get_user_origin(id, Origin, 3);
				
				message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
				write_byte(TE_BEAMENTPOINT);
				write_short(id | 0x1000);
				write_coord(Origin[0]);
				write_coord(Origin[1]);
				write_coord(Origin[2]);
				write_short(DetectorSprite); 
				write_byte(0);
				write_byte(10);
				write_byte(1);
				write_byte(5);
				write_byte(0);
				if(is_user_alive(Target) && get_user_team(Target) == 1) {
					write_byte(150);
					write_byte(0);
					write_byte(0);
				}
				else {
					write_byte(0);
					write_byte(150);
					write_byte(0);
				}
				write_byte(250);
				write_byte(25);
				message_end();
			}		
		}
		if(allowed_leap(id)) {
			static Float:velocity[3]
			velocity_by_aim(id, 500, velocity)
			velocity[2] = 300.0
			set_pev(id, pev_velocity, velocity)  
			item_leaptime[id] = get_gametime()
		}
	}
}

public FWD_Think(ent) {
	for(new i = 0; i <= get_maxplayers(); i++) {
		if(ent == ItemPET) {
			static Float:origin[3]
			static Float:origin2[3]
			static Float:velocity[3]
			pev(ent,pev_origin,origin2)
			get_offset_origin_body(i,Float:{50.0,0.0,0.0},origin)
			
			if(get_distance_f(origin,origin2) > 300.0)
				set_pev(ent,pev_origin,origin)
			
			else if(get_distance_f(origin,origin2) > 80.0) {
				get_speed_vector(origin2,origin,250.0,velocity)
				set_pev(ent,pev_velocity,velocity)
				if(pev(ent,pev_sequence) != pet_run || pev(ent,pev_framerate) != pet_run_speed) {
					set_pev(ent,pev_sequence,pet_run)
					set_pev(ent,pev_gaitsequence,pet_run)
					set_pev(ent,pev_framerate,pet_run_speed)
				}
			}
			
			else if(get_distance_f(origin,origin2) < 75.0) {
				if(pev(ent,pev_sequence) != pet_idle || pev(ent,pev_framerate) != pet_idle_speed) {
					set_pev(ent,pev_sequence,pet_idle)
					set_pev(ent,pev_gaitsequence,pet_idle)
					set_pev(ent,pev_framerate,pet_idle_speed)
				}
				set_pev(ent,pev_velocity,Float:{0.0,0.0,0.0})
			}
			pev(i,pev_origin,origin)
			origin[2] = origin2[2]
			entity_set_aim(ent,origin)                     
			set_pev(ent,pev_nextthink,1.0)
			break
		}
	}
}

public allowed_leap(id) {      
	if(!HavePET[id])
		return false
	
	if(!(pev(id, pev_flags) & FL_ONGROUND) || fm_get_speed(id) < 80)
		return false
	
	static buttons
	buttons = pev(id, pev_button)
	
	if(!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))
		return false
	
	if(get_gametime() - item_leaptime[id] < 3)
		return false
	
	return true
}

public is_a_player(ent) {
	if(ent > 0 && ent < 33)
		return true
	
	return false
}

public remove_pet(ent) {
	if(pev_valid(ent))
		fm_remove_entity(ent)
}

public CmdShop(id) {
	if(!is_user_alive(id)) {
		ColorChat(id, "!t%s!g Nu poti folosi shopul cat timp esti mort !", Prefix)
		return;
	}
	switch(get_user_team(id)) {
		case 1: FurienShop(id)
			case 2: AntiFurienShop(id)
		}
}

public FurienShop(id) {
	if(is_user_alive(id) && get_user_team(id) == 1) {
		new Title[128]
		formatex(Title, sizeof(Title)-1, "\rCredite: \y%d\r^n\rFurien Shop:", fcs_get_user_credits(id))
		Menu = menu_create(Title, "FurienHandler")
		
		if(HaveSuperKnifeX2[id])
			menu_additem(Menu, "\dSuper Knife [X2]\w - \rAi deja", "1", 0)
		else {
			if(fcs_get_user_credits(id) >= 10)
				menu_additem(Menu, "\wSuper Knife\r [X2]\w - \r10 Credite", "1", 0)
			else 
				menu_additem(Menu, "\dSuper Knife [X2]\w - \r10 Credite", "1", 0)
		}
		
		if(HaveSuperKnifeX3[id])
			menu_additem(Menu, "\dSuper Knife [X3]\w - \rAi deja", "2", 0)
		else {
			if(fcs_get_user_credits(id) >= 20)
				menu_additem(Menu, "\wSuper Knife\r [X3]\w - \r20 Credite", "2", 0)
			else 
				menu_additem(Menu, "\dSuper Knife [X3]\w - \r20 Credite", "2", 0)
		}
		
		if(get_user_health(id) >= 250) 
			menu_additem(Menu, "\dHealth [+50]\w -\r Ai viata maxima", "3", 0)
		else {
			if(fcs_get_user_credits(id) >= 15)
				menu_additem(Menu, "\wHealth \r[+50]\w - \r15 Credite", "3", 0)
			else 
				menu_additem(Menu, "\dHealth [+50]\w - \r15 Credite", "3", 0)
		}
		
		if(get_user_armor(id) >= 250) 
			menu_additem(Menu, "\dArmor [+50]\w -\r Ai armura maxima", "4", 0)
		else {
			if(fcs_get_user_credits(id) >= 10)
				menu_additem(Menu, "\wArmor \r[+50]\w - \r10 Credite", "4", 0)
			else 
				menu_additem(Menu, "\dArmor [+50]\w - \r10 Credite", "4", 0)
		}			
		
		if(HaveNoFlash[id])
			menu_additem(Menu, "\dNo Flash\w - \rAi deja", "5", 0)
		else {
			if(fcs_get_user_credits(id) >= 5)
				menu_additem(Menu, "\wNo Flash - \r5 Credite", "5", 0)
			else 
				menu_additem(Menu, "\dNo Flash\w - \r5 Credite", "5", 0)
		}
		
		if(user_has_weapon(id, CSW_HEGRENADE))
			menu_additem(Menu, "\dHe grenade\w - \rAi deja", "6", 0)
		else {
			if(fcs_get_user_credits(id) >= 25)
				menu_additem(Menu, "\wHe grenade - \r25 Credite", "6", 0)
			else 
				menu_additem(Menu, "\dHe grenade\w - \r25 Credite", "6", 0)
		}
		
		if(user_has_weapon(id, CSW_SMOKEGRENADE))
			menu_additem(Menu, "\dFrost nade\w - \rAi deja", "7", 0)
		else {
			if(fcs_get_user_credits(id) >= 30)
				menu_additem(Menu, "\wFrost nade - \r30 Credite", "7", 0)
			else 
				menu_additem(Menu, "\dFrost nade\w - \r30 Credite", "7", 0)
		}
		
		if(get_user_flags(id) & VIP_LEVEL) {
			if(HaveSuperKnifeVip[id])
				menu_additem(Menu, "\dVip Pack\w - \rAi deja", "8", 0)
			else {
				if(fcs_get_user_credits(id) >= 100)
					menu_additem(Menu, "\wVip Pack - \r100 Credite", "8", 0)
				else 
					menu_additem(Menu, "\dVip Pack\w - \r100 Credite", "8", 0)	
			}
		}
		else 
			menu_additem(Menu, "\dVip Pack\w - \rDoar VIP", "8", 0)
		
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}

public FurienHandler(id, menu, item) {
	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 1) {
		menu_destroy(menu);
		
		return PLUGIN_HANDLED;
	}
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key) {
		case 1: {
			if(HaveSuperKnifeX2[id]) {
				ColorChat(id, "!t%s!g Ai deja!t SuperKnife [X2]!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 10 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t SuperKnife [X2]!g !", Prefix);
					return 1;
				}
				else {
					HaveSuperKnifeX2[id] = true;
					HaveSuperKnifeX3[id] = false;
					HaveSuperKnifeVip[id] = false;
					EVENT_CurWeapon(id);
					fcs_set_user_credits(id, Credits);
					ColorChat(id, "!t%s!g Ai cumparat!t SuperKnife [X2]!g !", Prefix);
				}
			}
		}
		case 2: {
			if(HaveSuperKnifeX3[id]) {
				ColorChat(id, "!t%s!g Ai deja!t SuperKnife [X3]!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 20 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t SuperKnife [X3]!g !", Prefix);
					return 1;
				}
				else {
					HaveSuperKnifeX3[id] = true;
					EVENT_CurWeapon(id);
					fcs_set_user_credits(id, Credits);
					ColorChat(id, "!t%s!g Ai cumparat!t SuperKnife [X3]!g !", Prefix);
				}
			}
		}
		case 3: {
			if(get_user_health(id) >= 250) {
				ColorChat(id, "!t%s!g Ai deja!t 250 health!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 15 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t +50 Health!g !", Prefix);
					return 1;
				}
				else {
					if(get_user_health(id) + 50 > 250)
						fm_set_user_health(id, 250)
					else {
						fm_set_user_health(id, get_user_health(id) + 50) 
						fcs_set_user_credits(id, Credits)
						ColorChat(id, "!t%s!g Ai cumparat!t +50 Health!g !", Prefix)
					}
				}
			}
		}
		case 4: {
			if(get_user_armor(id) >= 250) {
				ColorChat(id, "!t%s!g Ai deja!t 250 armor!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 10
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t +50 Armor!g !", Prefix);
					return 1;
				}
				else {
					if(get_user_armor(id) + 50 > 250)
						fm_set_user_armor(id, 250);
					else {
						fm_set_user_armor(id, get_user_armor(id) + 50) ;
						fcs_set_user_credits(id, Credits);
						ColorChat(id, "!t%s!g Ai cumparat!t +50 Armor!g !", Prefix);
					}
				}
			}
		}
		case 5: {
			if(HaveNoFlash[id]) {
				ColorChat(id, "!t%s!g Ai deja!t No Flash!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 5 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t No Flash!g !", Prefix);
					return 1;
				}
				else {
					HaveNoFlash[id] = true;
					fcs_set_user_credits(id, Credits);
					ColorChat(id, "!t%s!g Ai cumparat!t No Flash!g !", Prefix);
				}
			}
		}
		case 6: {
			if(user_has_weapon(id, CSW_HEGRENADE)) {
				ColorChat(id, "!t%s!g Ai deja!t HE Grenade!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 25 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t HE Grenade!g !", Prefix);
					return 1;
				}
				else {
					fm_give_item(id, "weapon_hegrenade");
					fcs_set_user_credits(id, Credits);
					ColorChat(id, "!t%s!g Ai cumparat!t HE Grenade!g !", Prefix);
				}
			}
		}
		case 7: {
			if(user_has_weapon(id, CSW_SMOKEGRENADE)) {
				ColorChat(id, "!t%s!g Ai deja!t Frost Nade!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 30 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t Frost Nade!g !", Prefix);
					return 1;
				}
				else {
					fm_give_item(id, "weapon_smokegrenade");
					fcs_set_user_credits(id, Credits);
					ColorChat(id, "!t%s!g Ai cumparat!t Frost Nade!g !", Prefix);
				}
			}
		}
		case 8: {
			if(get_user_flags(id) & VIP_LEVEL) {
				if(HaveSuperKnifeVip[id]) {
					ColorChat(id, "!t%s!g Ai deja!t VIP Pack!g !", Prefix);
					return 1;
				}
				else {
					new Credits = fcs_get_user_credits(id) - 100
					if(Credits < 0) {
						ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t VIP Pac!g !", Prefix);
						return 1;
					}	
					else {
						HaveSuperKnifeVip[id] = true;
						HaveSuperKnifeX2[id] = false;
						HaveSuperKnifeX3[id] = false;
						EVENT_CurWeapon(id);
						fm_set_user_armor(id, 300);
						fm_set_user_health(id, 300);
						fcs_set_user_credits(id, Credits)
					}
				}
			}
			else {
				ColorChat(id, "!t%s!g Acest item poate fi cumparat doar de catre!t membrii VIP!g !", Prefix);
				return 1;
			}
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public AntiFurienShop(id) {
	if(is_user_alive(id) && get_user_team(id) == 2) {
		new Title[128]
		formatex(Title, sizeof(Title)-1, "\rCredite: \y%d\r^n\rAnti-Furien Shop:", fcs_get_user_credits(id))
		Menu = menu_create(Title, "AntiFurienHandler")
		
		if(HaveDetector[id])
			menu_additem(Menu, "\dFurien Detector\w - \rAi deja", "1", 0)
		else {
			if(fcs_get_user_credits(id) >= 50) 
				menu_additem(Menu, "\wFurien Detector - \r50 Credite", "1", 0)
			else 
				menu_additem(Menu, "\dFurien Detector\w - \r50 Credite", "1", 0)
		}
		
		if(cs_get_user_defuse(id))
			menu_additem(Menu, "\dDefuse Kit\w - \rAi deja", "2", 0)
		else {
			if(fcs_get_user_credits(id) >= 2)
				menu_additem(Menu, "\wDefuse Kit - \r2 Credite", "2", 0)
			else 
				menu_additem(Menu, "\dDefuse Kit\w - \r2 Credite", "2", 0 )
		}
		
		if(get_user_health(id) >= 250) 
			menu_additem(Menu, "\dHealth [+50]\w -\r Ai viata maxima", "3", 0)
		else {
			if(fcs_get_user_credits(id) >= 15)
				menu_additem(Menu, "\wHealth \r[+50]\w - \r15 Credite", "3", 0)
			else 
				menu_additem(Menu, "\dHealth [+50]\w - \r15 Credite", "3", 0)
		}
		
		if(get_user_armor(id) >= 250) 
			menu_additem(Menu, "\dArmor [+50]\w -\r Ai armura maxima", "4", 0)
		else {
			if(fcs_get_user_credits(id) >= 10)
				menu_additem(Menu, "\wArmor \r[+50]\w - \r10 Credite", "4", 0)
			else 
				menu_additem(Menu, "\dArmor [+50]\w - \r10 Credite", "4", 0)
		}			
		
		if(HaveNoFlash[id])
			menu_additem(Menu, "\dNo Flash\w - \rAi deja", "5", 0)
		else {
			if(fcs_get_user_credits(id) >= 5)
				menu_additem(Menu, "\wNo Flash - \r5 Credite", "5", 0)
			else 
				menu_additem(Menu, "\dNo Flash\w - \r5 Credite", "5", 0)
		}		
		
		if(user_has_weapon(id, CSW_SMOKEGRENADE))
			menu_additem(Menu, "\dFrost nade\w - \rAi deja", "6", 0)
		else {
			if(fcs_get_user_credits(id) >= 30)
				menu_additem(Menu, "\wFrost nade - \r30 Credite", "6", 0)
			else 
				menu_additem(Menu, "\dFrost nade\w - \r30 Credite", "6", 0)
		}
		
		if(HavePET[id])
			menu_additem(Menu, "\dPET\w - \rAi deja", "7", 0)
		else {
			if(fcs_get_user_credits(id) >= 30) 
				menu_additem(Menu, "\wPET - \r30 Credite", "7", 0)
			else 
				menu_additem(Menu, "\dPET\w - \r30 Credite", "7", 0)
		}
		
		if(get_user_flags(id) & VIP_LEVEL) {
			if(HaveAT4[id])
				menu_additem(Menu, "\dBazooka\w - \rAi deja", "8", 0)
			else {
				if(fcs_get_user_credits(id) >= 100)
					menu_additem(Menu, "\wBazooka - \r100 Credite", "8", 0)
				else 
					menu_additem(Menu, "\dBazooka\w - \r100 Credite", "8", 0)	
			}
		}
		else 
			menu_additem(Menu, "\dBazooka\w - \rDoar VIP", "8", 0)		
		
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
		menu_display(id, Menu, 0);
	}
}

public AntiFurienHandler(id, menu, item) {
	if(item == MENU_EXIT || !is_user_alive(id) || get_user_team(id) != 2) {
		menu_destroy(menu);
		
		return PLUGIN_HANDLED;
	}
	new Data[6], Name[64];
	new Access, CallBack;
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, CallBack);
	new Key = str_to_num(Data);
	switch(Key) {
		case 1: {
			if(HaveDetector[id]) {
				ColorChat(id, "!t%s!g Ai deja!t Furien Detector!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 50
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente !tcredite!g pentru cumpara!t Furien Detector!g !", Prefix);
					return 1;
				}
				else {
					HaveDetector[id] = true;
					fcs_set_user_credits(id, Credits)
					ColorChat(id, "!t%s!g Ai cumparat!t Furien Detector!g !", Prefix);
				}
			}
		}
		case 2: {
			if(cs_get_user_defuse(id)) {
				ColorChat(id, "!t%s!g Ai deja!t Defuse KIT!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 2 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t Defuse KIT!g !", Prefix);
					return 1;
				}
				else {
					cs_set_user_defuse(id, 1)
					fcs_set_user_credits(id, Credits)
					ColorChat(id, "!t%s!g Ai cumparat!t Defuse KIT!g !", Prefix);
				}
			}
		}
		case 3: {
			if(get_user_health(id) >= 250) {
				ColorChat(id, "!t%s!g Ai deja!t 250 health!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 15 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t +50 Health!g !", Prefix);
					return 1;
				}
				else {
					if(get_user_health(id) + 50 > 250)
						fm_set_user_health(id, 250)
					else {
						fm_set_user_health(id, get_user_health(id) + 50) 
						fcs_set_user_credits(id, Credits)
						ColorChat(id, "!t%s!g Ai cumparat!t +50 Health!g !", Prefix)
					}
				}
			}
		}
		case 4: {
			if(get_user_armor(id) >= 250) {
				ColorChat(id, "!t%s!g Ai deja!t 250 armor!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 10
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t +50 Armor!g !", Prefix);
					return 1;
				}
				else {
					if(get_user_armor(id) + 50 > 250)
						fm_set_user_armor(id, 250);
					else {
						fm_set_user_armor(id, get_user_armor(id) + 50) ;
						fcs_set_user_credits(id, Credits);
						ColorChat(id, "!t%s!g Ai cumparat!t +50 Armor!g !", Prefix);
					}
				}
			} 
		}
		case 5: {
			if(HaveNoFlash[id]) {
				ColorChat(id, "!t%s!g Ai deja!t No Flash!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 5 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t No Flash!g !", Prefix);
					return 1;
				}
				else {
					HaveNoFlash[id] = true;
					fcs_set_user_credits(id, Credits);
					ColorChat(id, "!t%s!g Ai cumparat!t No Flash!g !", Prefix);
				}
			}
		}	
		case 6: {
			if(user_has_weapon(id, CSW_SMOKEGRENADE)) {
				ColorChat(id, "!t%s!g Ai deja!t Frost Nade!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 30 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t Frost Nade!g !", Prefix);
					return 1;
				}
				else {
					fm_give_item(id, "weapon_smokegrenade");
					fcs_set_user_credits(id, Credits);
					ColorChat(id, "!t%s!g Ai cumparat!t Frost Nade!g !", Prefix);
				}
			}
		}
		case 7: {
			if(HavePET[id]) {
				ColorChat(id, "!t%s!g Ai deja un!t PET!g !", Prefix);
				return 1;
			}
			else {
				new Credits = fcs_get_user_credits(id) - 30 
				if(Credits < 0) {
					ColorChat(id, "!t%s!g Nu ai suficiente!t credite!g pentru a cumpara!t PET", Prefix);
					return 1;
				}
				else {
					create_pet(id)
					fcs_set_user_credits(id, Credits);
					ColorChat(id, "!t%s!g Ai cumparat!t PET!g !", Prefix);
				}
			}
		}
		case 8: {
			if(get_user_flags(id) & VIP_LEVEL) {
				if(HaveAT4[id]) {
					ColorChat(id, "!t%s!g Ai deja!t Bazooka!g !", Prefix);
					return 1;
				}
				else {
					new Credits = fcs_get_user_credits(id) - 100
					if(Credits < 0) {
						ColorChat(id, "!t%s!g Ai deja!t Bazooka!g !", Prefix)
						return 1;
					}
					else {
						set_user_at4(id, true)
						fcs_set_user_credits(id, Credits);
						ColorChat(id, "!t%s!g Ai cumparat!t Bazooka!g !", Prefix);
					}
				}
			}
			else {
				ColorChat(id, "!t%s!g Acest item poate fi cumparat doar de catre!t membrii VIP!g !", Prefix);
				return 1;
			}
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public AT4_UpdateClientData_POST(id, sendweapons, cd_handle) {
	if(is_user_connected(id) && is_user_alive(id)) {
		if(get_user_weapon(id) == CSW_AT4CS && HaveAT4[id])
			set_cd(cd_handle, CD_flNextAttack, halflife_time() + 0.001)  
	}
}

public AT4_AddToPlayer(ent, id) {
	if(!is_valid_ent(ent) || !is_user_alive(id))
		return HAM_IGNORED
		
	if(entity_get_int(ent, EV_INT_impulse) == 61296) {
		HaveAT4[id] = true
		entity_set_int(id, EV_INT_impulse, 0)
		
		return HAM_HANDLED
	}		

	if(HaveAT4[id]) {
		message_begin(MSG_ONE, get_user_msgid("WeaponList"), _, id)
		write_string("weapon_at4cs");    // WeaponName
		write_byte(3)                  // PrimaryAmmoID
		write_byte(1)                  // PrimaryAmmoMaxAmount
		write_byte(-1)                   // SecondaryAmmoID
		write_byte(-1)                   // SecondaryAmmoMaxAmount
		write_byte(0)                    // SlotID (0...N)
		write_byte(4)                    // NumberInSlot (1...N)
		write_byte(CSW_AT4CS)            // WeaponID
		write_byte(0)                   // Flags
		message_end()
	}
	return HAM_HANDLED	
}

public AT4_CMDStart(id, uc_handle, seed) {
	if(is_user_connected(id) && is_user_alive(id)) {
		if(get_user_weapon(id) == CSW_AT4CS && HaveAT4[id]) {
			static CurButton
			CurButton = get_uc(uc_handle, UC_Buttons)
			if(CurButton & IN_ATTACK) {
				static Float:CurTime
				CurTime = get_gametime()
		
				static at4cs
				at4cs = fm_find_ent_by_owner(-1, weapon_at4cs, id)		
		
				if(cs_get_weapon_ammo(at4cs) > 0 && !is_reloading[id]) {
					if(CurTime - 4.5 > g_lastfire[id]) {
						set_weapon_anim(id, 1)
						emit_sound(id, CHAN_WEAPON, AT4Sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM)
				
						create_rocket(id)
				
						static Float:Punch_Angles[3]
				
						Punch_Angles[0] = -20.0
						Punch_Angles[1] = 0.0
						Punch_Angles[2] = 0.0
				
						set_pev(id, pev_punchangle, Punch_Angles)
						cs_set_weapon_ammo(at4cs, cs_get_weapon_ammo(at4cs) - 1)
				
						if(cs_get_weapon_ammo(at4cs) <= 0 && !is_reloading[id]) {
							if(cs_get_user_bpammo(id, CSW_AT4CS) > 0) {
								set_task(1.0, "at4cs_reload", id)
							}
						}
						if(cs_get_user_zoom(id))
							cs_set_user_zoom(id, CS_RESET_ZOOM, 1)
				
						g_lastfire[id] = CurTime
					}
				}
				else {
					if(!is_reloading[id]) {
						if(cs_get_user_bpammo(id, CSW_AT4CS) > 0) {
							if(CurTime - 1.0 > g_lastfire[id]) {
								at4cs_reload(id)
								g_lastfire[id] = CurTime
							}
						}
					}
				}
			}
			if(CurButton & IN_ATTACK2) {
				static Float:CurTime
				CurTime = get_gametime()
		
				if((CurTime - 0.5 > g_lastaim[id]) && !is_reloading[id]) {
					if(!g_aiming[id]) {
						cs_set_user_zoom(id, CS_SET_FIRST_ZOOM, 1)
						g_aiming[id] = 1
					}
					else {
						cs_set_user_zoom(id, CS_RESET_ZOOM, 1)
						g_aiming[id] = 0
					}
					g_lastaim[id] = CurTime
				}
			}
	
			CurButton &= ~IN_ATTACK
			set_uc(uc_handle, UC_Buttons, CurButton)
	
			CurButton &= ~IN_RELOAD
			set_uc(uc_handle, UC_Buttons, CurButton)
		} 
	}

	return FMRES_HANDLED
}

public AT4_WorldModel(ent, const model[]) {
	if(!is_valid_ent(ent))
		return FMRES_IGNORED
	
	static szClassName[33]
	entity_get_string(ent, EV_SZ_classname, szClassName, charsmax(szClassName))
	
	if(!equal(szClassName, "weaponbox"))
		return FMRES_IGNORED
	
	static iOwner
	iOwner = entity_get_edict(ent, EV_ENT_owner)
	
	if(equal(model, "models/w_m249.mdl")) {
		static at4cs
		at4cs = find_ent_by_owner(-1, "weapon_m249", ent)
		
		if(!is_valid_ent(at4cs))
			return FMRES_IGNORED;
		
		if(HaveAT4[iOwner]) {
			entity_set_int(at4cs, EV_INT_impulse, 61296)
			HaveAT4[iOwner] = false;
			entity_set_model(ent, AT4Model_W)
			
			return FMRES_SUPERCEDE
		}
	}
	return FMRES_IGNORED
}

public at4cs_reload(id) {
	if(is_reloading[id])
		return
	
	is_reloading[id] = 1
	set_weapon_anim(id, 3)
	
	set_task(0.1, "checking_reload", id+TASK_CHECKRELOAD, _, _, "b")
	set_task(4.0, "reload_complete", id+TASK_RELOAD)
}

public checking_reload(id) {
	id -= TASK_CHECKRELOAD
	
	if(cs_get_user_zoom(id))
		cs_set_user_zoom(id, CS_RESET_ZOOM, 1)	
	
	if(get_user_weapon(id) != CSW_AT4CS || !HaveAT4[id]) {
		remove_task(id+TASK_CHECKRELOAD)
		remove_task(id+TASK_RELOAD)
		
		is_reloading[id] = 0
	}
}

public reload_complete(id) {
	id -= TASK_RELOAD
	
	if(!is_reloading[id])
		return
		
	remove_task(id+TASK_CHECKRELOAD)	
		
	static at4cs
	at4cs = fm_find_ent_by_owner(-1, weapon_at4cs, id)	
	
	cs_set_weapon_ammo(at4cs, 1)
	cs_set_user_bpammo(id, CSW_AT4CS, cs_get_user_bpammo(id, CSW_AT4CS) - 1)
	is_reloading[id] = 0
}

public AT4_Reload(ent) {
	static id
	id = pev(ent, pev_owner)
	
	if(is_user_connected(id) && is_user_alive(id)) {
		if(get_user_weapon(id) == CSW_AT4CS && HaveAT4[id]) {
		
			static Float:CurTime
			CurTime = get_gametime()		
		
			if(!is_reloading[id]) {
				if(cs_get_user_bpammo(id, CSW_AT4CS) > 0) {
					if(CurTime - 1.0 > g_lastfire[id]) {
						at4cs_reload(id)
						g_lastfire[id] = CurTime
					}
				}
			}
		}
	}
	return HAM_SUPERCEDE
}

public AT4_Think(ent) {
	if(!pev_valid(ent))
		return

	static Float:Origin[3]
	pev(ent, pev_origin, Origin)
		
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(TE_SPRITE)
	engfunc(EngFunc_WriteCoord, Origin[0])
	engfunc(EngFunc_WriteCoord, Origin[1])
	engfunc(EngFunc_WriteCoord, Origin[2])
	write_short(g_smoke_id) 
	write_byte(2) 
	write_byte(200)
	message_end()
	
	if(pev(ent, pev_iuser4) == 0) {
		static Victim
		Victim = FindClosesEnemy(ent)
		
		if(is_user_alive(Victim)) {
			set_pev(ent, pev_iuser4, Victim)
		}
	} 
	else {
		static Victim
		Victim = pev(ent, pev_iuser4)
		
		if(is_user_alive(Victim)) {
			static Float:VicOrigin[3]
			pev(Victim, pev_origin, VicOrigin)
			
			turn_to_target(ent, Origin, Victim, VicOrigin)
			hook_ent(ent, Victim, 500.0)
		} 
		else {
			set_pev(ent, pev_iuser4, 0)
		}
	}	
	set_pev(ent, pev_nextthink, halflife_time() + 0.075)
}

public AT4_Touch(rocket, touch) {
	if(!pev_valid(rocket))
		return	
		
	if(is_user_alive(touch) && pev(rocket, pev_owner) == touch)
		return
		
	static Float:Origin[3]
	pev(rocket, pev_origin, Origin)		
		
	message_begin(MSG_BROADCAST ,SVC_TEMPENTITY)
	write_byte(TE_EXPLOSION)
	engfunc(EngFunc_WriteCoord, Origin[0])
	engfunc(EngFunc_WriteCoord, Origin[1])
	engfunc(EngFunc_WriteCoord, Origin[2])
	write_short(g_spr_exp)	// sprite index
	write_byte(20)	// scale in 0.1's
	write_byte(30)	// framerate
	write_byte(0)	// flags
	message_end()
	
	static owner, iVictim
	
	iVictim = -1
	owner = pev(rocket, pev_owner)	

	while((iVictim = find_ent_in_sphere(iVictim, Origin, get_pcvar_float(cvar_radius))) != 0) {
		if((0 < iVictim < 32) && is_user_alive(iVictim) && iVictim != owner) {
			new Float:MaxDamage, Float:Damage
			
			MaxDamage = get_pcvar_float(cvar_maxdamage)
			Damage = random_float(MaxDamage - random_float(0.0, 100.0), MaxDamage + random_float(0.0, 100.0))
			
			ExecuteHam(Ham_TakeDamage, iVictim, 0, owner, 0, DMG_BULLET)
			
			static health
			health = get_user_health(iVictim)
				
			if(health - Damage >= 1) {
				fm_set_user_health(iVictim, health - floatround(Damage))
			}
			else {
				death_message(owner, iVictim, 1)
			}			
		}
	}	
	engfunc(EngFunc_RemoveEntity, rocket)
}

public create_rocket(id) {
	new ent, Float:Origin[3], Float:Angles[3], Float:Velocity[3]
	
	ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
	engfunc(EngFunc_GetAttachment, id, 0, Origin, Angles)
	pev(id, pev_angles, Angles)
	
	set_pev(ent, pev_origin, Origin)
	set_pev(ent, pev_angles, Angles)
	set_pev(ent, pev_solid, 2)
	set_pev(ent, pev_movetype, 5)
	set_pev(ent, pev_classname, "at4ex_rocket")
	set_pev(ent, pev_owner, id)
	engfunc(EngFunc_SetModel, ent, AT4Rocket)
	
	set_pev(ent, pev_mins, {-1.0, -1.0, -1.0})
	set_pev(ent, pev_maxs, {1.0, 1.0, 1.0})
	
	velocity_by_aim(id, 1750, Velocity)
	set_pev(ent, pev_velocity, Velocity)
	
	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
	write_byte(TE_BEAMFOLLOW) 		// TE id
	write_short(ent) 				// entity:attachment to follow
	write_short(g_spr_trail) 		// sprite index
	write_byte(25) 					// life in 0.1's
	write_byte(2) 					// line width in 0.1's
	write_byte(255)					// r
	write_byte(255)					// g
	write_byte(255) 				// b
	write_byte(200)					// brightness
	message_end()	
	
	set_pev(ent, pev_iuser4, 0)
	set_pev(ent, pev_nextthink, halflife_time() + 0.1)
}

public hook_weapon(id) {
	engclient_cmd(id, weapon_at4cs)
}

public get_user_at4(id) {
	return HaveAT4[id];
}

public set_user_at4(id, at4) {
	if(at4) {
		if(!HaveAT4[id]) {
			drop_primary_weapons(id);
			HaveAT4[id] = true;
			is_reloading[id] = 0
			g_aiming[id] = 0
			fm_give_item(id, weapon_at4cs);
			new Clip = fm_get_user_weapon_entity(id, CSW_AT4CS);
			cs_set_weapon_ammo(Clip, 1);
			cs_set_user_bpammo(id, CSW_AT4CS, 50)
		}
	}
	else {
		if(HaveAT4[id]) {
			HaveAT4[id] = false;
		}
	}
}

//-------------------------------------------------------------------------//
//=============================| Stocks |=================================//
//-----------------------------------------------------------------------//
stock get_offset_origin_body(ent,const Float:offset[3],Float:origin[3]) {
	if(!pev_valid(ent))
		return 0;
	
	new Float:angle[3]
	pev(ent,pev_angles,angle)
	
	pev(ent,pev_origin,origin)
	
	origin[0] += floatcos(angle[1],degrees) * offset[0]
	origin[1] += floatsin(angle[1],degrees) * offset[0]
	
	origin[1] += floatcos(angle[1],degrees) * offset[1]
	origin[0] += floatsin(angle[1],degrees) * offset[1]
	
	return 1;
}

stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3]) {
	new_velocity[0] = origin2[0] - origin1[0]
	new_velocity[1] = origin2[1] - origin1[1]
	new_velocity[2] = origin2[2] - origin1[2]
	new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
	new_velocity[0] *= num
	new_velocity[1] *= num
	new_velocity[2] *= num
	
	return 1;
}

stock entity_set_aim(ent,const Float:origin2[3],bone=0) {
	if(!pev_valid(ent))
		return 0;
	
	static Float:origin[3]
	origin[0] = origin2[0]
	origin[1] = origin2[1]
	origin[2] = origin2[2]
	
	static Float:ent_origin[3], Float:angles[3]
	
	if(bone)
		engfunc(EngFunc_GetBonePosition,ent,bone,ent_origin,angles)
	else
		pev(ent,pev_origin,ent_origin)
	
	origin[0] -= ent_origin[0]
	origin[1] -= ent_origin[1]
	origin[2] -= ent_origin[2]
	
	static Float:v_length
	v_length = vector_length(origin)
	
	static Float:aim_vector[3]
	aim_vector[0] = origin[0] / v_length
	aim_vector[1] = origin[1] / v_length
	aim_vector[2] = origin[2] / v_length
	
	static Float:new_angles[3]
	vector_to_angle(aim_vector,new_angles)
	
	new_angles[0] *= -1
	
	if(new_angles[1]>180.0) new_angles[1] -= 360
	if(new_angles[1]<-180.0) new_angles[1] += 360
	if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999
	
	set_pev(ent,pev_angles,new_angles)
	set_pev(ent,pev_fixangle,1)
	
	return 1;
}


stock set_weapon_anim(id, anim) {
	set_pev(id, pev_weaponanim, anim)

	message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, _, id)
	write_byte(anim)
	write_byte(pev(id,pev_body))
	message_end()
}

stock death_message(Killer, Victim, ScoreBoard) {
	set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
	ExecuteHamB(Ham_Killed, Victim, Killer, 2)
	set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT)
	
	make_deathmsg(Killer, Victim, 0, "")

	if (ScoreBoard) {
		message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"))
		write_byte(Killer) 						// id
		write_short(pev(Killer, pev_frags)) 	// frags
		write_short(cs_get_user_deaths(Killer)) // deaths
		write_short(0) 							// class?
		write_short(get_user_team(Killer)) 		// team
		message_end()
		
		message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo"))
		write_byte(Victim) 							// id
		write_short(pev(Victim, pev_frags)) 		// frags
		write_short(cs_get_user_deaths(Victim)) 	// deaths
		write_short(0) 								// class?
		write_short(get_user_team(Victim)) 			// team
		message_end()
	}
}

stock FindClosesEnemy(entid) {
	new Float:Dist
	new Float:maxdistance = 300.0
	new indexid = 0	
	
	for(new i = 1; i <= get_maxplayers(); i++){
		if(is_user_alive(i) && is_valid_ent(i) && can_see_fm(entid, i)
		&& pev(entid, pev_owner) != i && cs_get_user_team(pev(entid, pev_owner)) != cs_get_user_team(i)) {
			Dist = entity_range(entid, i)
			if(Dist <= maxdistance) {
				maxdistance = Dist
				indexid = i
				
				return indexid
			}
		}	
	}	
	return 0
}

stock bool:can_see_fm(entindex1, entindex2) {
	if (!entindex1 || !entindex2)
		return false

	if (pev_valid(entindex1) && pev_valid(entindex1)) {
		new flags = pev(entindex1, pev_flags)
		if (flags & EF_NODRAW || flags & FL_NOTARGET) 
			return false

		new Float:lookerOrig[3]
		new Float:targetBaseOrig[3]
		new Float:targetOrig[3]
		new Float:temp[3]

		pev(entindex1, pev_origin, lookerOrig)
		pev(entindex1, pev_view_ofs, temp)
		lookerOrig[0] += temp[0]
		lookerOrig[1] += temp[1]
		lookerOrig[2] += temp[2]

		pev(entindex2, pev_origin, targetBaseOrig)
		pev(entindex2, pev_view_ofs, temp)
		targetOrig[0] = targetBaseOrig [0] + temp[0]
		targetOrig[1] = targetBaseOrig [1] + temp[1]
		targetOrig[2] = targetBaseOrig [2] + temp[2]

		engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the had of seen player
		if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater)) {
			return false
		} 
		else  {
			new Float:flFraction
			get_tr2(0, TraceResult:TR_flFraction, flFraction)
			if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) {
				return true
			}
			else {
				targetOrig[0] = targetBaseOrig [0]
				targetOrig[1] = targetBaseOrig [1]
				targetOrig[2] = targetBaseOrig [2]
				engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the body of seen player
				get_tr2(0, TraceResult:TR_flFraction, flFraction)
				if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) {
					return true
				}
				else {
					targetOrig[0] = targetBaseOrig [0]
					targetOrig[1] = targetBaseOrig [1]
					targetOrig[2] = targetBaseOrig [2] - 17.0
					engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) //  checks the legs of seen player
					get_tr2(0, TraceResult:TR_flFraction, flFraction)
					if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) {
						return true
					}
				}
			}
		}
	}
	return false
}

stock turn_to_target(ent, Float:Ent_Origin[3], target, Float:Vic_Origin[3])  {
	if(target)  {
		new Float:newAngle[3]
		entity_get_vector(ent, EV_VEC_angles, newAngle)
		new Float:x = Vic_Origin[0] - Ent_Origin[0]
		new Float:z = Vic_Origin[1] - Ent_Origin[1]

		new Float:radians = floatatan(z/x, radian)
		newAngle[1] = radians * (180 / 3.14)
		if (Vic_Origin[0] < Ent_Origin[0])
			newAngle[1] -= 180.0
        
		entity_set_vector(ent, EV_VEC_angles, newAngle)
	}
}

stock hook_ent(ent, victim, Float:speed) {
	static Float:fl_Velocity[3]
	static Float:VicOrigin[3], Float:EntOrigin[3]

	pev(ent, pev_origin, EntOrigin)
	pev(victim, pev_origin, VicOrigin)
	
	static Float:distance_f
	distance_f = get_distance_f(EntOrigin, VicOrigin)

	if (distance_f > 10.0) {
		new Float:fl_Time = distance_f / speed

		fl_Velocity[0] = (VicOrigin[0] - EntOrigin[0]) / fl_Time
		fl_Velocity[1] = (VicOrigin[1] - EntOrigin[1]) / fl_Time
		fl_Velocity[2] = (VicOrigin[2] - EntOrigin[2]) / fl_Time
	} 
	else {
		fl_Velocity[0] = 0.0
		fl_Velocity[1] = 0.0
		fl_Velocity[2] = 0.0
	}

	entity_set_vector(ent, EV_VEC_velocity, fl_Velocity)
}

stock drop_primary_weapons(Player) {
	static weapons[32], num, i, weaponid;
	num = 0;
	get_user_weapons(Player, weapons, num);
	
	for(i = 0; i < num; i++) {
		weaponid = weapons ;
		
		if(((1<<weaponid) & PRIMARY_WEAPONS_BITSUM)) {
			static wname[32];
			get_weaponname(weaponid, wname, charsmax(wname));
			
			engclient_cmd(Player, "drop", wname);
		}
	}
}

stock ColorChat(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");
	
	if(id) players[0] = id;
	else get_players(players, count, "ch"); {
		for(new i = 0; i < count; i++) {
			if(is_user_connected(players)) {
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	} 
}

UP ! --
NU sunt intermediar.

Dacă ai nevoie de ajutor pe forum dă-mi un PM şi rezolvăm.

REGULAMENT FORUM

RECLAMAȚII MODERATORI

RECLAMAȚII PM
Activitate scăzută
User avatar
Challenger.
Fost moderator
Fost moderator
Posts: 2530
Joined: 07 Dec 2014, 14:32
Detinator Steam: Da
Reputatie: Fost Super Moderator
Nume anterior: whisTle
Puncte: 1.7 / 3
Fond eXtream: 0
Contact:

24 May 2015, 15:13

EDIT: Nu mai e nevoie.
User avatar
Challenger.
Fost moderator
Fost moderator
Posts: 2530
Joined: 07 Dec 2014, 14:32
Detinator Steam: Da
Reputatie: Fost Super Moderator
Nume anterior: whisTle
Puncte: 1.7 / 3
Fond eXtream: 0
Contact:

15 Jul 2015, 16:28

Imi poate da cineva sursa de la Furien Detector ?
User avatar
DaNNe.
Fost moderator
Fost moderator
Posts: 2811
Joined: 08 Nov 2013, 20:43
Detinator Steam: Da
CS Status: Activitate scăzută
SteamID: /id/FurienMaster
Reputatie: Nick anterior: DnD. Gold, Emrys
0.5/3
Fost moderator ajutator
Fost Membru Club eXtreamCS (doua luni)
Has thanked: 244 times
Been thanked: 129 times
Contact:

19 Jul 2015, 20:15

FurienUltimate wrote:Imi poate da cineva sursa de la Furien Detector ?
Daca nu reusesti sa o extragi pana maine, o caut in eu in PC.
Daca nu o gasesc o extrag din shop.

EDIT: Nu am gasit-o, am extras-o din SHOP.
SMA | Afiseaza codul
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Furien Detector"
#define VERSION "1.0"
#define AUTHOR "Habar n-am"

#define COST 	10000

new 
	DetectorSprite,
		PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90),
			SECONDARY_WEAPONS_BITSUM = (1<<CSW_GLOCK18)|(1<<CSW_USP)|(1<<CSW_P228)|(1<<CSW_DEAGLE)|(1<<CSW_FIVESEVEN)|(1<<CSW_ELITE),
				bool:HAVEDETECTOR[33];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /detector", "CMDBUYDECTOR")
	register_clcmd("say_team /detector", "CMDBUYDECTOR")
	
	RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post")
	
	register_forward(FM_PlayerPreThink, "FWD_PreThink");
}

public plugin_precache() 
	DetectorSprite = precache_model("sprites/Detector.spr")
	
	
public Ham_Spawn_Post(id) {
	if(is_user_connected(id))
		HAVEDETECTOR[id] = false;
}

public CMDBUYDECTOR(id) {
	if(is_user_alive(id)) {
		if(get_user_team(id) == 1)
			ColorChat(id, "!g[DETECTOR]!t Doar!g ANTI-FURIENII!t pot cumpara!g FURIEN DETECTOR!t.")
		else if(HAVEDETECTOR[id])
			ColorChat(id, "!g[DETECTOR]!t Ai deja!g FURIEN DETECTOR!t.")
		else if(cs_get_user_money(id) - COST < 0)
			ColorChat(id, "!g[DETECTOR]!t Nu ai suficienti bani.")
		else {
			HAVEDETECTOR[id] = true
			cs_set_user_money(id, cs_get_user_money(id) - COST)
		}
	}
}

public FWD_PreThink(id) {
	if(is_user_connected(id) && is_user_alive(id)) {
		if(get_user_team(id) == 2 && HAVEDETECTOR[id]) {
			static Target, Body, Weapon;
			
			get_user_aiming(id, Target, Body);
			Weapon = get_user_weapon(id);
			
			if((1<<Weapon) & PRIMARY_WEAPONS_BITSUM || (1<<Weapon) & SECONDARY_WEAPONS_BITSUM) {
				static Origin[3];
				get_user_origin(id, Origin, 3);
				
				message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
				write_byte(TE_BEAMENTPOINT);
				write_short(id | 0x1000);
				write_coord(Origin[0]);
				write_coord(Origin[1]);
				write_coord(Origin[2]);
				write_short(DetectorSprite); 
				write_byte(0);
				write_byte(10);
				write_byte(1);
				write_byte(5);
				write_byte(0);
				if(is_user_alive(Target) && get_user_team(Target) == 1) {
					write_byte(150);
					write_byte(0);
					write_byte(0);
				}
				else {
					write_byte(0);
					write_byte(150);
					write_byte(0);
				}
				write_byte(250);
				write_byte(25);
				message_end();
			}		
		}
	}
}


stock ColorChat(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");
	
	if(id) players[0] = id;
	else get_players(players, count, "ch"); {
		for(new i = 0; i < count; i++) {
			if(is_user_connected(players)) {
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	} 
}
User avatar
Challenger.
Fost moderator
Fost moderator
Posts: 2530
Joined: 07 Dec 2014, 14:32
Detinator Steam: Da
Reputatie: Fost Super Moderator
Nume anterior: whisTle
Puncte: 1.7 / 3
Fond eXtream: 0
Contact:

19 Jul 2015, 21:57

Emrys wrote:
FurienUltimate wrote:Imi poate da cineva sursa de la Furien Detector ?
Daca nu reusesti sa o extragi pana maine, o caut in eu in PC.
Daca nu o gasesc o extrag din shop.

EDIT: Nu am gasit-o, am extras-o din SHOP.
SMA | Afiseaza codul
#include <amxmodx>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Furien Detector"
#define VERSION "1.0"
#define AUTHOR "Habar n-am"

#define COST 	10000

new 
	DetectorSprite,
		PRIMARY_WEAPONS_BITSUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90),
			SECONDARY_WEAPONS_BITSUM = (1<<CSW_GLOCK18)|(1<<CSW_USP)|(1<<CSW_P228)|(1<<CSW_DEAGLE)|(1<<CSW_FIVESEVEN)|(1<<CSW_ELITE),
				bool:HAVEDETECTOR[33];

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /detector", "CMDBUYDECTOR")
	register_clcmd("say_team /detector", "CMDBUYDECTOR")
	
	RegisterHam(Ham_Spawn, "player", "Ham_Spawn_Post")
	
	register_forward(FM_PlayerPreThink, "FWD_PreThink");
}

public plugin_precache() 
	DetectorSprite = precache_model("sprites/Detector.spr")
	
	
public Ham_Spawn_Post(id) {
	if(is_user_connected(id))
		HAVEDETECTOR[id] = false;
}

public CMDBUYDECTOR(id) {
	if(is_user_alive(id)) {
		if(get_user_team(id) == 1)
			ColorChat(id, "!g[DETECTOR]!t Doar!g ANTI-FURIENII!t pot cumpara!g FURIEN DETECTOR!t.")
		else if(HAVEDETECTOR[id])
			ColorChat(id, "!g[DETECTOR]!t Ai deja!g FURIEN DETECTOR!t.")
		else if(cs_get_user_money(id) - COST < 0)
			ColorChat(id, "!g[DETECTOR]!t Nu ai suficienti bani.")
		else {
			HAVEDETECTOR[id] = true
			cs_set_user_money(id, cs_get_user_money(id) - COST)
		}
	}
}

public FWD_PreThink(id) {
	if(is_user_connected(id) && is_user_alive(id)) {
		if(get_user_team(id) == 2 && HAVEDETECTOR[id]) {
			static Target, Body, Weapon;
			
			get_user_aiming(id, Target, Body);
			Weapon = get_user_weapon(id);
			
			if((1<<Weapon) & PRIMARY_WEAPONS_BITSUM || (1<<Weapon) & SECONDARY_WEAPONS_BITSUM) {
				static Origin[3];
				get_user_origin(id, Origin, 3);
				
				message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
				write_byte(TE_BEAMENTPOINT);
				write_short(id | 0x1000);
				write_coord(Origin[0]);
				write_coord(Origin[1]);
				write_coord(Origin[2]);
				write_short(DetectorSprite); 
				write_byte(0);
				write_byte(10);
				write_byte(1);
				write_byte(5);
				write_byte(0);
				if(is_user_alive(Target) && get_user_team(Target) == 1) {
					write_byte(150);
					write_byte(0);
					write_byte(0);
				}
				else {
					write_byte(0);
					write_byte(150);
					write_byte(0);
				}
				write_byte(250);
				write_byte(25);
				message_end();
			}		
		}
	}
}


stock ColorChat(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");
	
	if(id) players[0] = id;
	else get_players(players, count, "ch"); {
		for(new i = 0; i < count; i++) {
			if(is_user_connected(players)) {
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	} 
}

Mersi mult !
User avatar
LuciferGod
Membru, skill 0
Membru, skill 0
Posts: 2
Joined: 31 Jul 2015, 21:41
Detinator Steam: Da
CS Status: Pierd vremea !
Fond eXtream: 0
Location: Bistrita

31 Jul 2015, 22:37

Nu imi place ca apare la furien sk in shop , sunt obisnuit sa fie intr-un meniu la inceputul rundei , si cred ca e si mai interesant asa . :)>-
Image
JustiNNN
Membru, skill 0
Membru, skill 0
Posts: 88
Joined: 02 Aug 2015, 15:12
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Detinator server CS: zp.indungi.ro
Fond eXtream: 0
Has thanked: 3 times
Been thanked: 1 time
Contact:

02 Aug 2015, 15:30

Bv,frumos shop-ul
stephano141
Membru, skill +1
Membru, skill +1
Posts: 154
Joined: 11 Apr 2014, 16:40
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Contact:

13 Dec 2015, 05:33

poti baga in loc de bazooka --> jetpack bazooka ? :D
PinGu229
Membru, skill 0
Membru, skill 0
Posts: 45
Joined: 08 Dec 2015, 17:23
Detinator Steam: Da
Detinator server CS: Fury.LaLeagane.Ro
Fond eXtream: 0
Location: ROMANIA
Contact:

20 Dec 2015, 15:05

Frumos pluginu dar ce pw are :)) Ca parola nu ai specificat-o boss!!
Image
User avatar
^ionutz^
Fost moderator
Fost moderator
Posts: 1995
Joined: 05 Oct 2013, 15:12
Detinator Steam: Da
CS Status: activitate scazuta !
SteamID: /id/ionutz_cs/
Reputatie: Fost moderator ajutator
Location: Galati
Has thanked: 46 times
Been thanked: 23 times

20 Dec 2015, 15:07

User avatar
> SKanDaL <
Membru, skill +1
Membru, skill +1
Posts: 308
Joined: 20 Dec 2015, 18:11
Detinator Steam: Da
SteamID: Privat
Reputatie: Fost Membru Club eXtreamCS (doua luni)
Fond eXtream: 0
Location: Transilvania
Has thanked: 2 times
Been thanked: 10 times

20 Dec 2015, 19:04

GJ 9.50/10
Image
User avatar
50Cent # HackeR
Membru, skill +2
Membru, skill +2
Posts: 755
Joined: 10 Oct 2015, 16:05
Detinator Steam: Da
CS Status: CS GO This Good Game =]]
Detinator server CS: N-am asa ceva ? =]]
SteamID: 50Cent # HackeR
Reputatie: Castigator Membru CLUB eXtream @ Mos Nicolae (4 luni)
Restrictie mesaje private
Fond eXtream: 0
Location: Caras-Severin-Resita
Contact:

20 Dec 2015, 20:12

Mai,bine al faceai prin #define in caz ca vrea cineva sal personalizeze
ON: frumos gg
Post Reply

Return to “Pluginuri eXtream”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 13 guests