[Cerere] Plugin Furien Meniu [Rezolvat]

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
User avatar
wicked.
Membru, skill 0
Membru, skill 0
Posts: 55
Joined: 22 Feb 2013, 13:23
Detinator Steam: Da
CS Status: Cautam admini
Detinator server CS: MIX/CS.XTREMEPLAY.RO
Has thanked: 9 times
Contact:

14 Aug 2013, 20:51

Salut,
1. As dorii si eu pluginul pentru Furien Meniu, cand incepe runda sa ai un meniu cum au cei de la anti-furien , dar cu diferite knife-uri
Image

2. Plugin in care , cand dai un he anti-furienul sa ia foc, sau daca e vorba de smoke sa il blocheze
Image
CS.XTREMEPLAY.RO # Cautam admini
Image
Forum : Click
RadioxPlay.Net : Click
RoyalServer
User avatar
FaTzZu
Fost moderator
Fost moderator
Posts: 1206
Joined: 22 Dec 2012, 18:37
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 114 times
Been thanked: 168 times

14 Aug 2013, 22:17

Last edited by FaTzZu on 14 Aug 2013, 22:18, edited 1 time in total.
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.
User avatar
-Turbo-
Membru, skill +4
Membru, skill +4
Posts: 1664
Joined: 11 Nov 2012, 01:28
Detinator Steam: Da
CS Status: Bored !
Detinator server CS: Da
SteamID: kingforbidden
Reputatie: Utilizator neserios ( tepar )
Restrictie moderator
Ban scos ( achitat )
Nume anterior: Turbo19973
Location: Botosani
Has thanked: 49 times
Been thanked: 212 times

14 Aug 2013, 22:17

User avatar
wicked.
Membru, skill 0
Membru, skill 0
Posts: 55
Joined: 22 Feb 2013, 13:23
Detinator Steam: Da
CS Status: Cautam admini
Detinator server CS: MIX/CS.XTREMEPLAY.RO
Has thanked: 9 times
Contact:

14 Aug 2013, 22:22

Turbo19973 wrote:
1 | Afiseaza codul
http://www.extreamcs.com/forum/pluginur ... 89957.html
la doi nu prea am inteles
L-am gasit dar problema este:
Ca sa poti cumpara o arma ai nevoie de bani, iar daca intrii pe server nu ai banii necesari pentru acea arma si as vrea daca se poate ca acele sume de bani sa fie transformate in x credite
ca in imaginea de mai sus
CS.XTREMEPLAY.RO # Cautam admini
Image
Forum : Click
RadioxPlay.Net : Click
User avatar
-Turbo-
Membru, skill +4
Membru, skill +4
Posts: 1664
Joined: 11 Nov 2012, 01:28
Detinator Steam: Da
CS Status: Bored !
Detinator server CS: Da
SteamID: kingforbidden
Reputatie: Utilizator neserios ( tepar )
Restrictie moderator
Ban scos ( achitat )
Nume anterior: Turbo19973
Location: Botosani
Has thanked: 49 times
Been thanked: 212 times

14 Aug 2013, 22:28

Cu Credite | Afiseaza codul
#include < amxmodx >
#include < cstrike >
#include < colorchat >
#include < hamsandwich >
#include < dhudmessage >
#include < fakemeta_util >

#define PLUGIN "FURIEN Weapons Shop"
#define VERSION "0.0.4"
#define AUTHOR "hadesownage"

#define VIP_ACCESS ADMIN_LEVEL_H

#define ViewMaxModels 19
#define PlayerMaxModels 16

native get_user_credits(id);
native set_user_credits(id, cantitate);

#pragma semicolon 1

new szTag [ ] = "[Furien Shop]";

new ViewModels [ ViewMaxModels + 1 ] [ ] = {
	
	"models/furien/knifes/v_knife_r.mdl",
	"models/furien/knifes/v_knife_r.mdl",
	"models/furien/knifes/v_knife_r.mdl",
	"models/furien/knifes/v_knife_r.mdl",
	"models/furien/knifes/v_knifedragon.mdl",
	"models/furien/knifes/v_dragonclaws.mdl",
	"models/furien/weapons/v_dualmp5.mdl",
	"models/furien/weapons/v_m16.mdl",
	"models/furien/weapons/v_crossbow.mdl",
	"models/furien/weapons/v_m3shoutgun.mdl",
	"models/furien/weapons/v_thompson.mdl",
	"models/furien/weapons/v_uspx.mdl",
	"models/furien/weapons/v_vipawp.mdl",
	"models/furien/weapons/v_vipelite.mdl",
	"models/furien/weapons/v_vipcartblue.mdl",
	"models/furien/weapons/v_vipcartred.mdl",
	"models/furien/weapons/v_vipdualkriss.mdl",
	"models/furien/weapons/v_m249.mdl",
	"models/furien/weapons/v_vipdualskull.mdl",
	""
	
};

new PlayerModels [ PlayerMaxModels + 1 ] [ ] = {
	
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/furien/weapons/p_dualmp5.mdl",
	"models/furien/weapons/p_thompson.mdl",
	"models/furien/weapons/p_uspx.mdl",
	"models/furien/weapons/p_vipawp.mdl",
	"models/furien/weapons/p_vipelite.mdl",
	"models/furien/weapons/p_vipcartblue.mdl",
	"models/furien/weapons/p_vipcartred.mdl",
	"models/furien/weapons/p_vipdualkriss.mdl",
	"models/furien/weapons/p_m249.mdl",
	"models/furien/weapons/p_vipdualskull.mdl",
	""
	
};

enum _:PlayerWeap {
	
	katana_knife,
	double_katana_knife,
	super_knife,
	infinity_knife,
	dual_mp5,
	m16,
	crossbow,
	m3_shoutgun,
	thompson,
	weapon_uspx,
	vip_awp,
	vip_elite,
	vip_dualkriss,
	vip_dualskull,
	vip_minigun,
	vip_hammer_knife,
	vip_axe_knife,
	vip_cartblue,
	vip_cartred
}

new g_PlayerWeap [ 33 ] [ PlayerWeap ];
new SpawnCvar, PermanentWeaponsCvar, CvarMaxArmor, CvarMaxHealth;
const WPN_NOT_DROP = ( ( 1 << 2 ) | ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_KNIFE ) | ( 1 << CSW_C4 ) );

public plugin_init ( ) {
	
	register_plugin ( PLUGIN, VERSION, "hadesownage" );
	
	register_clcmd ( "say /shopulet", "CheckFurienAcces", 0 );
	register_clcmd ( "say_team /shopulet", "CheckFurienAcces", 0 );
	register_clcmd ( "say /shopulet", "CheckFurienAcces", 0 );
	register_clcmd ( "say_team /shopulet", "CheckFurienAcces", 0 );
	register_clcmd ( "say /shop_furien", "CheckFurienAcces", 0 );
	register_clcmd ( "say_team /shop_furien", "CheckFurienAcces", 0 );
	
        register_event ( "DeathMsg", "eDeath", "ae" );
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	
	register_logevent ( "round_end", 2, "1=Round_End" );
	
	RegisterHam ( Ham_Spawn, "player", "RefreshAllWeapons", 1 );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	
	SpawnCvar = register_cvar ( "furien_weap_spawn", "0" );
	PermanentWeaponsCvar = register_cvar ( "furien_weap_permanent_weapons", "1" );
	CvarMaxArmor = register_cvar ( "furien_weap_maxarmor", "50" );
	CvarMaxHealth = register_cvar ( "furien_weap_maxhealth", "400" );
	
}

public plugin_precache ( ) {
	
	new hades;
	for ( hades = 0; hades < sizeof ( ViewModels ); hades++ )
		engfunc ( EngFunc_PrecacheModel, ViewModels [ hades ] );
	new ownage;
	for ( ownage = 0; ownage < sizeof ( PlayerModels ); ownage++ )
		engfunc ( EngFunc_PrecacheModel, PlayerModels [ ownage ] );
}

public client_putinserver ( id ) {
	
	g_PlayerWeap [ id ] [ katana_knife ] = false;
	g_PlayerWeap [ id ] [ double_katana_knife ] = false;
	g_PlayerWeap [ id ] [ super_knife ] = false;
	g_PlayerWeap [ id ] [ infinity_knife ] = false;
	
	g_PlayerWeap [ id ] [ dual_mp5 ] = false;
	g_PlayerWeap [ id ] [ m16 ] = false;
	g_PlayerWeap [ id ] [ crossbow ] = false;
	g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
	g_PlayerWeap [ id ] [ thompson ] = false;
	g_PlayerWeap [ id ] [ weapon_uspx ] = false;
	
	g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
	g_PlayerWeap [ id ] [ vip_dualskull ] = false;
	g_PlayerWeap [ id ] [ vip_elite ] = false;
	g_PlayerWeap [ id ] [ vip_minigun ] = false;
	g_PlayerWeap [ id ] [ vip_cartred ] = false;
	g_PlayerWeap [ id ] [ vip_cartblue ] = false;
	g_PlayerWeap [ id ] [ vip_awp ] = false;
	g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
	g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
	
}

public client_disconnect ( id ) {
	
	client_putinserver ( id );
}

public round_end ( ) {
	
	new iPlayers [ 32 ], iNum, i;
	get_players ( iPlayers, iNum );
	
	for ( i = 0; i < iNum; i++ )
	{
		if( !is_user_alive ( iPlayers [ i ] ) )
			continue;
		
		fm_strip_user_weapons ( iPlayers [ i ] );
		set_pdata_int ( iPlayers [ i ], 116, 0 );
		fm_give_item ( iPlayers [ i ], "weapon_knife" );
	}
}

public eDeath ( ) {

	new victim = read_data(2);
	client_putinserver ( victim );
	
}
public RefreshAllWeapons ( id ) {
	
	if ( is_user_alive ( id ) && get_pcvar_num ( PermanentWeaponsCvar ) == 0 ) {
		
		g_PlayerWeap [ id ] [ katana_knife ] = false;
		g_PlayerWeap [ id ] [ double_katana_knife ] = false;
		g_PlayerWeap [ id ] [ super_knife ] = false;
		g_PlayerWeap [ id ] [ infinity_knife ] = false;
		
		g_PlayerWeap [ id ] [ dual_mp5 ] = false;
		g_PlayerWeap [ id ] [ m16 ] = false;
		g_PlayerWeap [ id ] [ crossbow ] = false;
		g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
		g_PlayerWeap [ id ] [ thompson ] = false;
		g_PlayerWeap [ id ] [ weapon_uspx ] = false;
		
		g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
		g_PlayerWeap [ id ] [ vip_dualskull ] = false;
		g_PlayerWeap [ id ] [ vip_elite ] = false;
		g_PlayerWeap [ id ] [ vip_minigun ] = false;
		g_PlayerWeap [ id ] [ vip_cartred ] = false;
		g_PlayerWeap [ id ] [ vip_cartblue ] = false;
		g_PlayerWeap [ id ] [ vip_awp ] = false;
		g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
		g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
	}
	
	if ( get_pcvar_num ( SpawnCvar ) == 1 ) {
		
		if ( get_user_team ( id ) == 1 ) {
			
			set_task( 0.1, "ShowFurienMenuWeapons", id );
		}
		
		if ( get_user_team ( id ) == 2 ) {
			
			set_task( 0.1, "ShowAntiFurienMenuWeapons", id );
		}
		
	}
	
	return 1;
}

public CheckFurienAcces ( id ) {
	
	if ( get_user_team ( id ) == 1 ) {
		
		set_task( 0.1, "ShowFurienMenuWeapons", id );
	}
	
	if ( get_user_team ( id ) == 2 ) {
		
		set_task( 0.1, "ShowAntiFurienMenuWeapons", id );
	}
	
}

public ShowFurienMenuWeapons ( id, level, cid ) {    
	
	new menu = menu_create ( "\rFury.CsBlack \yDevil. Com", "FurienWeaponsMenuGiver" );
	menu_additem ( menu, "\y+100 HP [ \r 6 Credite \y ]", "1", 0 );
        menu_additem ( menu, "\ySk \r[\r130DMG\r] [ \r 5 Credite \y ]", "3", 0 );
	menu_additem ( menu, "\ySK \r[\r150DMG\r][ \r 7 Credite \y ]", "4", 0 );
	menu_additem ( menu, "\ySK \r[\r170DMG\r] [ \r 10 Credite \y ]", "5", 0 );
	menu_additem ( menu, "\ySK \r[\r195DMG\r] [ \r 15 Credite \y ]", "6", 0 );
	menu_additem ( menu, "\yHE Grenade [ \r 10 Credite \y ]", "7", 0 );
        menu_additem ( menu, "\yFrost Nade [ \r 5 Credite \y ]", "9", 0 );
	menu_additem ( menu, "\yULTIMATE [ \r VIP ONLY \y ]", "8", VIP_ACCESS );
	
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display ( id, menu, 0 );
	
	
	return 1;
}

public ShowAntiFurienMenuWeapons ( id, level, cid ) { 
	
	new menu = menu_create ( "\rFury.CsBlack \yDevil. Com", "AntiFurienWeaponsMenuGiver" );
        menu_additem ( menu, "\y+100 HP [ \r 6 Credite \y ]", "6", 0 );
        menu_additem ( menu, "\yDual Mp5 [ \r 15 Credite \y ]", "1", 0 );
	menu_additem ( menu, "\yM16 [ \r 15 Credite \y ]", "2", 0 );
	menu_additem ( menu, "\yCrossBOW [ \r 15 Credite \y ]", "3", 0 );
	menu_additem ( menu, "\yM3 2X DMG [ \r 15 Credite \y ]", "4", 0 );
	menu_additem ( menu, "\yThompson [ \r 15 Credite \y ]", "5", 0 );
        menu_additem ( menu, "\yHE Grenade [ \r 10 Credite \y ]", "7", 0 );
        menu_additem ( menu, "\yFrost Nade [ \r 5 Credite \y ]", "8", 0 );
	menu_additem ( menu, "\yDefuse Kit [ \r 1 Credite \y ]", "10", 0 );
	menu_additem ( menu, "\yULTIMATE [ \r VIP ONLY \y ]", "11", VIP_ACCESS );
	
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display ( id, menu, 0 );
	
	
	return 1;
}

public ShowAntiFurienMenuVIP ( id, level, cid ) { 
	
	new menu = menu_create ( "\y* VIP * \rFury.CsBlack \yDevil. Com", "AntiFurienVIPMenuGiver" );
	
	menu_additem ( menu, "\ySuper AWP \y[ \r2 Credite \y ]", "1", VIP_ACCESS );
	menu_additem ( menu, "\yDual Kriss \y[ \r4 Credite \y ]", "2", VIP_ACCESS );
	menu_additem ( menu, "\yDual Skull \y[ \r5 Credite \y ]", "3", VIP_ACCESS );
	menu_additem ( menu, "\yMinigun \y[ \r10 Credite \y ]", "4", VIP_ACCESS );
	menu_additem ( menu, "\yCart Blue \y[ \r17 Credite \y ]", "5", VIP_ACCESS );
	menu_additem ( menu, "\yCart Red \y[ \r17 Credite \y ]", "6", VIP_ACCESS );
	
	
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display ( id, menu, 0 );
	
	
	return 1;
}

public ShowFurienMenuVIP ( id, level, cid ) { 
	
	new menu = menu_create ( "\y* VIP * \rFury.CsBlack \yDevil. Com", "FurienVIPMenuGiver" );
	menu_additem ( menu, "\ySuper Knife VIP X2\y[ \r25 Credite \y ]", "1", VIP_ACCESS );
	menu_additem ( menu, "\ySuper Knife VIP X1  \y[ \r25 Credite \y ]", "2", VIP_ACCESS );
	
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display ( id, menu, 0 );
	
	
	return 1;
}

public FurienWeaponsMenuGiver ( id, menu, item ) {
	
	if( item == MENU_EXIT )
	{
		return 1;
	}
	
	new data [ 6 ], szName [ 64 ];
	new access, callback;
	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
	new key = str_to_num ( data );
	
	switch(key)
	{
		case 3:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				g_PlayerWeap [ id ] [ katana_knife ] = true;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				CurrentWeapon ( id );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		
		case 4:
		{
			new iMoney = get_user_credits ( id ) - 7;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = true;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				CurrentWeapon ( id );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		case 5:
		{
			new iMoney = get_user_credits ( id ) - 10;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = true;
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				CurrentWeapon ( id );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		case 6:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ infinity_knife ] = true;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				CurrentWeapon ( id );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		case 1:
		{
			new iMoney = get_user_credits ( id ) - 6;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				new szHealth = get_user_health ( id );
				if ( szHealth <= get_pcvar_num ( CvarMaxHealth ) ) {
					set_dhudmessage ( 31, 201, 31, 0.20, 0.90, 0, 6.0, 1.0 );
					show_dhudmessage ( id, "+100 HP" );
					fm_set_user_health ( id, get_user_health ( id ) + 100 );
					set_user_credits ( id, iMoney );
					return 1;
				}
				
				if ( szHealth > get_pcvar_num ( CvarMaxHealth ) ) {
					
					ColorChat ( id, GREEN, "%s^x01 Nu poti cumpara mai mult de^4 400 HP^3 .^4", szTag );
					return 1;
				}
			}
		}
		
		case 2:
		{
			new iMoney = get_user_credits ( id ) - 6;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				new szHealth = get_user_health ( id );
				if ( szHealth <= get_pcvar_num ( CvarMaxHealth ) ) {
					set_dhudmessage ( 31, 201, 31, 0.20, 0.90, 0, 6.0, 1.0 );
					show_dhudmessage ( id, "+50 HP" );
					fm_set_user_health ( id, get_user_health ( id ) + 50 );
					set_user_credits ( id, iMoney );
					return 1;
				}
				
				if ( szHealth > get_pcvar_num ( CvarMaxHealth ) ) {
					
					ColorChat ( id, GREEN, "%s^x01 Nu poti cumpara mai mult de^4 400 HP^3 .^4", szTag );
					return 1;
				}
			}
		}
		
		case 9:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_smokegrenade" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 10:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_flashbang" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 7:
		{
			new iMoney = get_user_credits ( id ) - 10;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_hegrenade" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		case 8:
		{
			set_task ( 0.1, "ShowFurienMenuVIP", id );
			return 1;
		}
	}
	
	menu_destroy ( menu );
	return 1;
	
}

public AntiFurienWeaponsMenuGiver ( id, menu, item ) {
	
	if( item == MENU_EXIT )
	{
		return 1;
	}
	
	new data [ 6 ], szName [ 64 ];
	new access, callback;
	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
	new key = str_to_num ( data );
	
	switch(key)
	{
		case 1:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_mp5navy" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_MP5NAVY, 200 );
				set_user_credits ( id, iMoney );
				
				g_PlayerWeap [ id ] [ dual_mp5 ] = true;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 2:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_m4a1" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_M4A1, 250 );
				set_user_credits ( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = true;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 3:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_sg550" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_SG550, 250 );
				set_user_credits ( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = true;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 4:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_m3" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_M3, 200 );
				set_user_credits ( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = true;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 5:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_p90" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_P90, 200 );
				set_user_credits ( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = true;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 6:
		{
			new iMoney = get_user_credits ( id ) - 6;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				new szHealth = get_user_health ( id );
				if ( szHealth <= get_pcvar_num ( CvarMaxHealth ) ) {
					set_dhudmessage ( 31, 201, 31, 0.20, 0.90, 0, 6.0, 1.0 );
					show_dhudmessage ( id, "+100 HP" );
					fm_set_user_health ( id, get_user_health ( id ) + 100 );
					set_user_credits ( id, iMoney );
					return 1;
				}
				
				if ( szHealth > get_pcvar_num ( CvarMaxHealth ) ) {
					
					ColorChat ( id, GREEN, "%s^x01 Nu poti cumpara mai mult de^4 400 HP^3 .^4", szTag );
					return 1;
				}
			}
		}
		
                case 7:
		{
			new iMoney = get_user_credits ( id ) - 10;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_hegrenade" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 8:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_smokegrenade" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 9:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_flashbang" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 10:
		{
			new iMoney = get_user_credits ( id ) - 1;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "item_thighpack" );
				set_user_credits( id, iMoney );
				return 1;
			}
		}
		
		case 11:
		{
			set_task ( 0.1, "ShowAntiFurienMenuVIP", id );
			return 1;
		}
	}
	
	menu_destroy ( menu );
	return 1;
	
}

public AntiFurienVIPMenuGiver ( id, menu, item ) {
	
	if ( item == MENU_EXIT )
	{
		return 1;
	}
	
	new data [ 6 ], szName [ 64 ];
	new access, callback;
	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
	new key = str_to_num ( data );
	
	switch(key)
	{    
		case 1:
		{
			new iMoney = get_user_credits ( id ) - 2;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{    
				fm_give_item ( id, "weapon_awp" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_AWP, 50 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = true;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}    
		}
		
		case 2:
		{
			new iMoney = get_user_credits ( id ) - 4;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_p90" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_P90, 200 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = true;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}    
		}
		
		case 3:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_sg552" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_SG552, 200 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = true;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}  
		}
		
		case 4:
		{
			new iMoney = get_user_credits ( id ) - 10;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_m249" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_M249, 300 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = true;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}    
		}
		
		case 5:
		{
			
			new iMoney = get_user_credits ( id ) - 17;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_mp5navy" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_MP5NAVY, 300 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = true;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}  
			
		}
		
		case 6:
		{
			
			new iMoney = get_user_credits ( id ) - 17;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_mp5navy" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_MP5NAVY, 300 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = true;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}  
			
		}
	}
	
	menu_destroy ( menu );
	return 1;
}


public FurienVIPMenuGiver ( id, menu, item ) {
	
	if( item == MENU_EXIT )
	{
		return 1;
	}
	
	new data [ 6 ], szName [ 64 ];
	new access, callback;
	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
	new key = str_to_num ( data );
	
	switch(key)
	{    
		case 1:
		{
			new iMoney = get_user_credits ( id ) - 25;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{    
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = true;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				set_user_credits ( id, iMoney );
				CurrentWeapon ( id );
				return 1;
			}    
		}
		
		case 2:
		{
			new iMoney = get_user_credits ( id ) - 25;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{    
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = true;
				set_user_credits ( id, iMoney );
				CurrentWeapon ( id );
				return 1;
			}    
		}
	}
	
	menu_destroy ( menu );
	return 1;
	
}

public CurrentWeapon ( id ) {
	
	new szWeapon = get_user_weapon ( id );
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ katana_knife ] ) {
		
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 0 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 0 ] );
		
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ double_katana_knife ]  ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 1 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 1 ] );
		
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ super_knife ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 2 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 2 ] );
		
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ infinity_knife ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 3 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 3 ] );
		
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ vip_hammer_knife ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 4 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 4 ] );
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ vip_axe_knife ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 5 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 5 ] );
	}
	
	if ( szWeapon == CSW_MP5NAVY && g_PlayerWeap [ id ] [ dual_mp5 ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 6 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 6 ] );
	}
	
	if ( szWeapon == CSW_M4A1 && g_PlayerWeap [ id ] [ m16 ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 7 ] );
	}
	
	if ( szWeapon == CSW_SG550 && g_PlayerWeap [ id ] [ crossbow ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 8 ] );
	}
	
	if ( szWeapon == CSW_M3 && g_PlayerWeap [ id ] [ m3_shoutgun ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 9 ] );
	}
	
	if ( szWeapon == CSW_P90 && g_PlayerWeap [ id ] [ thompson ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 10 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 7 ] );
	}
	
	if ( szWeapon == CSW_ELITE && g_PlayerWeap [ id ] [ vip_elite ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 13 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 9 ] );
	}
	
	if ( szWeapon == CSW_AWP && g_PlayerWeap [ id ] [ vip_awp ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 12 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 9 ] );
	}
	
	if ( szWeapon == CSW_P90 && g_PlayerWeap [ id ] [ vip_dualkriss ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 16 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 13 ] );
	}
	
	if ( szWeapon == CSW_SG552 && g_PlayerWeap [ id ] [ vip_dualskull ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 18 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 15 ] );
	}
	
	if ( szWeapon == CSW_MP5NAVY && g_PlayerWeap [ id ] [ vip_cartblue ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 14 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 11 ] );
	}
	
	if ( szWeapon == CSW_MP5NAVY && g_PlayerWeap [ id ] [ vip_cartred ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 15 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 12 ] );
	}
	
	if ( szWeapon == CSW_M249 && g_PlayerWeap [ id ] [ vip_minigun ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 17 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 14 ] );
	}
	
	if ( szWeapon == CSW_USP && g_PlayerWeap [ id ] [ weapon_uspx ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 11 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 8 ] );
	}
	
	return 1;
}

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
	
	if ( g_PlayerWeap [ iAttacker ] [ katana_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ double_katana_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 2.8);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ super_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 2.5);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ infinity_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 3.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ dual_mp5 ] && get_user_weapon ( iAttacker ) == CSW_MP5NAVY ) {
		
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ m16 ] && get_user_weapon ( iAttacker ) == CSW_M4A1 ) {
		
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ crossbow ] && get_user_weapon ( iAttacker ) == CSW_SG550 ) {
		
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ m3_shoutgun ] && get_user_weapon ( iAttacker ) == CSW_M3 ) {
		
		SetHamParamFloat( 4, fDamage * 1.8);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ thompson ] && get_user_weapon ( iAttacker ) == CSW_P90 ) {
		
		SetHamParamFloat( 4, fDamage * 2.4);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_elite ] && get_user_weapon ( iAttacker ) == CSW_ELITE ) {
		
		SetHamParamFloat( 4, fDamage * 2.7);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_dualkriss ] && get_user_weapon ( iAttacker ) == CSW_P90 ) {
		
		SetHamParamFloat( 4, fDamage * 3.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_hammer_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 3.5);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_axe_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 3.5);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_cartblue ] && get_user_weapon ( iAttacker ) == CSW_MP5NAVY ) {
		
		SetHamParamFloat( 4, fDamage * 3.5);
		return HAM_HANDLED;
		
	}
	
	return HAM_IGNORED;
	
}

stock DropWeapons ( id )  {
	
	new wpn, wpnname [ 32 ];
	wpn = get_user_weapon ( id );
	if ( !( WPN_NOT_DROP & ( 1 << wpn) ) && get_weaponname ( wpn, wpnname, charsmax ( wpnname ) ) ) {
		engclient_cmd ( id, "drop", wpnname );
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
User avatar
wicked.
Membru, skill 0
Membru, skill 0
Posts: 55
Joined: 22 Feb 2013, 13:23
Detinator Steam: Da
CS Status: Cautam admini
Detinator server CS: MIX/CS.XTREMEPLAY.RO
Has thanked: 9 times
Contact:

14 Aug 2013, 22:34

Code: Select all

furien_new_weapons_0_0_4.sma(5) : fatal error 100: cannot read from file: "dhudmessage"
Lipseste ceva :(
CS.XTREMEPLAY.RO # Cautam admini
Image
Forum : Click
RadioxPlay.Net : Click
User avatar
FaTzZu
Fost moderator
Fost moderator
Posts: 1206
Joined: 22 Dec 2012, 18:37
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 114 times
Been thanked: 168 times

14 Aug 2013, 22:47

dhudmessage.inc | Afiseaza codul
#if defined _dhudmessage_included
    #endinput
#endif

#define _dhudmessage_included

#include <amxmodx>

stock __dhud_color;
stock __dhud_x;
stock __dhud_y;
stock __dhud_effect;
stock __dhud_fxtime;
stock __dhud_holdtime;
stock __dhud_fadeintime;
stock __dhud_fadeouttime;
stock __dhud_reliable;

stock set_dhudmessage( red = 0, green = 160, blue = 0, Float:x = -1.0, Float:y = 0.65, effects = 2, Float:fxtime = 6.0, Float:holdtime = 3.0, Float:fadeintime = 0.1, Float:fadeouttime = 1.5, bool:reliable = false )
{
    #define clamp_byte(%1)       ( clamp( %1, 0, 255 ) )
    #define pack_color(%1,%2,%3) ( %3 + ( %2 << 8 ) + ( %1 << 16 ) )

    __dhud_color       = pack_color( clamp_byte( red ), clamp_byte( green ), clamp_byte( blue ) );
    __dhud_x           = _:x;
    __dhud_y           = _:y;
    __dhud_effect      = effects;
    __dhud_fxtime      = _:fxtime;
    __dhud_holdtime    = _:holdtime;
    __dhud_fadeintime  = _:fadeintime;
    __dhud_fadeouttime = _:fadeouttime;
    __dhud_reliable    = _:reliable;

    return 1;
}

stock show_dhudmessage( index, const message[], any:... )
{
    new buffer[ 128 ];
    new numArguments = numargs();

    if( numArguments == 2 )
    {
        send_dhudMessage( index, message );
    }
    else if( index || numArguments == 3 )
    {
        vformat( buffer, charsmax( buffer ), message, 3 );
        send_dhudMessage( index, buffer );
    }
    else
    {
        new playersList[ 32 ], numPlayers;
        get_players( playersList, numPlayers, "ch" );

        if( !numPlayers )
        {
            return 0;
        }

        new Array:handleArrayML = ArrayCreate();

        for( new i = 2, j; i < numArguments; i++ )
        {
            if( getarg( i ) == LANG_PLAYER )
            {
                while( ( buffer[ j ] = getarg( i + 1, j++ ) ) ) {}
                j = 0;

                if( GetLangTransKey( buffer ) != TransKey_Bad )
                {
                    ArrayPushCell( handleArrayML, i++ );
                }
            }
        }

        new size = ArraySize( handleArrayML );

        if( !size )
        {
            vformat( buffer, charsmax( buffer ), message, 3 );
            send_dhudMessage( index, buffer );
        }
        else
        {
            for( new i = 0, j; i < numPlayers; i++ )
            {
                index = playersList[ i ];

                for( j = 0; j < size; j++ )
                {
                    setarg( ArrayGetCell( handleArrayML, j ), 0, index );
                }

                vformat( buffer, charsmax( buffer ), message, 3 );
                send_dhudMessage( index, buffer );
            }
        }

        ArrayDestroy( handleArrayML );
    }

    return 1;
}

stock send_dhudMessage( const index, const message[] )
{
    message_begin( __dhud_reliable ? ( index ? MSG_ONE : MSG_ALL ) : ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST ), SVC_DIRECTOR, _, index );
    {
        write_byte( strlen( message ) + 31 );
        write_byte( DRC_CMD_MESSAGE );
        write_byte( __dhud_effect );
        write_long( __dhud_color );
        write_long( __dhud_x );
        write_long( __dhud_y );
        write_long( __dhud_fadeintime );
        write_long( __dhud_fadeouttime );
        write_long( __dhud_holdtime );
        write_long( __dhud_fxtime );
        write_string( message );
    }
    message_end();
}
A fool's brain digests philosophy into folly, science into superstition, and art into pedantry.

#RETIRED.
User avatar
wicked.
Membru, skill 0
Membru, skill 0
Posts: 55
Joined: 22 Feb 2013, 13:23
Detinator Steam: Da
CS Status: Cautam admini
Detinator server CS: MIX/CS.XTREMEPLAY.RO
Has thanked: 9 times
Contact:

14 Aug 2013, 22:56

Edit am gasit, acum sa vad daca functioneaza
CS.XTREMEPLAY.RO # Cautam admini
Image
Forum : Click
RadioxPlay.Net : Click
User avatar
-Turbo-
Membru, skill +4
Membru, skill +4
Posts: 1664
Joined: 11 Nov 2012, 01:28
Detinator Steam: Da
CS Status: Bored !
Detinator server CS: Da
SteamID: kingforbidden
Reputatie: Utilizator neserios ( tepar )
Restrictie moderator
Ban scos ( achitat )
Nume anterior: Turbo19973
Location: Botosani
Has thanked: 49 times
Been thanked: 212 times

14 Aug 2013, 22:58

colorchat.inc | Afiseaza codul
/* Fun functions
*
* by Numb
*
* This file is provided as is (no warranties).
*/

#if defined _colorchat_included
  #endinput
#endif
#define _colorchat_included

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

new TeamName[][] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}

ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	new message[256];

	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}

	vformat(message[1], 251, msg, 4);

	// Make sure message is not longer than 192 character. Will crash the server.
	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\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
User avatar
wicked.
Membru, skill 0
Membru, skill 0
Posts: 55
Joined: 22 Feb 2013, 13:23
Detinator Steam: Da
CS Status: Cautam admini
Detinator server CS: MIX/CS.XTREMEPLAY.RO
Has thanked: 9 times
Contact:

14 Aug 2013, 23:14

furien_new_weapons_0_0_4.sma | Afiseaza codul
#include < amxmodx >
#include < cstrike >
#include < colorchat >
#include < hamsandwich >
#include < dhudmessage >
#include < fakemeta_util >

#define PLUGIN "FURIEN Weapons Shop"
#define VERSION "0.0.4"
#define AUTHOR "hadesownage"

#define VIP_ACCESS ADMIN_LEVEL_H

#define ViewMaxModels 19
#define PlayerMaxModels 16

native get_user_credits(id);
native set_user_credits(id, cantitate);

#pragma semicolon 1

new szTag [ ] = "[Furien Shop]";

new ViewModels [ ViewMaxModels + 1 ] [ ] = {
	
	"models/furien/knifes/v_knife_r.mdl",
	"models/furien/knifes/v_knife_r.mdl",
	"models/furien/knifes/v_knife_r.mdl",
	"models/furien/knifes/v_knife_r.mdl",
	"models/furien/knifes/v_knifedragon.mdl",
	"models/furien/knifes/v_dragonclaws.mdl",
	"models/furien/weapons/v_dualmp5.mdl",
	"models/furien/weapons/v_m16.mdl",
	"models/furien/weapons/v_crossbow.mdl",
	"models/furien/weapons/v_m3shoutgun.mdl",
	"models/furien/weapons/v_thompson.mdl",
	"models/furien/weapons/v_uspx.mdl",
	"models/furien/weapons/v_vipawp.mdl",
	"models/furien/weapons/v_vipelite.mdl",
	"models/furien/weapons/v_vipcartblue.mdl",
	"models/furien/weapons/v_vipcartred.mdl",
	"models/furien/weapons/v_vipdualkriss.mdl",
	"models/furien/weapons/v_m249.mdl",
	"models/furien/weapons/v_vipdualskull.mdl",
	""
	
};

new PlayerModels [ PlayerMaxModels + 1 ] [ ] = {
	
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/v_knife.mdl",
	"models/furien/weapons/p_dualmp5.mdl",
	"models/furien/weapons/p_thompson.mdl",
	"models/furien/weapons/p_uspx.mdl",
	"models/furien/weapons/p_vipawp.mdl",
	"models/furien/weapons/p_vipelite.mdl",
	"models/furien/weapons/p_vipcartblue.mdl",
	"models/furien/weapons/p_vipcartred.mdl",
	"models/furien/weapons/p_vipdualkriss.mdl",
	"models/furien/weapons/p_m249.mdl",
	"models/furien/weapons/p_vipdualskull.mdl",
	""
	
};

enum _:PlayerWeap {
	
	katana_knife,
	double_katana_knife,
	super_knife,
	infinity_knife,
	dual_mp5,
	m16,
	crossbow,
	m3_shoutgun,
	thompson,
	weapon_uspx,
	vip_awp,
	vip_elite,
	vip_dualkriss,
	vip_dualskull,
	vip_minigun,
	vip_hammer_knife,
	vip_axe_knife,
	vip_cartblue,
	vip_cartred
}

new g_PlayerWeap [ 33 ] [ PlayerWeap ];
new SpawnCvar, PermanentWeaponsCvar, CvarMaxArmor, CvarMaxHealth;
const WPN_NOT_DROP = ( ( 1 << 2 ) | ( 1 << CSW_HEGRENADE ) | ( 1 << CSW_SMOKEGRENADE ) | ( 1 << CSW_FLASHBANG ) | ( 1 << CSW_KNIFE ) | ( 1 << CSW_C4 ) );

public plugin_init ( ) {
	
	register_plugin ( PLUGIN, VERSION, "hadesownage" );
	
	register_clcmd ( "say /shopulet", "CheckFurienAcces", 0 );
	register_clcmd ( "say_team /shopulet", "CheckFurienAcces", 0 );
	register_clcmd ( "say /shopulet", "CheckFurienAcces", 0 );
	register_clcmd ( "say_team /shopulet", "CheckFurienAcces", 0 );
	register_clcmd ( "say /shop_furien", "CheckFurienAcces", 0 );
	register_clcmd ( "say_team /shop_furien", "CheckFurienAcces", 0 );
	
        register_event ( "DeathMsg", "eDeath", "ae" );
	register_event ( "CurWeapon", "CurrentWeapon", "be", "1=1" );
	
	register_logevent ( "round_end", 2, "1=Round_End" );
	
	RegisterHam ( Ham_Spawn, "player", "RefreshAllWeapons", 1 );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	
	SpawnCvar = register_cvar ( "furien_weap_spawn", "1" );
	PermanentWeaponsCvar = register_cvar ( "furien_weap_permanent_weapons", "0" );
	CvarMaxArmor = register_cvar ( "furien_weap_maxarmor", "400" );
	CvarMaxHealth = register_cvar ( "furien_weap_maxhealth", "200" );
	
}

public plugin_precache ( ) {
	
	new hades;
	for ( hades = 0; hades < sizeof ( ViewModels ); hades++ )
		engfunc ( EngFunc_PrecacheModel, ViewModels [ hades ] );
	new ownage;
	for ( ownage = 0; ownage < sizeof ( PlayerModels ); ownage++ )
		engfunc ( EngFunc_PrecacheModel, PlayerModels [ ownage ] );
}

public client_putinserver ( id ) {
	
	g_PlayerWeap [ id ] [ katana_knife ] = false;
	g_PlayerWeap [ id ] [ double_katana_knife ] = false;
	g_PlayerWeap [ id ] [ super_knife ] = false;
	g_PlayerWeap [ id ] [ infinity_knife ] = false;
	
	g_PlayerWeap [ id ] [ dual_mp5 ] = false;
	g_PlayerWeap [ id ] [ m16 ] = false;
	g_PlayerWeap [ id ] [ crossbow ] = false;
	g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
	g_PlayerWeap [ id ] [ thompson ] = false;
	g_PlayerWeap [ id ] [ weapon_uspx ] = false;
	
	g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
	g_PlayerWeap [ id ] [ vip_dualskull ] = false;
	g_PlayerWeap [ id ] [ vip_elite ] = false;
	g_PlayerWeap [ id ] [ vip_minigun ] = false;
	g_PlayerWeap [ id ] [ vip_cartred ] = false;
	g_PlayerWeap [ id ] [ vip_cartblue ] = false;
	g_PlayerWeap [ id ] [ vip_awp ] = false;
	g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
	g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
	
}

public client_disconnect ( id ) {
	
	client_putinserver ( id );
}

public round_end ( ) {
	
	new iPlayers [ 32 ], iNum, i;
	get_players ( iPlayers, iNum );
	
	for ( i = 0; i < iNum; i++ )
	{
		if( !is_user_alive ( iPlayers [ i ] ) )
			continue;
		
		fm_strip_user_weapons ( iPlayers [ i ] );
		set_pdata_int ( iPlayers [ i ], 116, 0 );
		fm_give_item ( iPlayers [ i ], "weapon_knife" );
	}
}

public eDeath ( ) {

	new victim = read_data(2);
	client_putinserver ( victim );
	
}
public RefreshAllWeapons ( id ) {
	
	if ( is_user_alive ( id ) && get_pcvar_num ( PermanentWeaponsCvar ) == 0 ) {
		
		g_PlayerWeap [ id ] [ katana_knife ] = false;
		g_PlayerWeap [ id ] [ double_katana_knife ] = false;
		g_PlayerWeap [ id ] [ super_knife ] = false;
		g_PlayerWeap [ id ] [ infinity_knife ] = false;
		
		g_PlayerWeap [ id ] [ dual_mp5 ] = false;
		g_PlayerWeap [ id ] [ m16 ] = false;
		g_PlayerWeap [ id ] [ crossbow ] = false;
		g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
		g_PlayerWeap [ id ] [ thompson ] = false;
		g_PlayerWeap [ id ] [ weapon_uspx ] = false;
		
		g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
		g_PlayerWeap [ id ] [ vip_dualskull ] = false;
		g_PlayerWeap [ id ] [ vip_elite ] = false;
		g_PlayerWeap [ id ] [ vip_minigun ] = false;
		g_PlayerWeap [ id ] [ vip_cartred ] = false;
		g_PlayerWeap [ id ] [ vip_cartblue ] = false;
		g_PlayerWeap [ id ] [ vip_awp ] = false;
		g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
		g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
	}
	
	if ( get_pcvar_num ( SpawnCvar ) == 1 ) {
		
		if ( get_user_team ( id ) == 1 ) {
			
			set_task( 0.1, "ShowFurienMenuWeapons", id );
		}
		
		if ( get_user_team ( id ) == 2 ) {
			
			set_task( 0.1, "ShowAntiFurienMenuWeapons", id );
		}
		
	}
	
	return 1;
}

public CheckFurienAcces ( id ) {
	
	if ( get_user_team ( id ) == 1 ) {
		
		set_task( 0.1, "ShowFurienMenuWeapons", id );
	}
	
	if ( get_user_team ( id ) == 2 ) {
		
		set_task( 0.1, "ShowAntiFurienMenuWeapons", id );
	}
	
}

public ShowFurienMenuWeapons ( id, level, cid ) {    
	
	new menu = menu_create ( "\rFury.CsBlack \yDevil. Com", "FurienWeaponsMenuGiver" );
	menu_additem ( menu, "\y+100 HP [ \r 6 Credite \y ]", "1", 0 );
        menu_additem ( menu, "\ySk \r[\r130DMG\r] [ \r 5 Credite \y ]", "3", 0 );
	menu_additem ( menu, "\ySK \r[\r150DMG\r][ \r 7 Credite \y ]", "4", 0 );
	menu_additem ( menu, "\ySK \r[\r170DMG\r] [ \r 10 Credite \y ]", "5", 0 );
	menu_additem ( menu, "\ySK \r[\r195DMG\r] [ \r 15 Credite \y ]", "6", 0 );
	menu_additem ( menu, "\yHE Grenade [ \r 10 Credite \y ]", "7", 0 );
        menu_additem ( menu, "\yFrost Nade [ \r 5 Credite \y ]", "9", 0 );
	menu_additem ( menu, "\yULTIMATE [ \r VIP ONLY \y ]", "8", VIP_ACCESS );
	
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display ( id, menu, 0 );
	
	
	return 1;
}

public ShowAntiFurienMenuWeapons ( id, level, cid ) { 
	
	new menu = menu_create ( "\rFury.CsBlack \yDevil. Com", "AntiFurienWeaponsMenuGiver" );
        menu_additem ( menu, "\y+100 HP [ \r 6 Credite \y ]", "6", 0 );
        menu_additem ( menu, "\yDual Mp5 [ \r 15 Credite \y ]", "1", 0 );
	menu_additem ( menu, "\yM16 [ \r 15 Credite \y ]", "2", 0 );
	menu_additem ( menu, "\yCrossBOW [ \r 15 Credite \y ]", "3", 0 );
	menu_additem ( menu, "\yM3 2X DMG [ \r 15 Credite \y ]", "4", 0 );
	menu_additem ( menu, "\yThompson [ \r 15 Credite \y ]", "5", 0 );
        menu_additem ( menu, "\yHE Grenade [ \r 10 Credite \y ]", "7", 0 );
        menu_additem ( menu, "\yFrost Nade [ \r 5 Credite \y ]", "8", 0 );
	menu_additem ( menu, "\yDefuse Kit [ \r 1 Credite \y ]", "10", 0 );
	menu_additem ( menu, "\yULTIMATE [ \r VIP ONLY \y ]", "11", VIP_ACCESS );
	
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display ( id, menu, 0 );
	
	
	return 1;
}

public ShowAntiFurienMenuVIP ( id, level, cid ) { 
	
	new menu = menu_create ( "\y* VIP * \rFury.CsBlack \yDevil. Com", "AntiFurienVIPMenuGiver" );
	
	menu_additem ( menu, "\ySuper AWP \y[ \r2 Credite \y ]", "1", VIP_ACCESS );
	menu_additem ( menu, "\yDual Kriss \y[ \r4 Credite \y ]", "2", VIP_ACCESS );
	menu_additem ( menu, "\yDual Skull \y[ \r5 Credite \y ]", "3", VIP_ACCESS );
	menu_additem ( menu, "\yMinigun \y[ \r10 Credite \y ]", "4", VIP_ACCESS );
	menu_additem ( menu, "\yCart Blue \y[ \r17 Credite \y ]", "5", VIP_ACCESS );
	menu_additem ( menu, "\yCart Red \y[ \r17 Credite \y ]", "6", VIP_ACCESS );
	
	
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display ( id, menu, 0 );
	
	
	return 1;
}

public ShowFurienMenuVIP ( id, level, cid ) { 
	
	new menu = menu_create ( "\y* VIP * \rFury.CsBlack \yDevil. Com", "FurienVIPMenuGiver" );
	menu_additem ( menu, "\ySuper Knife VIP X2\y[ \r25 Credite \y ]", "1", VIP_ACCESS );
	menu_additem ( menu, "\ySuper Knife VIP X1  \y[ \r25 Credite \y ]", "2", VIP_ACCESS );
	
	menu_setprop ( menu, MPROP_EXIT, MEXIT_ALL );
	menu_display ( id, menu, 0 );
	
	
	return 1;
}

public FurienWeaponsMenuGiver ( id, menu, item ) {
	
	if( item == MENU_EXIT )
	{
		return 1;
	}
	
	new data [ 6 ], szName [ 64 ];
	new access, callback;
	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
	new key = str_to_num ( data );
	
	switch(key)
	{
		case 3:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				g_PlayerWeap [ id ] [ katana_knife ] = true;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				CurrentWeapon ( id );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		
		case 4:
		{
			new iMoney = get_user_credits ( id ) - 7;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = true;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				CurrentWeapon ( id );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		case 5:
		{
			new iMoney = get_user_credits ( id ) - 10;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = true;
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				CurrentWeapon ( id );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		case 6:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ infinity_knife ] = true;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				CurrentWeapon ( id );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		case 1:
		{
			new iMoney = get_user_credits ( id ) - 6;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				new szHealth = get_user_health ( id );
				if ( szHealth <= get_pcvar_num ( CvarMaxHealth ) ) {
					set_dhudmessage ( 31, 201, 31, 0.20, 0.90, 0, 6.0, 1.0 );
					show_dhudmessage ( id, "+100 HP" );
					fm_set_user_health ( id, get_user_health ( id ) + 100 );
					set_user_credits ( id, iMoney );
					return 1;
				}
				
				if ( szHealth > get_pcvar_num ( CvarMaxHealth ) ) {
					
					ColorChat ( id, GREEN, "%s^x01 Nu poti cumpara mai mult de^4 400 HP^3 .^4", szTag );
					return 1;
				}
			}
		}
		
		case 2:
		{
			new iMoney = get_user_credits ( id ) - 6;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				new szHealth = get_user_health ( id );
				if ( szHealth <= get_pcvar_num ( CvarMaxHealth ) ) {
					set_dhudmessage ( 31, 201, 31, 0.20, 0.90, 0, 6.0, 1.0 );
					show_dhudmessage ( id, "+50 HP" );
					fm_set_user_health ( id, get_user_health ( id ) + 50 );
					set_user_credits ( id, iMoney );
					return 1;
				}
				
				if ( szHealth > get_pcvar_num ( CvarMaxHealth ) ) {
					
					ColorChat ( id, GREEN, "%s^x01 Nu poti cumpara mai mult de^4 400 HP^3 .^4", szTag );
					return 1;
				}
			}
		}
		
		case 9:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_smokegrenade" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 10:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_flashbang" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 7:
		{
			new iMoney = get_user_credits ( id ) - 10;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_hegrenade" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}
		
		case 8:
		{
			set_task ( 0.1, "ShowFurienMenuVIP", id );
			return 1;
		}
	}
	
	menu_destroy ( menu );
	return 1;
	
}

public AntiFurienWeaponsMenuGiver ( id, menu, item ) {
	
	if( item == MENU_EXIT )
	{
		return 1;
	}
	
	new data [ 6 ], szName [ 64 ];
	new access, callback;
	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
	new key = str_to_num ( data );
	
	switch(key)
	{
		case 1:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_mp5navy" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_MP5NAVY, 200 );
				set_user_credits ( id, iMoney );
				
				g_PlayerWeap [ id ] [ dual_mp5 ] = true;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 2:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_m4a1" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_M4A1, 250 );
				set_user_credits ( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = true;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 3:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_sg550" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_SG550, 250 );
				set_user_credits ( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = true;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 4:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_m3" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_M3, 200 );
				set_user_credits ( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = true;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 5:
		{
			new iMoney = get_user_credits ( id ) - 15;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_p90" );
				fm_give_item ( id, "weapon_usp" );
				cs_set_user_bpammo ( id, CSW_USP, 100 );
				cs_set_user_bpammo ( id, CSW_P90, 200 );
				set_user_credits ( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = true;
				g_PlayerWeap [ id ] [ weapon_uspx ] = true;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = false;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}
		}
		
		case 6:
		{
			new iMoney = get_user_credits ( id ) - 6;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				new szHealth = get_user_health ( id );
				if ( szHealth <= get_pcvar_num ( CvarMaxHealth ) ) {
					set_dhudmessage ( 31, 201, 31, 0.20, 0.90, 0, 6.0, 1.0 );
					show_dhudmessage ( id, "+100 HP" );
					fm_set_user_health ( id, get_user_health ( id ) + 100 );
					set_user_credits ( id, iMoney );
					return 1;
				}
				
				if ( szHealth > get_pcvar_num ( CvarMaxHealth ) ) {
					
					ColorChat ( id, GREEN, "%s^x01 Nu poti cumpara mai mult de^4 400 HP^3 .^4", szTag );
					return 1;
				}
			}
		}
		
                case 7:
		{
			new iMoney = get_user_credits ( id ) - 10;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_hegrenade" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 8:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_smokegrenade" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 9:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_flashbang" );
				set_user_credits ( id, iMoney );
				return 1;
			}
		}

                case 10:
		{
			new iMoney = get_user_credits ( id ) - 1;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "item_thighpack" );
				set_user_credits( id, iMoney );
				return 1;
			}
		}
		
		case 11:
		{
			set_task ( 0.1, "ShowAntiFurienMenuVIP", id );
			return 1;
		}
	}
	
	menu_destroy ( menu );
	return 1;
	
}

public AntiFurienVIPMenuGiver ( id, menu, item ) {
	
	if ( item == MENU_EXIT )
	{
		return 1;
	}
	
	new data [ 6 ], szName [ 64 ];
	new access, callback;
	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
	new key = str_to_num ( data );
	
	switch(key)
	{    
		case 1:
		{
			new iMoney = get_user_credits ( id ) - 2;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{    
				fm_give_item ( id, "weapon_awp" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_AWP, 50 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = true;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}    
		}
		
		case 2:
		{
			new iMoney = get_user_credits ( id ) - 4;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_p90" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_P90, 200 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = true;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}    
		}
		
		case 3:
		{
			new iMoney = get_user_credits ( id ) - 5;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_sg552" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_SG552, 200 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = true;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}  
		}
		
		case 4:
		{
			new iMoney = get_user_credits ( id ) - 10;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_m249" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_M249, 300 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = true;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}    
		}
		
		case 5:
		{
			
			new iMoney = get_user_credits ( id ) - 17;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_mp5navy" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_MP5NAVY, 300 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = false;
				g_PlayerWeap [ id ] [ vip_cartblue ] = true;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}  
			
		}
		
		case 6:
		{
			
			new iMoney = get_user_credits ( id ) - 17;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{
				fm_give_item ( id, "weapon_mp5navy" );
				fm_give_item ( id, "weapon_elite" );
				cs_set_user_bpammo ( id, CSW_ELITE, 50 );
				cs_set_user_bpammo ( id, CSW_MP5NAVY, 300 );
				set_user_credits( id, iMoney );
				g_PlayerWeap [ id ] [ dual_mp5 ] = false;
				g_PlayerWeap [ id ] [ m16 ] = false;
				g_PlayerWeap [ id ] [ crossbow ] = false;
				g_PlayerWeap [ id ] [ m3_shoutgun ] = false;
				g_PlayerWeap [ id ] [ thompson ] = false;
				g_PlayerWeap [ id ] [ weapon_uspx ] = false;
				g_PlayerWeap [ id ] [ vip_dualkriss ] = false;
				g_PlayerWeap [ id ] [ vip_dualskull ] = false;
				g_PlayerWeap [ id ] [ vip_elite ] = true;
				g_PlayerWeap [ id ] [ vip_minigun ] = false;
				g_PlayerWeap [ id ] [ vip_awp ] = false;
				g_PlayerWeap [ id ] [ vip_cartred ] = true;
				g_PlayerWeap [ id ] [ vip_cartblue ] = false;
				
				DropWeapons ( id );
				CurrentWeapon ( id );
				return 1;
			}  
			
		}
	}
	
	menu_destroy ( menu );
	return 1;
}


public FurienVIPMenuGiver ( id, menu, item ) {
	
	if( item == MENU_EXIT )
	{
		return 1;
	}
	
	new data [ 6 ], szName [ 64 ];
	new access, callback;
	menu_item_getinfo ( menu, item, access, data,charsmax ( data ), szName,charsmax ( szName ), callback );
	new key = str_to_num ( data );
	
	switch(key)
	{    
		case 1:
		{
			new iMoney = get_user_credits ( id ) - 25;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{    
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = true;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = false;
				set_user_credits ( id, iMoney );
				CurrentWeapon ( id );
				return 1;
			}    
		}
		
		case 2:
		{
			new iMoney = get_user_credits ( id ) - 25;
			if( iMoney < 0 )
			{
				ColorChat ( id, GREEN, "%s^x01 Nu ai destule Credite Fury.CsBlackDevil.Com !", szTag );
				return 1;
				
			}
			else
			{    
				g_PlayerWeap [ id ] [ infinity_knife ] = false;
				g_PlayerWeap [ id ] [ katana_knife ] = false;
				g_PlayerWeap [ id ] [ double_katana_knife ] = false;
				g_PlayerWeap [ id ] [ super_knife ] = false;
				g_PlayerWeap [ id ] [ vip_hammer_knife ] = false;
				g_PlayerWeap [ id ] [ vip_axe_knife ] = true;
				set_user_credits ( id, iMoney );
				CurrentWeapon ( id );
				return 1;
			}    
		}
	}
	
	menu_destroy ( menu );
	return 1;
	
}

public CurrentWeapon ( id ) {
	
	new szWeapon = get_user_weapon ( id );
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ katana_knife ] ) {
		
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 0 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 0 ] );
		
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ double_katana_knife ]  ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 1 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 1 ] );
		
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ super_knife ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 2 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 2 ] );
		
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ infinity_knife ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 3 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 3 ] );
		
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ vip_hammer_knife ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 4 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 4 ] );
	}
	
	if ( szWeapon == CSW_KNIFE && g_PlayerWeap [ id ] [ vip_axe_knife ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 5 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 5 ] );
	}
	
	if ( szWeapon == CSW_MP5NAVY && g_PlayerWeap [ id ] [ dual_mp5 ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 6 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 6 ] );
	}
	
	if ( szWeapon == CSW_M4A1 && g_PlayerWeap [ id ] [ m16 ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 7 ] );
	}
	
	if ( szWeapon == CSW_SG550 && g_PlayerWeap [ id ] [ crossbow ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 8 ] );
	}
	
	if ( szWeapon == CSW_M3 && g_PlayerWeap [ id ] [ m3_shoutgun ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 9 ] );
	}
	
	if ( szWeapon == CSW_P90 && g_PlayerWeap [ id ] [ thompson ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 10 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 7 ] );
	}
	
	if ( szWeapon == CSW_ELITE && g_PlayerWeap [ id ] [ vip_elite ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 13 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 9 ] );
	}
	
	if ( szWeapon == CSW_AWP && g_PlayerWeap [ id ] [ vip_awp ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 12 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 9 ] );
	}
	
	if ( szWeapon == CSW_P90 && g_PlayerWeap [ id ] [ vip_dualkriss ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 16 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 13 ] );
	}
	
	if ( szWeapon == CSW_SG552 && g_PlayerWeap [ id ] [ vip_dualskull ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 18 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 15 ] );
	}
	
	if ( szWeapon == CSW_MP5NAVY && g_PlayerWeap [ id ] [ vip_cartblue ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 14 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 11 ] );
	}
	
	if ( szWeapon == CSW_MP5NAVY && g_PlayerWeap [ id ] [ vip_cartred ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 15 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 12 ] );
	}
	
	if ( szWeapon == CSW_M249 && g_PlayerWeap [ id ] [ vip_minigun ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 17 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 14 ] );
	}
	
	if ( szWeapon == CSW_USP && g_PlayerWeap [ id ] [ weapon_uspx ] ) {
		
		set_pev ( id, pev_viewmodel2, ViewModels [ 11 ] );
		set_pev ( id, pev_weaponmodel2, PlayerModels [ 8 ] );
	}
	
	return 1;
}

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) {
	
	if ( g_PlayerWeap [ iAttacker ] [ katana_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ double_katana_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 2.8);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ super_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 2.5);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ infinity_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 3.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ dual_mp5 ] && get_user_weapon ( iAttacker ) == CSW_MP5NAVY ) {
		
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ m16 ] && get_user_weapon ( iAttacker ) == CSW_M4A1 ) {
		
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ crossbow ] && get_user_weapon ( iAttacker ) == CSW_SG550 ) {
		
		SetHamParamFloat( 4, fDamage * 2.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ m3_shoutgun ] && get_user_weapon ( iAttacker ) == CSW_M3 ) {
		
		SetHamParamFloat( 4, fDamage * 1.8);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ thompson ] && get_user_weapon ( iAttacker ) == CSW_P90 ) {
		
		SetHamParamFloat( 4, fDamage * 2.4);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_elite ] && get_user_weapon ( iAttacker ) == CSW_ELITE ) {
		
		SetHamParamFloat( 4, fDamage * 2.7);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_dualkriss ] && get_user_weapon ( iAttacker ) == CSW_P90 ) {
		
		SetHamParamFloat( 4, fDamage * 3.0);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_hammer_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 3.5);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_axe_knife ] && get_user_weapon ( iAttacker ) == CSW_KNIFE ) {
		
		SetHamParamFloat( 4, fDamage * 3.5);
		return HAM_HANDLED;
		
	}
	
	if ( g_PlayerWeap [ iAttacker ] [ vip_cartblue ] && get_user_weapon ( iAttacker ) == CSW_MP5NAVY ) {
		
		SetHamParamFloat( 4, fDamage * 3.5);
		return HAM_HANDLED;
		
	}
	
	return HAM_IGNORED;
	
}

stock DropWeapons ( id )  {
	
	new wpn, wpnname [ 32 ];
	wpn = get_user_weapon ( id );
	if ( !( WPN_NOT_DROP & ( 1 << wpn) ) && get_weaponname ( wpn, wpnname, charsmax ( wpnname ) ) ) {
		engclient_cmd ( id, "drop", wpnname );
	}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
cdt.inc | Afiseaza codul
set_user_credits (id);
get_user_credits (id,cantitate);
colorchat.inc | Afiseaza codul
/* Fun functions
*
* by Numb
*
* This file is provided as is (no warranties).
*/

#if defined _colorchat_included
  #endinput
#endif
#define _colorchat_included

enum Color
{
	NORMAL = 1, // clients scr_concolor cvar color
	GREEN, // Green Color
	TEAM_COLOR, // Red, grey, blue
	GREY, // grey
	RED, // Red
	BLUE, // Blue
}

new TeamName[][] = 
{
	"",
	"TERRORIST",
	"CT",
	"SPECTATOR"
}

ColorChat(id, Color:type, const msg[], {Float,Sql,Result,_}:...)
{
	if( !get_playersnum() ) return;
	
	new message[256];

	switch(type)
	{
		case NORMAL: // clients scr_concolor cvar color
		{
			message[0] = 0x01;
		}
		case GREEN: // Green
		{
			message[0] = 0x04;
		}
		default: // White, Red, Blue
		{
			message[0] = 0x03;
		}
	}

	vformat(message[1], 251, msg, 4);

	// Make sure message is not longer than 192 character. Will crash the server.
	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\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
fakemeta.inc | Afiseaza codul
/**
 * This file provides various utility functions that use the Fakemeta module.
 * This file is created and maintained by VEN.
 * For support and issues, see:
 * http://forums.alliedmods.net/showthread.php?t=28284
 */
 

/* Fakemeta Utilities
*
* by VEN
*
* This file is provided as is (no warranties).
*/

#if !defined _fakemeta_included
	#include <fakemeta>
#endif

#if defined _fakemeta_util_included
	#endinput
#endif
#define _fakemeta_util_included

#include <xs>


/* Engine functions */

#define fm_precache_generic(%1) engfunc(EngFunc_PrecacheGeneric, %1)
/* stock fm_precache_generic(const file[])
	return engfunc(EngFunc_PrecacheGeneric, file) */

#define fm_precache_event(%1,%2) engfunc(EngFunc_PrecacheEvent, %1, %2)
/* stock fm_precache_event(type, const name[])
	return engfunc(EngFunc_PrecacheEvent, type, name) */

// ported by v3x
#define fm_drop_to_floor(%1) engfunc(EngFunc_DropToFloor, %1)
/* stock fm_drop_to_floor(entity)
	return engfunc(EngFunc_DropToFloor, entity) */

#define fm_force_use(%1,%2) dllfunc(DLLFunc_Use, %2, %1)
/* stock fm_force_use(user, used)
	return dllfunc(DLLFunc_Use, used, user) */

#define fm_entity_set_size(%1,%2,%3) engfunc(EngFunc_SetSize, %1, %2, %3)
/* stock fm_entity_set_size(index, const Float:mins[3], const Float:maxs[3])
	return engfunc(EngFunc_SetSize, index, mins, maxs) */

#define fm_get_decal_index(%1) engfunc(EngFunc_DecalIndex, %1)
/* stock fm_get_decal_index(const decalname[])
	return engfunc(EngFunc_DecalIndex, decalname) */

stock Float:fm_entity_range(ent1, ent2) {
	new Float:origin1[3], Float:origin2[3];
	pev(ent1, pev_origin, origin1);
	pev(ent2, pev_origin, origin2);

	return get_distance_f(origin1, origin2);
}

// based on KoST's port, upgraded version fits into the macros
#define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
/* stock fm_create_entity(const classname[])
	return engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, classname)) */

#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
/* stock fm_find_ent_by_class(index, const classname[])
	return engfunc(EngFunc_FindEntityByString, index, "classname", classname) */

stock fm_find_ent_by_owner(index, const classname[], owner, jghgtype = 0) {
	new strtype[11] = "classname", ent = index;
	switch (jghgtype) {
		case 1: strtype = "target";
		case 2: strtype = "targetname";
	}

	while ((ent = engfunc(EngFunc_FindEntityByString, ent, strtype, classname)) && pev(ent, pev_owner) != owner) {}

	return ent;
}

#define fm_find_ent_by_target(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "target", %2)
/* stock fm_find_ent_by_target(index, const target[])
	return engfunc(EngFunc_FindEntityByString, index, "target", target) */

#define fm_find_ent_by_tname(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "targetname", %2)
/* stock fm_find_ent_by_tname(index, const targetname[])
	return engfunc(EngFunc_FindEntityByString, index, "targetname", targetname) */

stock fm_find_ent_by_model(index, const classname[], const model[]) {
	new ent = index, mdl[72];
	while ((ent = fm_find_ent_by_class(ent, classname))) {
		pev(ent, pev_model, mdl, sizeof mdl - 1);
		if (equal(mdl, model))
			return ent;
	}

	return 0;
}

#define fm_find_ent_in_sphere(%1,%2,%3) engfunc(EngFunc_FindEntityInSphere, %1, %2, %3)
/* stock fm_find_ent_in_sphere(index, const Float:origin[3], Float:radius)
	return engfunc(EngFunc_FindEntityInSphere, index, origin, radius) */

#define fm_call_think(%1) dllfunc(DLLFunc_Think, %1)
/* stock fm_call_think(entity)
	return dllfunc(DLLFunc_Think, entity) */

#define fm_is_valid_ent(%1) pev_valid(%1)
/* stock fm_is_valid_ent(index)
	return pev_valid(index) */

stock fm_entity_set_origin(index, const Float:origin[3]) {
	new Float:mins[3], Float:maxs[3];
	pev(index, pev_mins, mins);
	pev(index, pev_maxs, maxs);
	engfunc(EngFunc_SetSize, index, mins, maxs);

	return engfunc(EngFunc_SetOrigin, index, origin);
}

#define fm_entity_set_model(%1,%2) engfunc(EngFunc_SetModel, %1, %2)
/* stock fm_entity_set_model(index, const model[])
	return engfunc(EngFunc_SetModel, index, model) */

// ported by v3x
#define fm_remove_entity(%1) engfunc(EngFunc_RemoveEntity, %1)
/* stock fm_remove_entity(index)
	return engfunc(EngFunc_RemoveEntity, index) */

#define fm_entity_count() engfunc(EngFunc_NumberOfEntities)
/* stock fm_entity_count()
	return engfunc(EngFunc_NumberOfEntities) */

#define fm_fake_touch(%1,%2) dllfunc(DLLFunc_Touch, %1, %2)
/* stock fm_fake_touch(toucher, touched)
	return dllfunc(DLLFunc_Touch, toucher, touched) */

#define fm_DispatchSpawn(%1) dllfunc(DLLFunc_Spawn, %1)
/* stock fm_DispatchSpawn(entity)
	return dllfunc(DLLFunc_Spawn, entity) */

// ported by v3x
#define fm_point_contents(%1) engfunc(EngFunc_PointContents, %1)
/* stock fm_point_contents(const Float:point[3])
	return engfunc(EngFunc_PointContents, point) */

stock fm_trace_line(ignoreent, const Float:start[3], const Float:end[3], Float:ret[3]) {
	engfunc(EngFunc_TraceLine, start, end, ignoreent == -1 ? 1 : 0, ignoreent, 0);

	new ent = get_tr2(0, TR_pHit);
	get_tr2(0, TR_vecEndPos, ret);

	return pev_valid(ent) ? ent : 0;
}

stock fm_trace_hull(const Float:origin[3], hull, ignoredent = 0, ignoremonsters = 0) {
	new result = 0;
	engfunc(EngFunc_TraceHull, origin, origin, ignoremonsters, hull, ignoredent > 0 ? ignoredent : 0, 0);

	if (get_tr2(0, TR_StartSolid))
		result += 1;
	if (get_tr2(0, TR_AllSolid))
		result += 2;
	if (!get_tr2(0, TR_InOpen))
		result += 4;

	return result;
}

stock fm_trace_normal(ignoreent, const Float:start[3], const Float:end[3], Float:ret[3]) {
	engfunc(EngFunc_TraceLine, start, end, 0, ignoreent, 0);
	get_tr2(0, TR_vecPlaneNormal, ret);

	new Float:fraction;
	get_tr2(0, TR_flFraction, fraction);
	if (fraction >= 1.0)
		return 0;

	return 1;
}

// note that for CS planted C4 has a "grenade" classname as well
stock fm_get_grenade_id(id, model[], len, grenadeid = 0) {
	new ent = fm_find_ent_by_owner(grenadeid, "grenade", id);
	if (ent && len > 0)
		pev(ent, pev_model, model, len);

	return ent;
}

#define fm_halflife_time() get_gametime()
/* stock Float:fm_halflife_time()
	return get_gametime() */

#define fm_attach_view(%1,%2) engfunc(EngFunc_SetView, %1, %2)
/* stock fm_attach_view(index, entity)
	return engfunc(EngFunc_SetView, index, entity) */

stock fm_playback_event(flags, invoker, eventindex, Float:delay, const Float:origin[3], const Float:angles[3], Float:fparam1, Float:fparam2, iparam1, iparam2, bparam1, bparam2) {
	return engfunc(EngFunc_PlaybackEvent, flags, invoker, eventindex, delay, origin, angles, fparam1, fparam2, iparam1, iparam2, bparam1, bparam2);
}

#define fm_eng_get_string(%1,%2,%3) engfunc(EngFunc_SzFromIndex, %1, %2, %3)
/* stock fm_eng_get_string(istring, string[], len)
	return engfunc(EngFunc_SzFromIndex, istring, string, len) */


/* HLSDK functions */

// the dot product is performed in 2d, making the view cone infinitely tall
stock bool:fm_is_in_viewcone(index, const Float:point[3]) {
	new Float:angles[3];
	pev(index, pev_angles, angles);
	engfunc(EngFunc_MakeVectors, angles);
	global_get(glb_v_forward, angles);
	angles[2] = 0.0;

	new Float:origin[3], Float:diff[3], Float:norm[3];
	pev(index, pev_origin, origin);
	xs_vec_sub(point, origin, diff);
	diff[2] = 0.0;
	xs_vec_normalize(diff, norm);

	new Float:dot, Float:fov;
	dot = xs_vec_dot(norm, angles);
	pev(index, pev_fov, fov);
	if (dot >= floatcos(fov * M_PI / 360))
		return true;

	return false;
}

stock bool:fm_is_visible(index, const Float:point[3], ignoremonsters = 0) {
	new Float:start[3], Float:view_ofs[3];
	pev(index, pev_origin, start);
	pev(index, pev_view_ofs, view_ofs);
	xs_vec_add(start, view_ofs, start);

	engfunc(EngFunc_TraceLine, start, point, ignoremonsters, index, 0);

	new Float:fraction;
	get_tr2(0, TR_flFraction, fraction);
	if (fraction == 1.0)
		return true;

	return false;
}


/* Engine_stocks functions */

stock fm_fakedamage(victim, const classname[], Float:takedmgdamage, damagetype) {
	new class[] = "trigger_hurt";
	new entity = fm_create_entity(class);
	if (!entity)
		return 0;

	new value[16];
	float_to_str(takedmgdamage * 2, value, sizeof value - 1);
	fm_set_kvd(entity, "dmg", value, class);

	num_to_str(damagetype, value, sizeof value - 1);
	fm_set_kvd(entity, "damagetype", value, class);

	fm_set_kvd(entity, "origin", "8192 8192 8192", class);
	fm_DispatchSpawn(entity);

	set_pev(entity, pev_classname, classname);
	fm_fake_touch(entity, victim);
	fm_remove_entity(entity);

	return 1;
}

#define fm_find_ent(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
/* stock fm_find_ent(index, const classname[])
	return engfunc(EngFunc_FindEntityByString, index, "classname", classname) */

#define fm_get_user_button(%1) pev(%1, pev_button)
/* stock fm_get_user_button(index)
	return pev(index, pev_button) */

#define fm_get_user_oldbutton(%1) pev(%1, pev_oldbuttons)
/* stock fm_get_user_oldbutton(index)
	return pev(index, pev_oldbuttons) */

#define fm_get_entity_flags(%1) pev(%1, pev_flags)
/* stock fm_get_entity_flags(index)
	return pev(index, pev_flags) */

#define fm_get_entity_distance(%1,%2) floatround(fm_entity_range(%1, %2))
/* stock fm_get_entity_distance(ent1, ent2)
	return floatround(fm_entity_range(ent1, ent2)) */

#define fm_get_grenade(%1) fm_get_grenade_id(%1, "", 0)
/* stock fm_get_grenade(id)
	return fm_get_grenade_id(id, "", 0) */

// optimization idea by Orangutanz
stock fm_get_brush_entity_origin(index, Float:origin[3]) {
	new Float:mins[3], Float:maxs[3];

	pev(index, pev_origin, origin);
	pev(index, pev_mins, mins);
	pev(index, pev_maxs, maxs);

	origin[0] += (mins[0] + maxs[0]) * 0.5;
	origin[1] += (mins[1] + maxs[1]) * 0.5;
	origin[2] += (mins[2] + maxs[2]) * 0.5;

	return 1;
}

// based on v3x's port, upgraded version returns number of removed entities
stock fm_remove_entity_name(const classname[]) {
	new ent = -1, num = 0;
	while ((ent = fm_find_ent_by_class(ent, classname)))
		num += fm_remove_entity(ent);

	return num;
}

stock fm_ViewContents(id) {
	new origin[3], Float:Orig[3];
	get_user_origin(id, origin, 3);
	IVecFVec(origin, Orig);

	return fm_point_contents(Orig);
}

stock fm_get_speed(entity) {
	new Float:Vel[3];
	pev(entity, pev_velocity, Vel);

	return floatround(vector_length(Vel));
}

stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
	new Float:RenderColor[3];
	RenderColor[0] = float(r);
	RenderColor[1] = float(g);
	RenderColor[2] = float(b);

	set_pev(entity, pev_renderfx, fx);
	set_pev(entity, pev_rendercolor, RenderColor);
	set_pev(entity, pev_rendermode, render);
	set_pev(entity, pev_renderamt, float(amount));

	return 1;
}

stock fm_set_entity_flags(index, flag, onoff) {
	new flags = pev(index, pev_flags);
	if ((flags & flag) > 0)
		return onoff == 1 ? 2 : 1 + 0 * set_pev(index, pev_flags, flags - flag);
	else
		return onoff == 0 ? 2 : 1 + 0 * set_pev(index, pev_flags, flags + flag);

	return 0;
}

stock fm_set_entity_visibility(index, visible = 1) {
	set_pev(index, pev_effects, visible == 1 ? pev(index, pev_effects) & ~EF_NODRAW : pev(index, pev_effects) | EF_NODRAW);

	return 1;
}

#define fm_get_entity_visibility(%1) (!(pev(%1, pev_effects) & EF_NODRAW))
/* stock fm_get_entity_visibility(index)
	return !(pev(index, pev_effects) & EF_NODRAW) */

stock fm_set_user_velocity(entity, const Float:vector[3]) {
	set_pev(entity, pev_velocity, vector);

	return 1;
}

#define fm_get_user_velocity(%1,%2) pev(%1, pev_velocity, %2)
/* stock fm_get_user_velocity(entity, Float:vector[3])
	return pev(entity, pev_velocity, vector) */


/* Fun functions */

#define fm_get_client_listen(%1,%2) engfunc(EngFunc_GetClientListening, %1, %2)
/* stock fm_get_client_listen(receiver, sender)
	return engfunc(EngFunc_GetClientListening, receiver, sender) */

#define fm_set_client_listen(%1,%2,%3) engfunc(EngFunc_SetClientListening, %1, %2, %3)
/* stock fm_set_client_listen(receiver, sender, listen)
	return engfunc(EngFunc_SetClientListening, receiver, sender, listen) */

stock fm_get_user_godmode(index) {
	new Float:val;
	pev(index, pev_takedamage, val);

	return (val == DAMAGE_NO);
}

stock fm_set_user_godmode(index, godmode = 0) {
	set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);

	return 1;
}

stock fm_set_user_armor(index, armor) {
	set_pev(index, pev_armorvalue, float(armor));

	return 1;
}

stock fm_set_user_health(index, health) {
	health > 0 ? set_pev(index, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, index);

	return 1;
}

stock fm_set_user_origin(index, /* const */ origin[3]) {
	new Float:orig[3];
	IVecFVec(origin, orig);

	return fm_entity_set_origin(index, orig);
}

stock fm_set_user_rendering(index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
	return fm_set_rendering(index, fx, r, g, b, render, amount);
}

stock fm_give_item(index, const item[]) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
		return 0;

	new ent = fm_create_entity(item);
	if (!pev_valid(ent))
		return 0;

	new Float:origin[3];
	pev(index, pev_origin, origin);
	set_pev(ent, pev_origin, origin);
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
	dllfunc(DLLFunc_Spawn, ent);

	new save = pev(ent, pev_solid);
	dllfunc(DLLFunc_Touch, ent, index);
	if (pev(ent, pev_solid) != save)
		return ent;

	engfunc(EngFunc_RemoveEntity, ent);

	return -1;
}

stock fm_set_user_maxspeed(index, Float:speed = -1.0) {
	engfunc(EngFunc_SetClientMaxspeed, index, speed);
	set_pev(index, pev_maxspeed, speed);

	return 1;
}

stock Float:fm_get_user_maxspeed(index) {
	new Float:speed;
	pev(index, pev_maxspeed, speed);

	return speed;
}

stock fm_set_user_gravity(index, Float:gravity = 1.0) {
	set_pev(index, pev_gravity, gravity);

	return 1;
}

stock Float:fm_get_user_gravity(index) {
	new Float:gravity;
	pev(index, pev_gravity, gravity);

	return gravity;
}

/* interferes with FM_Spawn enum, just use fm_DispatchSpawn
stock fm_spawn(entity) {
	return dllfunc(DLLFunc_Spawn, entity)
}
*/

stock fm_set_user_noclip(index, noclip = 0) {
	set_pev(index, pev_movetype, noclip == 1 ? MOVETYPE_NOCLIP : MOVETYPE_WALK);

	return 1;
}

#define fm_get_user_noclip(%1) (pev(%1, pev_movetype) == MOVETYPE_NOCLIP)
/* stock fm_get_user_noclip(index)
	return (pev(index, pev_movetype) == MOVETYPE_NOCLIP) */

// note: get_user_weapon will still return former weapon index
stock fm_strip_user_weapons(index) {
	new ent = fm_create_entity("player_weaponstrip");
	if (!pev_valid(ent))
		return 0;

	dllfunc(DLLFunc_Spawn, ent);
	dllfunc(DLLFunc_Use, ent, index);
	engfunc(EngFunc_RemoveEntity, ent);

	return 1;
}

stock fm_set_user_frags(index, frags) {
	set_pev(index, pev_frags, float(frags));

	return 1;
}


/* Cstrike functions */

stock fm_cs_user_spawn(index) {
	set_pev(index, pev_deadflag, DEAD_RESPAWNABLE);
	dllfunc(DLLFunc_Spawn, index);
	set_pev(index, pev_iuser1, 0);

	return 1;
}


/* Custom functions */

// based on Basic-Master's set_keyvalue, upgraded version accepts an optional classname (a bit more efficient if it is passed)
stock fm_set_kvd(entity, const key[], const value[], const classname[] = "") {
	if (classname[0])
		set_kvd(0, KV_ClassName, classname);
	else {
		new class[32];
		pev(entity, pev_classname, class, sizeof class - 1);
		set_kvd(0, KV_ClassName, class);
	}

	set_kvd(0, KV_KeyName, key);
	set_kvd(0, KV_Value, value);
	set_kvd(0, KV_fHandled, 0);

	return dllfunc(DLLFunc_KeyValue, entity, 0);
}

stock fm_find_ent_by_integer(index, pev_field, value) {
	static maxents;
	if (!maxents)
		maxents = global_get(glb_maxEntities);

	for (new i = index + 1; i < maxents; ++i) {
		if (pev_valid(i) && pev(i, pev_field) == value)
			return i;
	}

	return 0;
}

stock fm_find_ent_by_flags(index, pev_field, flags) {
	static maxents;
	if (!maxents)
		maxents = global_get(glb_maxEntities);

	for (new i = index + 1; i < maxents; ++i) {
		if (pev_valid(i) && (pev(i, pev_field) & flags) == flags)
			return i;
	}

	return 0;
}

stock Float:fm_distance_to_box(const Float:point[3], const Float:mins[3], const Float:maxs[3]) {
	new Float:dist[3];
	for (new i = 0; i < 3; ++i) {
		if (point > maxs)
			dist = point - maxs;
		else if (mins > point)
			dist = mins - point;
	}

	return vector_length(dist);
}

stock Float:fm_boxes_distance(const Float:mins1[3], const Float:maxs1[3], const Float:mins2[3], const Float:maxs2[3]) {
	new Float:dist[3];
	for (new i = 0; i < 3; ++i) {
		if (mins1[i] > maxs2[i])
			dist[i] = mins1[i] - maxs2[i];
		else if (mins2[i] > maxs1[i])
			dist[i] = mins2[i] - maxs1[i];
	}

	return vector_length(dist);
}

stock Float:fm_distance_to_boxent(entity, boxent) {
	new Float:point[3];
	pev(entity, pev_origin, point);

	new Float:mins[3], Float:maxs[3];
	pev(boxent, pev_absmin, mins);
	pev(boxent, pev_absmax, maxs);

	return fm_distance_to_box(point, mins, maxs);
}

stock Float:fm_boxents_distance(boxent1, boxent2) {
	new Float:mins1[3], Float:maxs1[3];
	pev(boxent1, pev_absmin, mins1);
	pev(boxent1, pev_absmax, maxs1);

	new Float:mins2[3], Float:maxs2[3];
	pev(boxent2, pev_absmin, mins2);
	pev(boxent2, pev_absmax, maxs2);

	return fm_boxes_distance(mins1, maxs1, mins2, maxs2);
}

// projects a center of a player's feet base (originally by P34nut, improved)
stock Float:fm_distance_to_floor(index, ignoremonsters = 1) {
	new Float:start[3], Float:dest[3], Float:end[3];
	pev(index, pev_origin, start);
	dest[0] = start[0];
	dest[1] = start[1];
	dest[2] = -8191.0;

	engfunc(EngFunc_TraceLine, start, dest, ignoremonsters, index, 0);
	get_tr2(0, TR_vecEndPos, end);

	pev(index, pev_absmin, start);
	new Float:ret = start[2] - end[2];

	return ret > 0 ? ret : 0.0;
}

// potential to crash (?) if used on weaponbox+weapon_* entity pair (use fm_remove_weaponbox instead)
stock fm_kill_entity(index) {
	set_pev(index, pev_flags, pev(index, pev_flags) | FL_KILLME);

	return 1;
}

// if weapon index isn't passed then assuming that it's the current weapon
stock fm_get_user_weapon_entity(id, wid = 0) {
	new weap = wid, clip, ammo;
	if (!weap && !(weap = get_user_weapon(id, clip, ammo)))
		return 0;
	
	new class[32];
	get_weaponname(weap, class, sizeof class - 1);

	return fm_find_ent_by_owner(-1, class, id);
}

// only weapon index or its name can be passed, if neither is passed then the current gun will be stripped
stock bool:fm_strip_user_gun(index, wid = 0, const wname[] = "") {
	new ent_class[32];
	if (!wid && wname[0])
		copy(ent_class, sizeof ent_class - 1, wname);
	else {
		new weapon = wid, clip, ammo;
		if (!weapon && !(weapon = get_user_weapon(index, clip, ammo)))
			return false;
		
		get_weaponname(weapon, ent_class, sizeof ent_class - 1);
	}

	new ent_weap = fm_find_ent_by_owner(-1, ent_class, index);
	if (!ent_weap)
		return false;

	engclient_cmd(index, "drop", ent_class);

	new ent_box = pev(ent_weap, pev_owner);
	if (!ent_box || ent_box == index)
		return false;

	dllfunc(DLLFunc_Think, ent_box);

	return true;
}

// only weapon index or its name can be passed, if neither is passed then the current gun will be transferred
stock bool:fm_transfer_user_gun(index1, index2, wid = 0, const wname[] = "") {
	new ent_class[32];
	if (!wid && wname[0])
		copy(ent_class, sizeof ent_class - 1, wname);
	else {
		new weapon = wid, clip, ammo;
		if (!weapon && !(weapon = get_user_weapon(index1, clip, ammo)))
			return false;
		
		get_weaponname(weapon, ent_class, sizeof ent_class - 1);
	}

	new ent_weap = fm_find_ent_by_owner(-1, ent_class, index1);
	if (!ent_weap)
		return false;

	engclient_cmd(index1, "drop", ent_class);

	new ent_box = pev(ent_weap, pev_owner);
	if (!ent_box || ent_box == index1)
		return false;

	set_pev(ent_box, pev_flags, pev(ent_box, pev_flags) | FL_ONGROUND);
	dllfunc(DLLFunc_Touch, ent_box, index2);
	if (pev(ent_weap, pev_owner) != index2)
		return false;

	return true;
}

stock bool:fm_is_ent_visible(index, entity, ignoremonsters = 0) {
	new Float:start[3], Float:dest[3];
	pev(index, pev_origin, start);
	pev(index, pev_view_ofs, dest);
	xs_vec_add(start, dest, start);

	pev(entity, pev_origin, dest);
	engfunc(EngFunc_TraceLine, start, dest, ignoremonsters, index, 0);

	new Float:fraction;
	get_tr2(0, TR_flFraction, fraction);
	if (fraction == 1.0 || get_tr2(0, TR_pHit) == entity)
		return true;

	return false;
}

// ported from AMXX's core get_user_origin(..., 3) (suggested by Greenberet)
stock fm_get_aim_origin(index, Float:origin[3]) {
	new Float:start[3], Float:view_ofs[3];
	pev(index, pev_origin, start);
	pev(index, pev_view_ofs, view_ofs);
	xs_vec_add(start, view_ofs, start);

	new Float:dest[3];
	pev(index, pev_v_angle, dest);
	engfunc(EngFunc_MakeVectors, dest);
	global_get(glb_v_forward, dest);
	xs_vec_mul_scalar(dest, 9999.0, dest);
	xs_vec_add(start, dest, dest);

	engfunc(EngFunc_TraceLine, start, dest, 0, index, 0);
	get_tr2(0, TR_vecEndPos, origin);

	return 1;
}

stock bool:fm_get_user_longjump(index) {
	new value[2];
	engfunc(EngFunc_GetPhysicsKeyValue, index, "slj", value, 1);
	switch (value[0]) {
		case '1': return true;
	}

	return false;
}

stock fm_set_user_longjump(index, bool:longjump = true, bool:tempicon = true) {
	if (longjump == fm_get_user_longjump(index))
		return;

	if (longjump) {
		engfunc(EngFunc_SetPhysicsKeyValue, index, "slj", "1");
		if (tempicon) {
			static msgid_itempickup;
			if (!msgid_itempickup)
				msgid_itempickup = get_user_msgid("ItemPickup");

			message_begin(MSG_ONE, msgid_itempickup, _, index);
			write_string("item_longjump");
			message_end();
		}
	}
	else
		engfunc(EngFunc_SetPhysicsKeyValue, index, "slj", "0");
}

#define WEAPON_SUIT 31

stock bool:fm_get_user_suit(index) {
	return bool:(!(!(pev(index, pev_weapons) & (1<<WEAPON_SUIT)))); // i'm not insane, this is a trick!
}

stock fm_set_user_suit(index, bool:suit = true, bool:sound = true) {
	new weapons = pev(index, pev_weapons);
	if (!suit)
		set_pev(index, pev_weapons, weapons & ~(1<<WEAPON_SUIT));
	else if (!(weapons & (1<<WEAPON_SUIT))) {
		set_pev(index, pev_weapons, weapons | (1<<WEAPON_SUIT));
		if (sound)
			emit_sound(index, CHAN_VOICE, "items/tr_kevlar.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
	}
}

#define FEV_RELIABLE (1<<1)
#define FEV_GLOBAL (1<<2)

// removes all created decals and players' corpses from the world
// set a specific index to remove decals only for the given client
stock fm_cs_remove_decals(index = 0) {
	static eventindex_decal_reset;
	if (!eventindex_decal_reset)
		eventindex_decal_reset = engfunc(EngFunc_PrecacheEvent, 1, "events/decal_reset.sc");

	new flags = FEV_RELIABLE;
	if (!index)
		flags |= FEV_GLOBAL;

	engfunc(EngFunc_PlaybackEvent, flags, index, eventindex_decal_reset, 0.0, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0}, 0.0, 0.0, 0, 0, 0, 0);
}

// checks whether the entity's classname is equal to the passed classname
stock bool:fm_is_ent_classname(index, const classname[]) {
	if (!pev_valid(index))
		return false;

	new class[32];
	pev(index, pev_classname, class, sizeof class - 1);
	if (equal(class, classname))
		return true;

	return false;
}

// the same as AMXX's core user_kill but fixes the issue when the scoreboard doesn't update immediately if flag is set to 1
stock fm_user_kill(index, flag = 0) {
	if (flag) {
		new Float:frags;
		pev(index, pev_frags, frags);
		set_pev(index, pev_frags, ++frags);
	}

	dllfunc(DLLFunc_ClientKill, index);

	return 1;
}

// returns a degree angle between player-to-point and player's view vectors
stock Float:fm_get_view_angle_diff(index, const Float:point[3]) {
	new Float:vec[3], Float:ofs[3], Float:aim[3];
	pev(index, pev_origin, vec);
	pev(index, pev_view_ofs, ofs);
	xs_vec_add(vec, ofs, vec);
	xs_vec_sub(point, vec, vec);
	xs_vec_normalize(vec, vec);

	pev(index, pev_v_angle, aim);
	engfunc(EngFunc_MakeVectors, aim);
	global_get(glb_v_forward, aim);

	return xs_vec_angle(vec, aim);
}

// gets a weapon type of the linked to weaponbox weapon_* entity
stock fm_get_weaponbox_type(entity) {
	static max_clients, max_entities;
	if (!max_clients)
		max_clients = global_get(glb_maxClients);
	if (!max_entities)
		max_entities = global_get(glb_maxEntities);

	for (new i = max_clients + 1; i < max_entities; ++i) {
		if (pev_valid(i) && entity == pev(i, pev_owner)) {
			new wname[32];
			pev(i, pev_classname, wname, sizeof wname - 1);
			return get_weaponid(wname);
		}
	}

	return 0;
}

// safe removal of weaponbox+weapon_* entity pair (delay =~= 0.03 second)
#define fm_remove_weaponbox(%1) dllfunc(DLLFunc_Think, %1)
/* stock fm_remove_weaponbox(entity)
	return dllfunc(DLLFunc_Think, entity) */
dhudmessage.inc | Afiseaza codul
#if defined _dhudmessage_included
    #endinput
#endif

#define _dhudmessage_included

#include <amxmodx>

stock __dhud_color;
stock __dhud_x;
stock __dhud_y;
stock __dhud_effect;
stock __dhud_fxtime;
stock __dhud_holdtime;
stock __dhud_fadeintime;
stock __dhud_fadeouttime;
stock __dhud_reliable;

stock set_dhudmessage( red = 0, green = 160, blue = 0, Float:x = -1.0, Float:y = 0.65, effects = 2, Float:fxtime = 6.0, Float:holdtime = 3.0, Float:fadeintime = 0.1, Float:fadeouttime = 1.5, bool:reliable = false )
{
    #define clamp_byte(%1)       ( clamp( %1, 0, 255 ) )
    #define pack_color(%1,%2,%3) ( %3 + ( %2 << 8 ) + ( %1 << 16 ) )

    __dhud_color       = pack_color( clamp_byte( red ), clamp_byte( green ), clamp_byte( blue ) );
    __dhud_x           = _:x;
    __dhud_y           = _:y;
    __dhud_effect      = effects;
    __dhud_fxtime      = _:fxtime;
    __dhud_holdtime    = _:holdtime;
    __dhud_fadeintime  = _:fadeintime;
    __dhud_fadeouttime = _:fadeouttime;
    __dhud_reliable    = _:reliable;

    return 1;
}

stock show_dhudmessage( index, const message[], any:... )
{
    new buffer[ 128 ];
    new numArguments = numargs();

    if( numArguments == 2 )
    {
        send_dhudMessage( index, message );
    }
    else if( index || numArguments == 3 )
    {
        vformat( buffer, charsmax( buffer ), message, 3 );
        send_dhudMessage( index, buffer );
    }
    else
    {
        new playersList[ 32 ], numPlayers;
        get_players( playersList, numPlayers, "ch" );

        if( !numPlayers )
        {
            return 0;
        }

        new Array:handleArrayML = ArrayCreate();

        for( new i = 2, j; i < numArguments; i++ )
        {
            if( getarg( i ) == LANG_PLAYER )
            {
                while( ( buffer[ j ] = getarg( i + 1, j++ ) ) ) {}
                j = 0;

                if( GetLangTransKey( buffer ) != TransKey_Bad )
                {
                    ArrayPushCell( handleArrayML, i++ );
                }
            }
        }

        new size = ArraySize( handleArrayML );

        if( !size )
        {
            vformat( buffer, charsmax( buffer ), message, 3 );
            send_dhudMessage( index, buffer );
        }
        else
        {
            for( new i = 0, j; i < numPlayers; i++ )
            {
                index = playersList[ i ];

                for( j = 0; j < size; j++ )
                {
                    setarg( ArrayGetCell( handleArrayML, j ), 0, index );
                }

                vformat( buffer, charsmax( buffer ), message, 3 );
                send_dhudMessage( index, buffer );
            }
        }

        ArrayDestroy( handleArrayML );
    }

    return 1;
}

stock send_dhudMessage( const index, const message[] )
{
    message_begin( __dhud_reliable ? ( index ? MSG_ONE : MSG_ALL ) : ( index ? MSG_ONE_UNRELIABLE : MSG_BROADCAST ), SVC_DIRECTOR, _, index );
    {
        write_byte( strlen( message ) + 31 );
        write_byte( DRC_CMD_MESSAGE );
        write_byte( __dhud_effect );
        write_long( __dhud_color );
        write_long( __dhud_x );
        write_long( __dhud_y );
        write_long( __dhud_fadeintime );
        write_long( __dhud_fadeouttime );
        write_long( __dhud_holdtime );
        write_long( __dhud_fxtime );
        write_string( message );
    }
    message_end();
}



Nu merge deloc, nu imi arata meniul :(
Last edited by wicked. on 14 Aug 2013, 23:16, edited 1 time in total.
CS.XTREMEPLAY.RO # Cautam admini
Image
Forum : Click
RadioxPlay.Net : Click
User avatar
-Turbo-
Membru, skill +4
Membru, skill +4
Posts: 1664
Joined: 11 Nov 2012, 01:28
Detinator Steam: Da
CS Status: Bored !
Detinator server CS: Da
SteamID: kingforbidden
Reputatie: Utilizator neserios ( tepar )
Restrictie moderator
Ban scos ( achitat )
Nume anterior: Turbo19973
Location: Botosani
Has thanked: 49 times
Been thanked: 212 times

14 Aug 2013, 23:15

comanda este /shopulet
User avatar
wicked.
Membru, skill 0
Membru, skill 0
Posts: 55
Joined: 22 Feb 2013, 13:23
Detinator Steam: Da
CS Status: Cautam admini
Detinator server CS: MIX/CS.XTREMEPLAY.RO
Has thanked: 9 times
Contact:

14 Aug 2013, 23:17

Nu functioneaza :|
CS.XTREMEPLAY.RO # Cautam admini
Image
Forum : Click
RadioxPlay.Net : Click
Post Reply

Return to “Cereri”

  • Information