Cerere plugin shop only furien&ct[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
Adventx
Membru, skill +4
Membru, skill +4
Posts: 1785
Joined: 17 Sep 2013, 21:44
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 128 times
Been thanked: 142 times
Contact:

24 Mar 2014, 21:11

HyperioN. wrote:Poftim :
SMA | Afiseaza codul
#include < amxmodx >
#include < amxmisc>
#include < engine >
#include < cstrike >
#include < fun >
#include < hamsandwich >
#include < fakemeta_util >

#pragma tabsize 0

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

#define PLUGIN "Furien Shop"
#define VERSION "0.1"
#define AUTHOR "HyperioN."

#define IsPlayer(%0)    ( 1 <= %0 <= g_iMaxPlayers )


// -- | Shop | -- //

new const Prefix[  ] = "^x04[SHOP]^x01";

// == | Super-Knife | == //

new bool:Katana [ 33 ];

new v_Katana [ 66 ] = "models/v_katana.mdl";
new p_Katana [ 66 ] = "models/p_katana.mdl";


// -- | Take Damage | -- //
new g_iMaxPlayers;

new bool: HaveNoFlash [ 33 ];
new g_msgScreenFade;


// -- | Pet | -- //
#define fm_precache_model(%1)           engfunc(EngFunc_PrecacheModel,%1)
#define fm_precache_sound(%1)           engfunc(EngFunc_PrecacheSound,%1)
#define fm_remove_entity(%1)            engfunc(EngFunc_RemoveEntity, %1)
#define fm_find_ent_by_class(%1,%2)     engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_set_user_gravity(%1,%2)      set_pev(%1,pev_gravity,%2)
 
#define PET_FLAG                        pev_flTimeStepSound
#define PET_KILLED                      389
 
static const pet_model[] = "models/stukabat.mdl"
static const pet_sounds[][] = { "bullchicken/bc_die1.wav", "bullchicken/bc_die2.wav", "bullchicken/bc_die3.wav", "bullchicken/bc_idle1.wav", "bullchicken/bc_pain3.wav" }
static const pet_idle = 13
static const pet_run = 13
static const pet_die = 5
static const Float:pet_idle_speed = 0.3
static const Float:pet_run_speed = 10.0
static const Float:player_gravity = 0.65
 
new item_pet[33]
new item_have[33]
new item_at_spawn[33]
new Float:item_leaptime[33]
new bool:g_has_speed[33]
 
new maxplayers, g_msgSayText





public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	//Register Shop
	register_clcmd("say /shop", "FurienShop" );
	register_clcmd("say shop", "FurienShop" );
	register_clcmd("say_team /shop", "FurienShop" );
	register_clcmd("say_team shop", "FurienShop" );
	
	//Register Arme
	register_event ( "CurWeapon", "CurrWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", true );
	
	register_event("ScreenFade", "eventFlash", "be", "4=255", "5=255", "6=255", "7>199")
	
	
	g_iMaxPlayers = get_maxplayers ( 	);
	g_msgScreenFade = get_user_msgid("ScreenFade")
	
	
	//Pet
	 register_event("DeathMsg","DeathMsg","a")
        register_event("HLTV","HLTV", "a","1=0", "2=0")
       
        register_forward(FM_Think,"FM_Think_hook")
        register_forward(FM_PlayerPreThink, "FM_PlayerPreThink_hook")
       
        RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
       
        maxplayers = get_maxplayers()
        g_msgSayText = get_user_msgid("SayText")
}


public plugin_precache ( ) {
	
	//Super-Knife
	precache_model ( v_Katana );
	precache_model ( p_Katana );
	
	//Pet
	new i = 0
       
        for(i = 0; i < sizeof pet_sounds; i++)
                fm_precache_sound(pet_sounds)
       
        fm_precache_model(pet_model)
}



public Spawn( id ) {
	
	
	strip_user_weapons(id)
	give_item(id, "weapon_knife" );
	
	HaveNoFlash [ id ] = false;
	Katana [ id ] = false;
	
}
public CurrWeapon ( id ) {
	
	if ( Katana [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, v_Katana );
		set_pev ( id, pev_weaponmodel2, p_Katana );
	}
}

public FurienShop ( id ) {
	
	if ( cs_get_user_team(id) == CS_TEAM_T ) {
		
		ShopFurien( id )
	}
	
	if ( cs_get_user_team (id ) == CS_TEAM_CT ) {
		
		ShopAntiFurien ( id )
	}
}

public ShopAntiFurien ( id ) {   
	
	new Temp[101], credits = get_user_credits(id); 
	
	formatex(Temp,100, "\yShop Anti-Furien \r[ v0.1 ]\y:^nCreditele Tale:\r %d", credits); 
	new menu = menu_create(Temp, "AntiFurien")
	
	menu_additem(menu, "\y50AP [\r3 Credite\y]", "1", 0);
	menu_additem(menu, "\y50HP [\r3 Credite\y]", "2", 0);
	menu_additem(menu, "\y100HP + 100 AP [\r9 Credite\y]", "3", 0);
	menu_additem(menu, "\yDefuse Kit [\r5 Credite\y]", "4", 0);
	menu_additem(menu, "\yHe Grenade [\r3 Credite\y]", "5", 0);
	menu_additem(menu, "\yNo Flash [\r5 Credite\y]^n", "6", 0);
	menu_additem(menu, "\yAnimal-Pet [\r15 Credite\y]", "7", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public ShopFurien( id ) {    
	
	new Temp[101], credits = get_user_credits(id); 
	
	formatex(Temp,100, "\yShop Furien \r[ v0.1 ]\y:^nCreditele Tale:\r %d", credits); 
	new menu = menu_create(Temp, "Furien")
	
	menu_additem(menu, "\y50AP [\r3 Credite\y]", "1", 0);
	menu_additem(menu, "\y50HP [\r3 Credite\y]", "2", 0 );
	menu_additem(menu, "\y100HP + 100AP [\r9 Credite\y]", "3", 0 );
	menu_additem(menu, "\yHe Grenade [\r3 Credite\y]", "4", 0);
	menu_additem(menu, "\yNo Flash [\r5 Credite\y]", "5", 0);
	menu_additem(menu, "\yKnife Katata [\r15 Credite\y]", "6", 0);
	
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public Furien(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:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix );
					return 1;
					
				}
				else
				{ 
					new Armor = get_user_armor ( id );
					if ( Armor < 300 ) {
						fm_set_user_armor( id, get_user_armor ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Armor >= 300 ) {
						
						ColorChat( id, "%s Ai atins limita de AP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 2:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 HP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		} 
		
		case 3:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 9;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 100 );
						fm_set_user_armor( id, get_user_armor ( id ) + 100 ); 
						ColorChat(id, "%s Ai cumparat 100 HP si 100 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 4:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					if( get_user_weapon(id) == CSW_HEGRENADE)
					{
						ColorChat(id, "%s Detii deja un HE.", Prefix );
					}
					else
					{
						fm_give_item(id, "weapon_hegrenade");
						set_user_credits(id, iCredits);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 5:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					HaveNoFlash [ id ] = true;
					
					ColorChat(id, "%s Ai cumparat No Flash.", Prefix );
					set_user_credits(id, iCredits);
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 6:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 15;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					Katana [ id ] = true;
						CurrWeapon(id);
					
					ColorChat(id, "%s Ai cumparat Knife Katana.", Prefix );
					set_user_credits(id, iCredits);
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		
	}
	menu_destroy(menu);
	return 1;
}

public AntiFurien(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:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix );
					return 1;
					
				}
				else
				{ 
					new Armor = get_user_armor ( id );
					if ( Armor < 300 ) {
						fm_set_user_armor( id, get_user_armor ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Armor >= 300 ) {
						
						ColorChat( id, "%s Ai atins limita de AP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 2:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 HP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		} 
		
		case 3:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 9;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 100 );
						fm_set_user_armor( id, get_user_armor ( id ) + 100 ); 
						ColorChat(id, "%s Ai cumparat 100 HP si 100 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 4:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					fm_give_item ( id, "item_thighpack" );
					ColorChat(id, "%s Ai cumparat Defuse KIT.", Prefix );
					set_user_credits ( id, iCredits );
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 5:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					if( get_user_weapon(id) == CSW_HEGRENADE)
					{
						ColorChat(id, "%s Detii deja un HE.", Prefix );
					}
					else
					{
						fm_give_item(id, "weapon_hegrenade");
						set_user_credits(id, iCredits);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 6:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					HaveNoFlash [ id ] = true;
					
					ColorChat(id, "%s Ai cumparat No Flash.", Prefix );
					set_user_credits(id, iCredits);
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
			
		}
		
		
		case 7:
		{
			buypet(id);	
		}
	}
	menu_destroy(menu);
	return 1;
}

public eventFlash(id)
{
	if(is_user_connected(id) && HaveNoFlash [ id ])
	{
		message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, id)
		write_short(1)
		write_short(1)
		write_short(1)
		write_byte(0)
		write_byte(0)
		write_byte(0)
		write_byte(255)
		message_end()
	}
}

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) 
{
	if ( IsPlayer ( iAttacker ) ) {
		if( iInflictor == iAttacker && Katana [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
			SetHamParamFloat( 4, fDamage * 2.0);
			return HAM_HANDLED;
		}
	}
	
	return HAM_IGNORED;
}

public HLTV()
{
        new entid = -1
        while((entid = fm_find_ent_by_class(entid, "zp_bat")))
        {
                if(pev(entid,PET_FLAG) == PET_KILLED)
                {
                        fm_remove_entity(entid)
                }              
        }      
}
 
public DeathMsg()
{
        new id = read_data(2)
       
        if(item_have[id])
        {
                kill_pet(id)
                item_have[id] = 0
        }
               
        if(cs_get_user_team(id) == CS_TEAM_T)
                item_have[id] = 0
       
        if(g_has_speed[id])
                g_has_speed[id] = false
}
 
public buypet(id)
{
        if (!is_user_alive(id))
        {
                ColorChat(id, "%s Nu poti cumpara pet cand esti mort.", Prefix);
                return PLUGIN_HANDLED;
        }
 
        if (cs_get_user_team(id) != CS_TEAM_CT)
        {
                ColorChat(id, "%s Numai^x03 Anti-furienii^x01 pot cumpara pet.", Prefix);
                return PLUGIN_HANDLED;
        }
       
        if (!item_have[id])
        {      
                if (get_user_credits(id) >= 15)
                {
                        set_user_credits(id, get_user_credits(id) - 15);
                        ColorChat(id, "%s Ai cumparat^x03 PET.", Prefix);
                        create_pet(id)
                }else
                        ColorChat(id, "%s Nu ai destule^x03 credite.", Prefix);
        }else
                        ColorChat(id, "%s Detii deja un pet!", Prefix);
               
        return PLUGIN_CONTINUE;
}
 
public kill_pet(id)
{
        if(pev_valid(item_pet[id]))
        {
                set_pev(item_pet[id],pev_sequence,pet_die)
                set_pev(item_pet[id],pev_gaitsequence,pet_die)
                set_pev(item_pet[id],pev_framerate,1.0)
               
                set_pev(item_pet[id],PET_FLAG,PET_KILLED)
               
                fm_drop_to_floor(item_pet[id])
               
                item_have[id] = 0
                g_has_speed[id] = false
        }      
        item_pet[id] = 0
}
 
public player_spawn(player)
{
        if(is_user_alive(player))
        {
                if (cs_get_user_team(player) != CS_TEAM_CT)
                {
                        kill_pet(player)
                        item_have[player] = 0
                }
                if(item_have[player])
                {
                        fm_set_user_gravity(player, player_gravity)
                        set_user_health(player, get_user_health(player) + 250)
                        set_user_armor(player, get_user_armor(player) + 350)
                        g_has_speed[player] = true
                }
                else if(item_at_spawn[player])
                {
                        create_pet(player)
                        item_at_spawn[player] = 0
                        g_has_speed[player] = true
                }
        }
}
 
public create_pet(id)
{
        if(item_have[id])
        {
                ColorChat(id, "%s Detii deja un^x03 pet.", Prefix)
                return PLUGIN_HANDLED
        }
        else if(!is_user_alive(id))
        {
                ColorChat(id, "%s Petul iti va aparea runda viitoare.", Prefix)
                item_at_spawn[id] = 1
                return PLUGIN_HANDLED
        }      
        else
        {
                item_pet[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"))
                set_pev(item_pet[id],pev_classname,"zp_bat")
               
                engfunc(EngFunc_SetModel,item_pet[id],pet_model)
               
                new Float:origin[3]
                pev(id,pev_origin,origin)                      
               
                set_pev(item_pet[id],pev_origin,origin)
                set_pev(item_pet[id],pev_solid,SOLID_TRIGGER)
                set_pev(item_pet[id],pev_movetype,MOVETYPE_FLY)
                set_pev(item_pet[id],pev_owner,33)
                set_pev(item_pet[id],pev_nextthink,1.0)
                set_pev(item_pet[id],pev_sequence,0)
                set_pev(item_pet[id],pev_gaitsequence,0)
                set_pev(item_pet[id],pev_framerate,1.0)
               
                set_pev(item_pet[id], pev_renderfx, kRenderFxGlowShell)
                set_pev(item_pet[id], pev_rendercolor, Float:{0.0, 0.0, 200.0})
               
                fm_set_user_gravity(id,player_gravity)
               
                set_user_health(id, get_user_health(id) + 250)
                set_user_armor(id, get_user_armor(id) + 350)
               
                engfunc(EngFunc_EmitSound,item_pet[id],CHAN_AUTO,pet_sounds[random_num(0,sizeof pet_sounds - 1)],1.0, 1.2, 0, PITCH_NORM)              
               
                item_have[id] = 1
                g_has_speed[id] = true
        }
        return PLUGIN_HANDLED
}
 
public FM_Think_hook(ent)
{
        for(new i = 0; i <= maxplayers; i++)
        {
                if(ent == item_pet)
                {
                        static Float:origin[3]
                        static Float:origin2[3]
                        static Float:velocity[3]
                        pev(ent,pev_origin,origin2)
                        get_offset_origin_body(i,Float:{50.0,0.0,0.0},origin)
                       
                        if(get_distance_f(origin,origin2) > 300.0)
                        {
                                set_pev(ent,pev_origin,origin)
                        }
                       
                        else if(get_distance_f(origin,origin2) > 80.0)
                        {
                                get_speed_vector(origin2,origin,250.0,velocity)
                                set_pev(ent,pev_velocity,velocity)
                                if(pev(ent,pev_sequence) != pet_run || pev(ent,pev_framerate) != pet_run_speed)
                                {
                                        set_pev(ent,pev_sequence,pet_run)
                                        set_pev(ent,pev_gaitsequence,pet_run)
                                        set_pev(ent,pev_framerate,pet_run_speed)
                                }
                        }
                       
                        else if(get_distance_f(origin,origin2) < 75.0)
                        {
                                if(pev(ent,pev_sequence) != pet_idle || pev(ent,pev_framerate) != pet_idle_speed)
                                {
                                        set_pev(ent,pev_sequence,pet_idle)
                                        set_pev(ent,pev_gaitsequence,pet_idle)
                                        set_pev(ent,pev_framerate,pet_idle_speed)
                                }
                                set_pev(ent,pev_velocity,Float:{0.0,0.0,0.0})
                        }
                        pev(i,pev_origin,origin)
                        origin[2] = origin2[2]
                        entity_set_aim(ent,origin)                     
                        set_pev(ent,pev_nextthink,1.0)
                        break
                }
        }
}
 
public FM_PlayerPreThink_hook(id)
{
        if (!is_user_alive(id))
                return
       
        if(allowed_leap(id))
        {
                static Float:velocity[3]
                velocity_by_aim(id, 500, velocity)
               
                velocity[2] = 300.0
               
                set_pev(id, pev_velocity, velocity)
               
                item_leaptime[id] = get_gametime()
        }
}
 
public allowed_leap(id)
{      
        if(!item_have[id])
                return false
       
        if (!(pev(id, pev_flags) & FL_ONGROUND) || fm_get_speed(id) < 80)
                return false
       
        static buttons
        buttons = pev(id, pev_button)
       
        if (!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))
                return false
       
        if (get_gametime() - item_leaptime[id] < 3)
                return false
       
        return true
}
 
public is_a_player(ent)
{
        if(ent > 0 && ent < 33)
                return true
       
        return false
}
 
public remove_pet(ent)
{
        if(pev_valid(ent))
                fm_remove_entity(ent)
}
 
stock get_offset_origin_body(ent,const Float:offset[3],Float:origin[3])
{
        if(!pev_valid(ent))
                return 0;
       
        new Float:angle[3]
        pev(ent,pev_angles,angle)
       
        pev(ent,pev_origin,origin)
       
        origin[0] += floatcos(angle[1],degrees) * offset[0]
        origin[1] += floatsin(angle[1],degrees) * offset[0]
       
        origin[1] += floatcos(angle[1],degrees) * offset[1]
        origin[0] += floatsin(angle[1],degrees) * offset[1]
       
        return 1;
}
 
stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
        new_velocity[0] = origin2[0] - origin1[0]
        new_velocity[1] = origin2[1] - origin1[1]
        new_velocity[2] = origin2[2] - origin1[2]
        new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
        new_velocity[0] *= num
        new_velocity[1] *= num
        new_velocity[2] *= num
       
        return 1;
}
 
stock entity_set_aim(ent,const Float:origin2[3],bone=0)
{
        if(!pev_valid(ent))
                return 0;
       
        static Float:origin[3]
        origin[0] = origin2[0]
        origin[1] = origin2[1]
        origin[2] = origin2[2]
       
        static Float:ent_origin[3], Float:angles[3]
       
        if(bone)
                engfunc(EngFunc_GetBonePosition,ent,bone,ent_origin,angles)
        else
                pev(ent,pev_origin,ent_origin)
       
        origin[0] -= ent_origin[0]
        origin[1] -= ent_origin[1]
        origin[2] -= ent_origin[2]
       
        static Float:v_length
        v_length = vector_length(origin)
       
        static Float:aim_vector[3]
        aim_vector[0] = origin[0] / v_length
        aim_vector[1] = origin[1] / v_length
        aim_vector[2] = origin[2] / v_length
       
        static Float:new_angles[3]
        vector_to_angle(aim_vector,new_angles)
       
        new_angles[0] *= -1
       
        if(new_angles[1]>180.0) new_angles[1] -= 360
        if(new_angles[1]<-180.0) new_angles[1] += 360
        if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999
       
        set_pev(ent,pev_angles,new_angles)
        set_pev(ent,pev_fixangle,1)
       
        return 1;
}
 
stock ColorChat(id, const input[], any:...)
{
        static iPlayersNum[32], iCount; iCount = 1
        static szMsg[191]
       
        vformat(szMsg, charsmax(szMsg), input, 3)
       
        replace_all(szMsg, 190, "/g", "^x04") // green txt
        replace_all(szMsg, 190, "/y", "^x01") // orange txt
        replace_all(szMsg, 190, "/ctr", "^x03") // team txt
        replace_all(szMsg, 190, "/w", "^x00") // team txt
       
        if(id) iPlayersNum[0] = id
        else get_players(iPlayersNum, iCount, "ch")
               
        for (new i = 0; i < iCount; i++)
        {
                if (is_user_connected(iPlayersNum))
                {
                        message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, iPlayersNum)
                        write_byte(iPlayersNum)
                        write_string(szMsg)
                        message_end()
                }
        }
}

Modele | Afiseaza codul
http://www74.zippyshare.com/v/20920188/file.html

Jalnic, ai inclus PET'U care nu e facut de tine si te-i dat autor la tot pluginu :-j
Macar un credit puteai sa lasi! :-j
RoyalServer 2
User avatar
codrutzz
Membru, skill +2
Membru, skill +2
Posts: 539
Joined: 29 Jan 2014, 18:27
Detinator Steam: Da
CS Status: Nu citesc forumu xtreamCS* =]]]
Detinator server CS: In curand
SteamID: Personal
Location: Iasi<3
Has thanked: 68 times
Been thanked: 9 times
Contact:

24 Mar 2014, 21:20

Adventx macar el m-a ajutat dar tu ce ai facut ? Daca tot nu l-a facut el petu de ce nu m-ai ajutat daca te dai mare scripter ? Eu is sincer macar si recunosc ca nu stiu prea bine dar mori pentru un credit ?
Last edited by Adventx on 24 Mar 2014, 21:27, edited 1 time in total.
Reason: Da :)))
User avatar
Adventx
Membru, skill +4
Membru, skill +4
Posts: 1785
Joined: 17 Sep 2013, 21:44
Detinator Steam: Da
Reputatie: Fost moderator ajutator
Has thanked: 128 times
Been thanked: 142 times
Contact:

24 Mar 2014, 21:28

codrutzz wrote:Adventx macar el m-a ajutat dar tu ce ai facut ? Daca tot nu l-a facut el petu de ce nu m-ai ajutat daca te dai mare scripter ? Eu is sincer macar si recunosc ca nu stiu prea bine dar mori pentru un credit ?
Codrule aici nimeni nu e obligat sa te ajute :P
User avatar
codrutzz
Membru, skill +2
Membru, skill +2
Posts: 539
Joined: 29 Jan 2014, 18:27
Detinator Steam: Da
CS Status: Nu citesc forumu xtreamCS* =]]]
Detinator server CS: In curand
SteamID: Personal
Location: Iasi<3
Has thanked: 68 times
Been thanked: 9 times
Contact:

24 Mar 2014, 21:49

Nici nu te-am obligat cine vrea sa ma ajute ma ajuta cine nu nu sa sti ca eu nu ma rog la alti vrei bine nu vrei tot bine ..Nu sta viata intr-un plugin
User avatar
codrutzz
Membru, skill +2
Membru, skill +2
Posts: 539
Joined: 29 Jan 2014, 18:27
Detinator Steam: Da
CS Status: Nu citesc forumu xtreamCS* =]]]
Detinator server CS: In curand
SteamID: Personal
Location: Iasi<3
Has thanked: 68 times
Been thanked: 9 times
Contact:

25 Mar 2014, 02:25

UP :-" e 02:25 AM :))
User avatar
Truth*
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 766
Joined: 11 Oct 2013, 11:08
Detinator Steam: Da
SteamID: Ezeru
Reputatie: Fost moderator ajutator
Membru Club eXtreamCS (4 luni)
Nume anterior: HyperioN.
Scripter eXtreamCS
0.2 / 3
Fond eXtream: 0
Location: Sibiu
Has thanked: 44 times
Been thanked: 122 times

25 Mar 2014, 14:47

Adventx wrote:
HyperioN. wrote:Poftim :
SMA | Afiseaza codul
#include < amxmodx >
#include < amxmisc>
#include < engine >
#include < cstrike >
#include < fun >
#include < hamsandwich >
#include < fakemeta_util >

#pragma tabsize 0

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

#define PLUGIN "Furien Shop"
#define VERSION "0.1"
#define AUTHOR "HyperioN."

#define IsPlayer(%0)    ( 1 <= %0 <= g_iMaxPlayers )


// -- | Shop | -- //

new const Prefix[  ] = "^x04[SHOP]^x01";

// == | Super-Knife | == //

new bool:Katana [ 33 ];

new v_Katana [ 66 ] = "models/v_katana.mdl";
new p_Katana [ 66 ] = "models/p_katana.mdl";


// -- | Take Damage | -- //
new g_iMaxPlayers;

new bool: HaveNoFlash [ 33 ];
new g_msgScreenFade;


// -- | Pet | -- //
#define fm_precache_model(%1)           engfunc(EngFunc_PrecacheModel,%1)
#define fm_precache_sound(%1)           engfunc(EngFunc_PrecacheSound,%1)
#define fm_remove_entity(%1)            engfunc(EngFunc_RemoveEntity, %1)
#define fm_find_ent_by_class(%1,%2)     engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_set_user_gravity(%1,%2)      set_pev(%1,pev_gravity,%2)
 
#define PET_FLAG                        pev_flTimeStepSound
#define PET_KILLED                      389
 
static const pet_model[] = "models/stukabat.mdl"
static const pet_sounds[][] = { "bullchicken/bc_die1.wav", "bullchicken/bc_die2.wav", "bullchicken/bc_die3.wav", "bullchicken/bc_idle1.wav", "bullchicken/bc_pain3.wav" }
static const pet_idle = 13
static const pet_run = 13
static const pet_die = 5
static const Float:pet_idle_speed = 0.3
static const Float:pet_run_speed = 10.0
static const Float:player_gravity = 0.65
 
new item_pet[33]
new item_have[33]
new item_at_spawn[33]
new Float:item_leaptime[33]
new bool:g_has_speed[33]
 
new maxplayers, g_msgSayText





public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	//Register Shop
	register_clcmd("say /shop", "FurienShop" );
	register_clcmd("say shop", "FurienShop" );
	register_clcmd("say_team /shop", "FurienShop" );
	register_clcmd("say_team shop", "FurienShop" );
	
	//Register Arme
	register_event ( "CurWeapon", "CurrWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", true );
	
	register_event("ScreenFade", "eventFlash", "be", "4=255", "5=255", "6=255", "7>199")
	
	
	g_iMaxPlayers = get_maxplayers ( 	);
	g_msgScreenFade = get_user_msgid("ScreenFade")
	
	
	//Pet
	 register_event("DeathMsg","DeathMsg","a")
        register_event("HLTV","HLTV", "a","1=0", "2=0")
       
        register_forward(FM_Think,"FM_Think_hook")
        register_forward(FM_PlayerPreThink, "FM_PlayerPreThink_hook")
       
        RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
       
        maxplayers = get_maxplayers()
        g_msgSayText = get_user_msgid("SayText")
}


public plugin_precache ( ) {
	
	//Super-Knife
	precache_model ( v_Katana );
	precache_model ( p_Katana );
	
	//Pet
	new i = 0
       
        for(i = 0; i < sizeof pet_sounds; i++)
                fm_precache_sound(pet_sounds)
       
        fm_precache_model(pet_model)
}



public Spawn( id ) {
	
	
	strip_user_weapons(id)
	give_item(id, "weapon_knife" );
	
	HaveNoFlash [ id ] = false;
	Katana [ id ] = false;
	
}
public CurrWeapon ( id ) {
	
	if ( Katana [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, v_Katana );
		set_pev ( id, pev_weaponmodel2, p_Katana );
	}
}

public FurienShop ( id ) {
	
	if ( cs_get_user_team(id) == CS_TEAM_T ) {
		
		ShopFurien( id )
	}
	
	if ( cs_get_user_team (id ) == CS_TEAM_CT ) {
		
		ShopAntiFurien ( id )
	}
}

public ShopAntiFurien ( id ) {   
	
	new Temp[101], credits = get_user_credits(id); 
	
	formatex(Temp,100, "\yShop Anti-Furien \r[ v0.1 ]\y:^nCreditele Tale:\r %d", credits); 
	new menu = menu_create(Temp, "AntiFurien")
	
	menu_additem(menu, "\y50AP [\r3 Credite\y]", "1", 0);
	menu_additem(menu, "\y50HP [\r3 Credite\y]", "2", 0);
	menu_additem(menu, "\y100HP + 100 AP [\r9 Credite\y]", "3", 0);
	menu_additem(menu, "\yDefuse Kit [\r5 Credite\y]", "4", 0);
	menu_additem(menu, "\yHe Grenade [\r3 Credite\y]", "5", 0);
	menu_additem(menu, "\yNo Flash [\r5 Credite\y]^n", "6", 0);
	menu_additem(menu, "\yAnimal-Pet [\r15 Credite\y]", "7", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public ShopFurien( id ) {    
	
	new Temp[101], credits = get_user_credits(id); 
	
	formatex(Temp,100, "\yShop Furien \r[ v0.1 ]\y:^nCreditele Tale:\r %d", credits); 
	new menu = menu_create(Temp, "Furien")
	
	menu_additem(menu, "\y50AP [\r3 Credite\y]", "1", 0);
	menu_additem(menu, "\y50HP [\r3 Credite\y]", "2", 0 );
	menu_additem(menu, "\y100HP + 100AP [\r9 Credite\y]", "3", 0 );
	menu_additem(menu, "\yHe Grenade [\r3 Credite\y]", "4", 0);
	menu_additem(menu, "\yNo Flash [\r5 Credite\y]", "5", 0);
	menu_additem(menu, "\yKnife Katata [\r15 Credite\y]", "6", 0);
	
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
}

public Furien(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:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix );
					return 1;
					
				}
				else
				{ 
					new Armor = get_user_armor ( id );
					if ( Armor < 300 ) {
						fm_set_user_armor( id, get_user_armor ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Armor >= 300 ) {
						
						ColorChat( id, "%s Ai atins limita de AP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 2:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 HP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		} 
		
		case 3:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 9;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 100 );
						fm_set_user_armor( id, get_user_armor ( id ) + 100 ); 
						ColorChat(id, "%s Ai cumparat 100 HP si 100 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 4:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					if( get_user_weapon(id) == CSW_HEGRENADE)
					{
						ColorChat(id, "%s Detii deja un HE.", Prefix );
					}
					else
					{
						fm_give_item(id, "weapon_hegrenade");
						set_user_credits(id, iCredits);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 5:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					HaveNoFlash [ id ] = true;
					
					ColorChat(id, "%s Ai cumparat No Flash.", Prefix );
					set_user_credits(id, iCredits);
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 6:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 15;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					Katana [ id ] = true;
						CurrWeapon(id);
					
					ColorChat(id, "%s Ai cumparat Knife Katana.", Prefix );
					set_user_credits(id, iCredits);
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		
	}
	menu_destroy(menu);
	return 1;
}

public AntiFurien(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:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix );
					return 1;
					
				}
				else
				{ 
					new Armor = get_user_armor ( id );
					if ( Armor < 300 ) {
						fm_set_user_armor( id, get_user_armor ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Armor >= 300 ) {
						
						ColorChat( id, "%s Ai atins limita de AP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 2:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 HP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		} 
		
		case 3:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 9;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 100 );
						fm_set_user_armor( id, get_user_armor ( id ) + 100 ); 
						ColorChat(id, "%s Ai cumparat 100 HP si 100 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 4:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					fm_give_item ( id, "item_thighpack" );
					ColorChat(id, "%s Ai cumparat Defuse KIT.", Prefix );
					set_user_credits ( id, iCredits );
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 5:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					if( get_user_weapon(id) == CSW_HEGRENADE)
					{
						ColorChat(id, "%s Detii deja un HE.", Prefix );
					}
					else
					{
						fm_give_item(id, "weapon_hegrenade");
						set_user_credits(id, iCredits);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 6:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					HaveNoFlash [ id ] = true;
					
					ColorChat(id, "%s Ai cumparat No Flash.", Prefix );
					set_user_credits(id, iCredits);
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
			
		}
		
		
		case 7:
		{
			buypet(id);	
		}
	}
	menu_destroy(menu);
	return 1;
}

public eventFlash(id)
{
	if(is_user_connected(id) && HaveNoFlash [ id ])
	{
		message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, id)
		write_short(1)
		write_short(1)
		write_short(1)
		write_byte(0)
		write_byte(0)
		write_byte(0)
		write_byte(255)
		message_end()
	}
}

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) 
{
	if ( IsPlayer ( iAttacker ) ) {
		if( iInflictor == iAttacker && Katana [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
			SetHamParamFloat( 4, fDamage * 2.0);
			return HAM_HANDLED;
		}
	}
	
	return HAM_IGNORED;
}

public HLTV()
{
        new entid = -1
        while((entid = fm_find_ent_by_class(entid, "zp_bat")))
        {
                if(pev(entid,PET_FLAG) == PET_KILLED)
                {
                        fm_remove_entity(entid)
                }              
        }      
}
 
public DeathMsg()
{
        new id = read_data(2)
       
        if(item_have[id])
        {
                kill_pet(id)
                item_have[id] = 0
        }
               
        if(cs_get_user_team(id) == CS_TEAM_T)
                item_have[id] = 0
       
        if(g_has_speed[id])
                g_has_speed[id] = false
}
 
public buypet(id)
{
        if (!is_user_alive(id))
        {
                ColorChat(id, "%s Nu poti cumpara pet cand esti mort.", Prefix);
                return PLUGIN_HANDLED;
        }
 
        if (cs_get_user_team(id) != CS_TEAM_CT)
        {
                ColorChat(id, "%s Numai^x03 Anti-furienii^x01 pot cumpara pet.", Prefix);
                return PLUGIN_HANDLED;
        }
       
        if (!item_have[id])
        {      
                if (get_user_credits(id) >= 15)
                {
                        set_user_credits(id, get_user_credits(id) - 15);
                        ColorChat(id, "%s Ai cumparat^x03 PET.", Prefix);
                        create_pet(id)
                }else
                        ColorChat(id, "%s Nu ai destule^x03 credite.", Prefix);
        }else
                        ColorChat(id, "%s Detii deja un pet!", Prefix);
               
        return PLUGIN_CONTINUE;
}
 
public kill_pet(id)
{
        if(pev_valid(item_pet[id]))
        {
                set_pev(item_pet[id],pev_sequence,pet_die)
                set_pev(item_pet[id],pev_gaitsequence,pet_die)
                set_pev(item_pet[id],pev_framerate,1.0)
               
                set_pev(item_pet[id],PET_FLAG,PET_KILLED)
               
                fm_drop_to_floor(item_pet[id])
               
                item_have[id] = 0
                g_has_speed[id] = false
        }      
        item_pet[id] = 0
}
 
public player_spawn(player)
{
        if(is_user_alive(player))
        {
                if (cs_get_user_team(player) != CS_TEAM_CT)
                {
                        kill_pet(player)
                        item_have[player] = 0
                }
                if(item_have[player])
                {
                        fm_set_user_gravity(player, player_gravity)
                        set_user_health(player, get_user_health(player) + 250)
                        set_user_armor(player, get_user_armor(player) + 350)
                        g_has_speed[player] = true
                }
                else if(item_at_spawn[player])
                {
                        create_pet(player)
                        item_at_spawn[player] = 0
                        g_has_speed[player] = true
                }
        }
}
 
public create_pet(id)
{
        if(item_have[id])
        {
                ColorChat(id, "%s Detii deja un^x03 pet.", Prefix)
                return PLUGIN_HANDLED
        }
        else if(!is_user_alive(id))
        {
                ColorChat(id, "%s Petul iti va aparea runda viitoare.", Prefix)
                item_at_spawn[id] = 1
                return PLUGIN_HANDLED
        }      
        else
        {
                item_pet[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"))
                set_pev(item_pet[id],pev_classname,"zp_bat")
               
                engfunc(EngFunc_SetModel,item_pet[id],pet_model)
               
                new Float:origin[3]
                pev(id,pev_origin,origin)                      
               
                set_pev(item_pet[id],pev_origin,origin)
                set_pev(item_pet[id],pev_solid,SOLID_TRIGGER)
                set_pev(item_pet[id],pev_movetype,MOVETYPE_FLY)
                set_pev(item_pet[id],pev_owner,33)
                set_pev(item_pet[id],pev_nextthink,1.0)
                set_pev(item_pet[id],pev_sequence,0)
                set_pev(item_pet[id],pev_gaitsequence,0)
                set_pev(item_pet[id],pev_framerate,1.0)
               
                set_pev(item_pet[id], pev_renderfx, kRenderFxGlowShell)
                set_pev(item_pet[id], pev_rendercolor, Float:{0.0, 0.0, 200.0})
               
                fm_set_user_gravity(id,player_gravity)
               
                set_user_health(id, get_user_health(id) + 250)
                set_user_armor(id, get_user_armor(id) + 350)
               
                engfunc(EngFunc_EmitSound,item_pet[id],CHAN_AUTO,pet_sounds[random_num(0,sizeof pet_sounds - 1)],1.0, 1.2, 0, PITCH_NORM)              
               
                item_have[id] = 1
                g_has_speed[id] = true
        }
        return PLUGIN_HANDLED
}
 
public FM_Think_hook(ent)
{
        for(new i = 0; i <= maxplayers; i++)
        {
                if(ent == item_pet)
                {
                        static Float:origin[3]
                        static Float:origin2[3]
                        static Float:velocity[3]
                        pev(ent,pev_origin,origin2)
                        get_offset_origin_body(i,Float:{50.0,0.0,0.0},origin)
                       
                        if(get_distance_f(origin,origin2) > 300.0)
                        {
                                set_pev(ent,pev_origin,origin)
                        }
                       
                        else if(get_distance_f(origin,origin2) > 80.0)
                        {
                                get_speed_vector(origin2,origin,250.0,velocity)
                                set_pev(ent,pev_velocity,velocity)
                                if(pev(ent,pev_sequence) != pet_run || pev(ent,pev_framerate) != pet_run_speed)
                                {
                                        set_pev(ent,pev_sequence,pet_run)
                                        set_pev(ent,pev_gaitsequence,pet_run)
                                        set_pev(ent,pev_framerate,pet_run_speed)
                                }
                        }
                       
                        else if(get_distance_f(origin,origin2) < 75.0)
                        {
                                if(pev(ent,pev_sequence) != pet_idle || pev(ent,pev_framerate) != pet_idle_speed)
                                {
                                        set_pev(ent,pev_sequence,pet_idle)
                                        set_pev(ent,pev_gaitsequence,pet_idle)
                                        set_pev(ent,pev_framerate,pet_idle_speed)
                                }
                                set_pev(ent,pev_velocity,Float:{0.0,0.0,0.0})
                        }
                        pev(i,pev_origin,origin)
                        origin[2] = origin2[2]
                        entity_set_aim(ent,origin)                     
                        set_pev(ent,pev_nextthink,1.0)
                        break
                }
        }
}
 
public FM_PlayerPreThink_hook(id)
{
        if (!is_user_alive(id))
                return
       
        if(allowed_leap(id))
        {
                static Float:velocity[3]
                velocity_by_aim(id, 500, velocity)
               
                velocity[2] = 300.0
               
                set_pev(id, pev_velocity, velocity)
               
                item_leaptime[id] = get_gametime()
        }
}
 
public allowed_leap(id)
{      
        if(!item_have[id])
                return false
       
        if (!(pev(id, pev_flags) & FL_ONGROUND) || fm_get_speed(id) < 80)
                return false
       
        static buttons
        buttons = pev(id, pev_button)
       
        if (!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))
                return false
       
        if (get_gametime() - item_leaptime[id] < 3)
                return false
       
        return true
}
 
public is_a_player(ent)
{
        if(ent > 0 && ent < 33)
                return true
       
        return false
}
 
public remove_pet(ent)
{
        if(pev_valid(ent))
                fm_remove_entity(ent)
}
 
stock get_offset_origin_body(ent,const Float:offset[3],Float:origin[3])
{
        if(!pev_valid(ent))
                return 0;
       
        new Float:angle[3]
        pev(ent,pev_angles,angle)
       
        pev(ent,pev_origin,origin)
       
        origin[0] += floatcos(angle[1],degrees) * offset[0]
        origin[1] += floatsin(angle[1],degrees) * offset[0]
       
        origin[1] += floatcos(angle[1],degrees) * offset[1]
        origin[0] += floatsin(angle[1],degrees) * offset[1]
       
        return 1;
}
 
stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
        new_velocity[0] = origin2[0] - origin1[0]
        new_velocity[1] = origin2[1] - origin1[1]
        new_velocity[2] = origin2[2] - origin1[2]
        new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
        new_velocity[0] *= num
        new_velocity[1] *= num
        new_velocity[2] *= num
       
        return 1;
}
 
stock entity_set_aim(ent,const Float:origin2[3],bone=0)
{
        if(!pev_valid(ent))
                return 0;
       
        static Float:origin[3]
        origin[0] = origin2[0]
        origin[1] = origin2[1]
        origin[2] = origin2[2]
       
        static Float:ent_origin[3], Float:angles[3]
       
        if(bone)
                engfunc(EngFunc_GetBonePosition,ent,bone,ent_origin,angles)
        else
                pev(ent,pev_origin,ent_origin)
       
        origin[0] -= ent_origin[0]
        origin[1] -= ent_origin[1]
        origin[2] -= ent_origin[2]
       
        static Float:v_length
        v_length = vector_length(origin)
       
        static Float:aim_vector[3]
        aim_vector[0] = origin[0] / v_length
        aim_vector[1] = origin[1] / v_length
        aim_vector[2] = origin[2] / v_length
       
        static Float:new_angles[3]
        vector_to_angle(aim_vector,new_angles)
       
        new_angles[0] *= -1
       
        if(new_angles[1]>180.0) new_angles[1] -= 360
        if(new_angles[1]<-180.0) new_angles[1] += 360
        if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999
       
        set_pev(ent,pev_angles,new_angles)
        set_pev(ent,pev_fixangle,1)
       
        return 1;
}
 
stock ColorChat(id, const input[], any:...)
{
        static iPlayersNum[32], iCount; iCount = 1
        static szMsg[191]
       
        vformat(szMsg, charsmax(szMsg), input, 3)
       
        replace_all(szMsg, 190, "/g", "^x04") // green txt
        replace_all(szMsg, 190, "/y", "^x01") // orange txt
        replace_all(szMsg, 190, "/ctr", "^x03") // team txt
        replace_all(szMsg, 190, "/w", "^x00") // team txt
       
        if(id) iPlayersNum[0] = id
        else get_players(iPlayersNum, iCount, "ch")
               
        for (new i = 0; i < iCount; i++)
        {
                if (is_user_connected(iPlayersNum))
                {
                        message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, iPlayersNum)
                        write_byte(iPlayersNum)
                        write_string(szMsg)
                        message_end()
                }
        }
}

Modele | Afiseaza codul
http://www74.zippyshare.com/v/20920188/file.html

Jalnic, ai inclus PET'U care nu e facut de tine si te-i dat autor la tot pluginu :-j
Macar un credit puteai sa lasi! :-j


Important este sa pun credite sau sa ii dau pluginul cat mai repede baiatului ?
Pe bune acum sunte-ti jalnici deja :-j
Intrati si voi in topic pentru +1 in loc sa ii ajutati pe cei care au nevoie si mai sunteti si moderatori. :-j
In fine sper sa fii multumit acum
Poftim am uitat sa ii pun ceva.
SMA | Afiseaza codul
/*
		*Multumiri*:
	    - Sn!ff3r ( Pentru Pet )
*/

#include < amxmodx >
#include < amxmisc>
#include < engine >
#include < cstrike >
#include < fun >
#include < hamsandwich >
#include < fakemeta_util >

#pragma tabsize 0

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

#define PLUGIN "Furien Shop"
#define VERSION "0.1"
#define AUTHOR "HyperioN."

#define IsPlayer(%0)    ( 1 <= %0 <= g_iMaxPlayers )


// -- | Shop | -- //

new bool: g_blockshop[ 33 ];

new const Prefix[  ] = "^x04[SHOP]^x01";

// == | Super-Knife | == //

new bool:Katana [ 33 ];
new bool:DoubleKatana [ 33 ];

new v_Katana [ 66 ] = "models/v_katana.mdl";
new p_Katana [ 66 ] = "models/p_katana.mdl";

new v_DoubleKatana [ 66 ] = "models/v_double_katana.mdl";
new p_DoubleKatana [ 66 ] = "models/p_double_katana.mdl";

// -- | Take Damage | -- //
new g_iMaxPlayers;




new bool: HaveNoFlash [ 33 ];
new g_msgScreenFade;


// -- | Pet | -- //
#define fm_precache_model(%1)           engfunc(EngFunc_PrecacheModel,%1)
#define fm_precache_sound(%1)           engfunc(EngFunc_PrecacheSound,%1)
#define fm_remove_entity(%1)            engfunc(EngFunc_RemoveEntity, %1)
#define fm_find_ent_by_class(%1,%2)     engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_set_user_gravity(%1,%2)      set_pev(%1,pev_gravity,%2)
 
#define PET_FLAG                        pev_flTimeStepSound
#define PET_KILLED                      389
 
static const pet_model[] = "models/stukabat.mdl"
static const pet_sounds[][] = { "bullchicken/bc_die1.wav", "bullchicken/bc_die2.wav", "bullchicken/bc_die3.wav", "bullchicken/bc_idle1.wav", "bullchicken/bc_pain3.wav" }
static const pet_idle = 13
static const pet_run = 13
static const pet_die = 5
static const Float:pet_idle_speed = 0.3
static const Float:pet_run_speed = 10.0
static const Float:player_gravity = 0.65
 
new item_pet[33]
new item_have[33]
new item_at_spawn[33]
new Float:item_leaptime[33]
new bool:g_has_speed[33]
 
new maxplayers, g_msgSayText





public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	//Register Shop
	register_clcmd("say /shop", "FurienShop" );
	register_clcmd("say shop", "FurienShop" );
	register_clcmd("say_team /shop", "FurienShop" );
	register_clcmd("say_team shop", "FurienShop" );
	
	//Register Arme
	register_event ( "CurWeapon", "CurrWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", true );
	
	register_event("ScreenFade", "eventFlash", "be", "4=255", "5=255", "6=255", "7>199")
	
	
	g_iMaxPlayers = get_maxplayers ( 	);
	g_msgScreenFade = get_user_msgid("ScreenFade")
	
	
	//Pet
	 register_event("DeathMsg","DeathMsg","a")
        register_event("HLTV","HLTV", "a","1=0", "2=0")
       
        register_forward(FM_Think,"FM_Think_hook")
        register_forward(FM_PlayerPreThink, "FM_PlayerPreThink_hook")
       
        RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
       
        maxplayers = get_maxplayers()
        g_msgSayText = get_user_msgid("SayText")
}


public plugin_precache ( ) {
	
	//Super-Knife
	precache_model ( v_Katana );
	precache_model ( p_Katana );
	precache_model ( v_DoubleKatana );
	precache_model ( p_DoubleKatana );
	
	//Pet
	new i = 0
       
        for(i = 0; i < sizeof pet_sounds; i++)
                fm_precache_sound(pet_sounds)
       
        fm_precache_model(pet_model)
}

public client_putinserver(id)
{
	g_blockshop[ id ] = true;
}

public Spawn( id ) {
	
	
	fm_strip_user_weapons(id)
	fm_give_item(id, "weapon_knife" );
	
	HaveNoFlash [ id ] = false;
	
	if( get_user_team(id) )
	{
		Katana [ id ] = false;
		DoubleKatana [ id ] = false;
	}
	
}
public CurrWeapon ( id ) {
	
	if ( Katana [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, v_Katana );
		set_pev ( id, pev_weaponmodel2, p_Katana );
	}
	if ( DoubleKatana [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, v_DoubleKatana );
		set_pev ( id, pev_weaponmodel2, p_DoubleKatana );
	}
}

public FurienShop ( id ) {
	
	
	if(g_blockshop[ id ])
	{
		g_blockshop[ id ] = false;
			if ( get_user_team(id) == 1 ) {
				
				ShopFurien( id )
			}
	
			if ( get_user_team (id ) == 2 ) {
		
				ShopAntiFurien ( id )
			}
			
		set_task(5.0, "ShopBlock", id);
		
	}
	else
	{
		ColorChat( id, "%s Poti accesa meniul odata la 5 secunde.", Prefix );
	}
	
}

public ShopBlock(id)
{
	g_blockshop[ id ] = true;
	remove_task(id)
}

public ShopAntiFurien ( id ) {   
	
	new Temp[101], credits = get_user_credits(id); 
	
	formatex(Temp,100, "\yShop Anti-Furien \r[ v0.1 ]\y:^nCreditele Tale:\r %d", credits); 
	new menu = menu_create(Temp, "AntiFurien")
	
	menu_additem(menu, "\y50AP [\r3 Credite\y]", "1", 0);
	menu_additem(menu, "\y50HP [\r3 Credite\y]", "2", 0);
	menu_additem(menu, "\y100HP + 100 AP [\r9 Credite\y]", "3", 0);
	menu_additem(menu, "\yDefuse Kit [\r5 Credite\y]", "4", 0);
	menu_additem(menu, "\yHe Grenade [\r3 Credite\y]", "5", 0);
	menu_additem(menu, "\yNo Flash [\r5 Credite\y]^n", "6", 0);
	menu_additem(menu, "\yAnimal-Pet [\r15 Credite\y]", "7", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
	return 1;
}

public ShopFurien( id ) {    
	
	new Temp[101], credits = get_user_credits(id); 
	
	formatex(Temp,100, "\yShop Furien \r[ v0.1 ]\y:^nCreditele Tale:\r %d", credits); 
	new menu = menu_create(Temp, "Furien")
	
	menu_additem(menu, "\y50AP [\r3 Credite\y]", "1", 0);
	menu_additem(menu, "\y50HP [\r3 Credite\y]", "2", 0 );
	menu_additem(menu, "\y100HP + 100AP [\r9 Credite\y]", "3", 0 );
	menu_additem(menu, "\yHe Grenade [\r3 Credite\y]", "4", 0);
	menu_additem(menu, "\yNo Flash [\r5 Credite\y]", "5", 0);
	menu_additem(menu, "\yKnife Katata [\r15 Credite\y]^n", "6", 0);
	menu_additem(menu, "\yKnife Double Katata [\r30 Credite\y]", "7", 0);
	
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
	return 1;
}

public Furien(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:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix );
					return 1;
					
				}
				else
				{ 
					new Armor = get_user_armor ( id );
					if ( Armor < 300 ) {
						fm_set_user_armor( id, get_user_armor ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Armor >= 300 ) {
						
						ColorChat( id, "%s Ai atins limita de AP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 2:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 HP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		} 
		
		case 3:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 9;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 100 );
						fm_set_user_armor( id, get_user_armor ( id ) + 100 ); 
						ColorChat(id, "%s Ai cumparat 100 HP si 100 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 4:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					if( get_user_weapon(id) == CSW_HEGRENADE)
					{
						ColorChat(id, "%s Detii deja un HE.", Prefix );
					}
					else
					{
						fm_give_item(id, "weapon_hegrenade");
						set_user_credits(id, iCredits);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 5:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					HaveNoFlash [ id ] = true;
					
					ColorChat(id, "%s Ai cumparat No Flash.", Prefix );
					set_user_credits(id, iCredits);
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 6:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 15;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					Katana [ id ] = true;
					DoubleKatana [ id ] = false;
						CurrWeapon(id);
					
					ColorChat(id, "%s Ai cumparat Knife Katana.", Prefix );
					set_user_credits(id, iCredits);
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 7:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 30;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					Katana [ id ] = false;
					DoubleKatana [ id ] = true;
						CurrWeapon(id);
					
					ColorChat(id, "%s Ai cumparat Knife Double Katana.", Prefix );
					set_user_credits(id, iCredits);
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		
	}
	menu_destroy(menu);
	return 1;
}

public AntiFurien(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:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix );
					return 1;
					
				}
				else
				{ 
					new Armor = get_user_armor ( id );
					if ( Armor < 300 ) {
						fm_set_user_armor( id, get_user_armor ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Armor >= 300 ) {
						
						ColorChat( id, "%s Ai atins limita de AP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 2:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 HP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		} 
		
		case 3:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 9;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 100 );
						fm_set_user_armor( id, get_user_armor ( id ) + 100 ); 
						ColorChat(id, "%s Ai cumparat 100 HP si 100 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 4:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					fm_give_item ( id, "item_thighpack" );
					ColorChat(id, "%s Ai cumparat Defuse KIT.", Prefix );
					set_user_credits ( id, iCredits );
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 5:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					if( get_user_weapon(id) == CSW_HEGRENADE)
					{
						ColorChat(id, "%s Detii deja un HE.", Prefix );
					}
					else
					{
						fm_give_item(id, "weapon_hegrenade");
						set_user_credits(id, iCredits);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 6:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					HaveNoFlash [ id ] = true;
					
					ColorChat(id, "%s Ai cumparat No Flash.", Prefix );
					set_user_credits(id, iCredits);
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
			
		}
		
		
		case 7:
		{
			buypet(id);	
		}
	}
	menu_destroy(menu);
	return 1;
}

public eventFlash(id)
{
	if(is_user_connected(id) && HaveNoFlash [ id ])
	{
		message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, id)
		write_short(1)
		write_short(1)
		write_short(1)
		write_byte(0)
		write_byte(0)
		write_byte(0)
		write_byte(255)
		message_end()
	}
}

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) 
{
	if ( IsPlayer ( iAttacker ) ) {
		if( iInflictor == iAttacker && Katana [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
			SetHamParamFloat( 4, fDamage * 2.0);
			return HAM_HANDLED;
		}
		if( iInflictor == iAttacker && DoubleKatana [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
			SetHamParamFloat( 4, fDamage * 3.0);
			return HAM_HANDLED;
		}
	}
	
	return HAM_IGNORED;
}

public HLTV()
{
        new entid = -1
        while((entid = fm_find_ent_by_class(entid, "zp_bat")))
        {
                if(pev(entid,PET_FLAG) == PET_KILLED)
                {
                        fm_remove_entity(entid)
                }              
        }      
}
 
public DeathMsg()
{
        new id = read_data(2)
       
        if(item_have[id])
        {
                kill_pet(id)
                item_have[id] = 0
        }
               
        if(cs_get_user_team(id) == CS_TEAM_T)
                item_have[id] = 0
       
        if(g_has_speed[id])
                g_has_speed[id] = false
}
 
public buypet(id)
{
        if (!is_user_alive(id))
        {
                ColorChat(id, "%s Nu poti cumpara pet cand esti mort.", Prefix);
                return PLUGIN_HANDLED;
        }
 
        if (cs_get_user_team(id) != CS_TEAM_CT)
        {
                ColorChat(id, "%s Numai^x03 Anti-furienii^x01 pot cumpara pet.", Prefix);
                return PLUGIN_HANDLED;
        }
       
        if (!item_have[id])
        {      
                if (get_user_credits(id) >= 15)
                {
                        set_user_credits(id, get_user_credits(id) - 15);
                        ColorChat(id, "%s Ai cumparat^x03 PET.", Prefix);
                        create_pet(id)
                }else
                        ColorChat(id, "%s Nu ai destule^x03 credite.", Prefix);
        }else
                        ColorChat(id, "%s Detii deja un pet!", Prefix);
               
        return PLUGIN_CONTINUE;
}
 
public kill_pet(id)
{
        if(pev_valid(item_pet[id]))
        {
                set_pev(item_pet[id],pev_sequence,pet_die)
                set_pev(item_pet[id],pev_gaitsequence,pet_die)
                set_pev(item_pet[id],pev_framerate,1.0)
               
                set_pev(item_pet[id],PET_FLAG,PET_KILLED)
               
                fm_drop_to_floor(item_pet[id])
               
                item_have[id] = 0
                g_has_speed[id] = false
        }      
        item_pet[id] = 0
}
 
public player_spawn(player)
{
        if(is_user_alive(player))
        {
                if (cs_get_user_team(player) != CS_TEAM_CT)
                {
                        kill_pet(player)
                        item_have[player] = 0
                }
                if(item_have[player])
                {
                        fm_set_user_gravity(player, player_gravity)
                        set_user_health(player, get_user_health(player) + 250)
                        set_user_armor(player, get_user_armor(player) + 350)
                        g_has_speed[player] = true
                }
                else if(item_at_spawn[player])
                {
                        create_pet(player)
                        item_at_spawn[player] = 0
                        g_has_speed[player] = true
                }
        }
}
 
public create_pet(id)
{
        if(item_have[id])
        {
                ColorChat(id, "%s Detii deja un^x03 pet.", Prefix)
                return PLUGIN_HANDLED
        }
        else if(!is_user_alive(id))
        {
                ColorChat(id, "%s Petul iti va aparea runda viitoare.", Prefix)
                item_at_spawn[id] = 1
                return PLUGIN_HANDLED
        }      
        else
        {
                item_pet[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"))
                set_pev(item_pet[id],pev_classname,"zp_bat")
               
                engfunc(EngFunc_SetModel,item_pet[id],pet_model)
               
                new Float:origin[3]
                pev(id,pev_origin,origin)                      
               
                set_pev(item_pet[id],pev_origin,origin)
                set_pev(item_pet[id],pev_solid,SOLID_TRIGGER)
                set_pev(item_pet[id],pev_movetype,MOVETYPE_FLY)
                set_pev(item_pet[id],pev_owner,33)
                set_pev(item_pet[id],pev_nextthink,1.0)
                set_pev(item_pet[id],pev_sequence,0)
                set_pev(item_pet[id],pev_gaitsequence,0)
                set_pev(item_pet[id],pev_framerate,1.0)
               
                set_pev(item_pet[id], pev_renderfx, kRenderFxGlowShell)
                set_pev(item_pet[id], pev_rendercolor, Float:{0.0, 0.0, 200.0})
               
                fm_set_user_gravity(id,player_gravity)
               
                set_user_health(id, get_user_health(id) + 250)
                set_user_armor(id, get_user_armor(id) + 350)
               
                engfunc(EngFunc_EmitSound,item_pet[id],CHAN_AUTO,pet_sounds[random_num(0,sizeof pet_sounds - 1)],1.0, 1.2, 0, PITCH_NORM)              
               
                item_have[id] = 1
                g_has_speed[id] = true
        }
        return PLUGIN_HANDLED
}
 
public FM_Think_hook(ent)
{
        for(new i = 0; i <= maxplayers; i++)
        {
                if(ent == item_pet)
                {
                        static Float:origin[3]
                        static Float:origin2[3]
                        static Float:velocity[3]
                        pev(ent,pev_origin,origin2)
                        get_offset_origin_body(i,Float:{50.0,0.0,0.0},origin)
                       
                        if(get_distance_f(origin,origin2) > 300.0)
                        {
                                set_pev(ent,pev_origin,origin)
                        }
                       
                        else if(get_distance_f(origin,origin2) > 80.0)
                        {
                                get_speed_vector(origin2,origin,250.0,velocity)
                                set_pev(ent,pev_velocity,velocity)
                                if(pev(ent,pev_sequence) != pet_run || pev(ent,pev_framerate) != pet_run_speed)
                                {
                                        set_pev(ent,pev_sequence,pet_run)
                                        set_pev(ent,pev_gaitsequence,pet_run)
                                        set_pev(ent,pev_framerate,pet_run_speed)
                                }
                        }
                       
                        else if(get_distance_f(origin,origin2) < 75.0)
                        {
                                if(pev(ent,pev_sequence) != pet_idle || pev(ent,pev_framerate) != pet_idle_speed)
                                {
                                        set_pev(ent,pev_sequence,pet_idle)
                                        set_pev(ent,pev_gaitsequence,pet_idle)
                                        set_pev(ent,pev_framerate,pet_idle_speed)
                                }
                                set_pev(ent,pev_velocity,Float:{0.0,0.0,0.0})
                        }
                        pev(i,pev_origin,origin)
                        origin[2] = origin2[2]
                        entity_set_aim(ent,origin)                     
                        set_pev(ent,pev_nextthink,1.0)
                        break
                }
        }
}
 
public FM_PlayerPreThink_hook(id)
{
        if (!is_user_alive(id))
                return
       
        if(allowed_leap(id))
        {
                static Float:velocity[3]
                velocity_by_aim(id, 500, velocity)
               
                velocity[2] = 300.0
               
                set_pev(id, pev_velocity, velocity)
               
                item_leaptime[id] = get_gametime()
        }
}
 
public allowed_leap(id)
{      
        if(!item_have[id])
                return false
       
        if (!(pev(id, pev_flags) & FL_ONGROUND) || fm_get_speed(id) < 80)
                return false
       
        static buttons
        buttons = pev(id, pev_button)
       
        if (!is_user_bot(id) && (!(buttons & IN_JUMP) || !(buttons & IN_DUCK)))
                return false
       
        if (get_gametime() - item_leaptime[id] < 3)
                return false
       
        return true
}
 
public is_a_player(ent)
{
        if(ent > 0 && ent < 33)
                return true
       
        return false
}
 
public remove_pet(ent)
{
        if(pev_valid(ent))
                fm_remove_entity(ent)
}
 
stock get_offset_origin_body(ent,const Float:offset[3],Float:origin[3])
{
        if(!pev_valid(ent))
                return 0;
       
        new Float:angle[3]
        pev(ent,pev_angles,angle)
       
        pev(ent,pev_origin,origin)
       
        origin[0] += floatcos(angle[1],degrees) * offset[0]
        origin[1] += floatsin(angle[1],degrees) * offset[0]
       
        origin[1] += floatcos(angle[1],degrees) * offset[1]
        origin[0] += floatsin(angle[1],degrees) * offset[1]
       
        return 1;
}
 
stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
        new_velocity[0] = origin2[0] - origin1[0]
        new_velocity[1] = origin2[1] - origin1[1]
        new_velocity[2] = origin2[2] - origin1[2]
        new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
        new_velocity[0] *= num
        new_velocity[1] *= num
        new_velocity[2] *= num
       
        return 1;
}
 
stock entity_set_aim(ent,const Float:origin2[3],bone=0)
{
        if(!pev_valid(ent))
                return 0;
       
        static Float:origin[3]
        origin[0] = origin2[0]
        origin[1] = origin2[1]
        origin[2] = origin2[2]
       
        static Float:ent_origin[3], Float:angles[3]
       
        if(bone)
                engfunc(EngFunc_GetBonePosition,ent,bone,ent_origin,angles)
        else
                pev(ent,pev_origin,ent_origin)
       
        origin[0] -= ent_origin[0]
        origin[1] -= ent_origin[1]
        origin[2] -= ent_origin[2]
       
        static Float:v_length
        v_length = vector_length(origin)
       
        static Float:aim_vector[3]
        aim_vector[0] = origin[0] / v_length
        aim_vector[1] = origin[1] / v_length
        aim_vector[2] = origin[2] / v_length
       
        static Float:new_angles[3]
        vector_to_angle(aim_vector,new_angles)
       
        new_angles[0] *= -1
       
        if(new_angles[1]>180.0) new_angles[1] -= 360
        if(new_angles[1]<-180.0) new_angles[1] += 360
        if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999
       
        set_pev(ent,pev_angles,new_angles)
        set_pev(ent,pev_fixangle,1)
       
        return 1;
}
 
stock ColorChat(id, const input[], any:...)
{
        static iPlayersNum[32], iCount; iCount = 1
        static szMsg[191]
       
        vformat(szMsg, charsmax(szMsg), input, 3)
       
        replace_all(szMsg, 190, "/g", "^x04") // green txt
        replace_all(szMsg, 190, "/y", "^x01") // orange txt
        replace_all(szMsg, 190, "/ctr", "^x03") // team txt
        replace_all(szMsg, 190, "/w", "^x00") // team txt
       
        if(id) iPlayersNum[0] = id
        else get_players(iPlayersNum, iCount, "ch")
               
        for (new i = 0; i < iCount; i++)
        {
                if (is_user_connected(iPlayersNum))
                {
                        message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, iPlayersNum)
                        write_byte(iPlayersNum)
                        write_string(szMsg)
                        message_end()
                }
        }
}
P.S.: Netestat = Nu am avut timp să mă uit atent peste cod. Deci ceea ce am scris este posibil să fie greşit sau să aibă erori.

If i helped you and you wanna thank me, you can donate at this link : here
This will motivate me to help you in the future.
[If you want a private plugin send me a PM.(No complex plugins please, I am a student and I don't have the time to make those)]
User avatar
codrutzz
Membru, skill +2
Membru, skill +2
Posts: 539
Joined: 29 Jan 2014, 18:27
Detinator Steam: Da
CS Status: Nu citesc forumu xtreamCS* =]]]
Detinator server CS: In curand
SteamID: Personal
Location: Iasi<3
Has thanked: 68 times
Been thanked: 9 times
Contact:

25 Mar 2014, 15:55

Il testez acum si ce ai zis e adevarat,revin cu edit si poze.
Edit: Merge si aia cu 5 secunde Si knifu cu x3 dmg care mi l-ai mai adaugat,nu mai pun poze ca e aproape la fel,mersi mult ai respectu meu :)>-
User avatar
LOLpgl
Membru, skill +3
Membru, skill +3
Posts: 1127
Joined: 16 Dec 2013, 21:01
Detinator Steam: Da
SteamID: ionutcruso
Location: Rm.Valcea
Has thanked: 19 times
Been thanked: 15 times

25 Mar 2014, 16:50

Poti scoate Pet-ul te rog?
User avatar
Truth*
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 766
Joined: 11 Oct 2013, 11:08
Detinator Steam: Da
SteamID: Ezeru
Reputatie: Fost moderator ajutator
Membru Club eXtreamCS (4 luni)
Nume anterior: HyperioN.
Scripter eXtreamCS
0.2 / 3
Fond eXtream: 0
Location: Sibiu
Has thanked: 44 times
Been thanked: 122 times

25 Mar 2014, 17:00

Poftim :
SMA | Afiseaza codul
/*
		*Multumiri*:
	    - Sn!ff3r
*/

#include < amxmodx >
#include < amxmisc>
#include < engine >
#include < cstrike >
#include < fun >
#include < hamsandwich >
#include < fakemeta_util >

#pragma tabsize 0

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

#define PLUGIN "Furien Shop"
#define VERSION "0.1"
#define AUTHOR "HyperioN."

#define IsPlayer(%0)    ( 1 <= %0 <= g_iMaxPlayers )


// -- | Shop | -- //

new bool: g_blockshop[ 33 ];

new const Prefix[  ] = "^x04[SHOP]^x01";

// == | Super-Knife | == //

new bool:Katana [ 33 ];
new bool:DoubleKatana [ 33 ];

new v_Katana [ 66 ] = "models/v_katana.mdl";
new p_Katana [ 66 ] = "models/p_katana.mdl";

new v_DoubleKatana [ 66 ] = "models/v_double_katana.mdl";
new p_DoubleKatana [ 66 ] = "models/p_double_katana.mdl";

// -- | Take Damage | -- //
new g_iMaxPlayers;


new bool: HaveNoFlash [ 33 ];
new g_msgScreenFade;

new g_msgSayText;





public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	
	//Register Shop
	register_clcmd("say /shop", "FurienShop" );
	register_clcmd("say shop", "FurienShop" );
	register_clcmd("say_team /shop", "FurienShop" );
	register_clcmd("say_team shop", "FurienShop" );
	
	//Register Arme
	register_event ( "CurWeapon", "CurrWeapon", "be", "1=1" );
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", true );
	
	register_event("ScreenFade", "eventFlash", "be", "4=255", "5=255", "6=255", "7>199")
	
	
	g_iMaxPlayers = get_maxplayers ( 	);
	g_msgScreenFade = get_user_msgid("ScreenFade")
	g_msgSayText = get_user_msgid("SayText")
}


public plugin_precache ( ) {
	
	//Super-Knife
	precache_model ( v_Katana );
	precache_model ( p_Katana );
	precache_model ( v_DoubleKatana );
	precache_model ( p_DoubleKatana );
	
}

public client_putinserver(id)
{
	g_blockshop[ id ] = true;
}

public Spawn( id ) {
	
	
	fm_strip_user_weapons(id)
	fm_give_item(id, "weapon_knife" );
	
	HaveNoFlash [ id ] = false;
	
	if( get_user_team(id) )
	{
		Katana [ id ] = false;
		DoubleKatana [ id ] = false;
	}
	
}
public CurrWeapon ( id ) {
	
	if ( Katana [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, v_Katana );
		set_pev ( id, pev_weaponmodel2, p_Katana );
	}
	if ( DoubleKatana [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, v_DoubleKatana );
		set_pev ( id, pev_weaponmodel2, p_DoubleKatana );
	}
}

public FurienShop ( id ) {
	
	
	if(g_blockshop[ id ])
	{
		g_blockshop[ id ] = false;
			if ( get_user_team(id) == 1 ) {
				
				ShopFurien( id )
			}
	
			if ( get_user_team (id ) == 2 ) {
		
				ShopAntiFurien ( id )
			}
			
		set_task(5.0, "ShopBlock", id);
		
	}
	else
	{
		ColorChat( id, "%s Poti accesa meniul odata la 5 secunde.", Prefix );
	}
	
}

public ShopBlock(id)
{
	g_blockshop[ id ] = true;
	remove_task(id)
}

public ShopAntiFurien ( id ) {   
	
	new Temp[101], credits = get_user_credits(id); 
	
	formatex(Temp,100, "\yShop Anti-Furien \r[ v0.1 ]\y:^nCreditele Tale:\r %d", credits); 
	new menu = menu_create(Temp, "AntiFurien")
	
	menu_additem(menu, "\y50AP [\r3 Credite\y]", "1", 0);
	menu_additem(menu, "\y50HP [\r3 Credite\y]", "2", 0);
	menu_additem(menu, "\y100HP + 100 AP [\r9 Credite\y]", "3", 0);
	menu_additem(menu, "\yDefuse Kit [\r5 Credite\y]", "4", 0);
	menu_additem(menu, "\yHe Grenade [\r3 Credite\y]", "5", 0);
	menu_additem(menu, "\yNo Flash [\r5 Credite\y]", "6", 0);
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
	return 1;
}

public ShopFurien( id ) {    
	
	new Temp[101], credits = get_user_credits(id); 
	
	formatex(Temp,100, "\yShop Furien \r[ v0.1 ]\y:^nCreditele Tale:\r %d", credits); 
	new menu = menu_create(Temp, "Furien")
	
	menu_additem(menu, "\y50AP [\r3 Credite\y]", "1", 0);
	menu_additem(menu, "\y50HP [\r3 Credite\y]", "2", 0 );
	menu_additem(menu, "\y100HP + 100AP [\r9 Credite\y]", "3", 0 );
	menu_additem(menu, "\yHe Grenade [\r3 Credite\y]", "4", 0);
	menu_additem(menu, "\yNo Flash [\r5 Credite\y]", "5", 0);
	menu_additem(menu, "\yKnife Katata [\r15 Credite\y]^n", "6", 0);
	menu_additem(menu, "\yKnife Double Katata [\r30 Credite\y]", "7", 0);
	
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	menu_display(id, menu, 0);
	
	return 1;
}

public Furien(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:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix );
					return 1;
					
				}
				else
				{ 
					new Armor = get_user_armor ( id );
					if ( Armor < 300 ) {
						fm_set_user_armor( id, get_user_armor ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Armor >= 300 ) {
						
						ColorChat( id, "%s Ai atins limita de AP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 2:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 HP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		} 
		
		case 3:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 9;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 100 );
						fm_set_user_armor( id, get_user_armor ( id ) + 100 ); 
						ColorChat(id, "%s Ai cumparat 100 HP si 100 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 4:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					if( get_user_weapon(id) == CSW_HEGRENADE)
					{
						ColorChat(id, "%s Detii deja un HE.", Prefix );
					}
					else
					{
						fm_give_item(id, "weapon_hegrenade");
						set_user_credits(id, iCredits);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 5:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					HaveNoFlash [ id ] = true;
					
					ColorChat(id, "%s Ai cumparat No Flash.", Prefix );
					set_user_credits(id, iCredits);
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 6:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 15;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					Katana [ id ] = true;
					DoubleKatana [ id ] = false;
						CurrWeapon(id);
					
					ColorChat(id, "%s Ai cumparat Knife Katana.", Prefix );
					set_user_credits(id, iCredits);
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 7:
		{
			if( get_user_team(id) == 1 )
			{
				new iCredits = get_user_credits ( id ) - 30;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					Katana [ id ] = false;
					DoubleKatana [ id ] = true;
						CurrWeapon(id);
					
					ColorChat(id, "%s Ai cumparat Knife Double Katana.", Prefix );
					set_user_credits(id, iCredits);
				}
			}
			else
			{
				ColorChat(id, "%s Doar Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		
	}
	menu_destroy(menu);
	return 1;
}

public AntiFurien(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:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix );
					return 1;
					
				}
				else
				{ 
					new Armor = get_user_armor ( id );
					if ( Armor < 300 ) {
						fm_set_user_armor( id, get_user_armor ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Armor >= 300 ) {
						
						ColorChat( id, "%s Ai atins limita de AP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 2:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 3;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 50 );
						ColorChat(id, "%s Ai cumparat 50 HP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		} 
		
		case 3:
		{
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 9;
				if( iCredits < 0 )
				{
					ColorChat( id, "!%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					new Health = get_user_health ( id );
					if ( Health < 250 ) {
						fm_set_user_health( id, get_user_health ( id ) + 100 );
						fm_set_user_armor( id, get_user_armor ( id ) + 100 ); 
						ColorChat(id, "%s Ai cumparat 100 HP si 100 AP.", Prefix );
						set_user_credits ( id, iCredits );
						return 1;
					}
					
					if ( Health >= 250 ) {
						
						ColorChat( id, "%s Ai atins limita de HP.", Prefix);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 4:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai suficiente credite.", Prefix);
					return 1;
					
				}
				else
				{
					fm_give_item ( id, "item_thighpack" );
					ColorChat(id, "%s Ai cumparat Defuse KIT.", Prefix );
					set_user_credits ( id, iCredits );
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		
		case 5:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					if( get_user_weapon(id) == CSW_HEGRENADE)
					{
						ColorChat(id, "%s Detii deja un HE.", Prefix );
					}
					else
					{
						fm_give_item(id, "weapon_hegrenade");
						set_user_credits(id, iCredits);
						return 1;
					}
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
		}
		case 6:
		{
			
			if( get_user_team(id) == 2 )
			{
				new iCredits = get_user_credits ( id ) - 5;
				if( iCredits < 0 )
				{
					ColorChat( id, "%s Nu ai credite suficiente.", Prefix);
					return 1;
					
				}
				else
				{
					HaveNoFlash [ id ] = true;
					
					ColorChat(id, "%s Ai cumparat No Flash.", Prefix );
					set_user_credits(id, iCredits);
					return 1;
				}
			}
			else
			{
				ColorChat(id, "%s Doar Counter-Teroristi au acces la accest meniu.", Prefix );
			}
			
		}
	}
	menu_destroy(menu);
	return 1;
}

public eventFlash(id)
{
	if(is_user_connected(id) && HaveNoFlash [ id ])
	{
		message_begin(MSG_ONE, g_msgScreenFade, {0,0,0}, id)
		write_short(1)
		write_short(1)
		write_short(1)
		write_byte(0)
		write_byte(0)
		write_byte(0)
		write_byte(255)
		message_end()
	}
}

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) 
{
	if ( IsPlayer ( iAttacker ) ) {
		if( iInflictor == iAttacker && Katana [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
			SetHamParamFloat( 4, fDamage * 2.0);
			return HAM_HANDLED;
		}
		if( iInflictor == iAttacker && DoubleKatana [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && cs_get_user_team( iAttacker ) == CS_TEAM_T )
		{
			SetHamParamFloat( 4, fDamage * 3.0);
			return HAM_HANDLED;
		}
	}
	
	return HAM_IGNORED;
}

stock ColorChat(id, const input[], any:...)
{
        static iPlayersNum[32], iCount; iCount = 1
        static szMsg[191]
       
        vformat(szMsg, charsmax(szMsg), input, 3)
       
        replace_all(szMsg, 190, "/g", "^x04") // green txt
        replace_all(szMsg, 190, "/y", "^x01") // orange txt
        replace_all(szMsg, 190, "/ctr", "^x03") // team txt
        replace_all(szMsg, 190, "/w", "^x00") // team txt
       
        if(id) iPlayersNum[0] = id
        else get_players(iPlayersNum, iCount, "ch")
               
        for (new i = 0; i < iCount; i++)
        {
                if (is_user_connected(iPlayersNum))
                {
                        message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, iPlayersNum)
                        write_byte(iPlayersNum)
                        write_string(szMsg)
                        message_end()
                }
        }
}
P.S.: Netestat = Nu am avut timp să mă uit atent peste cod. Deci ceea ce am scris este posibil să fie greşit sau să aibă erori.

If i helped you and you wanna thank me, you can donate at this link : here
This will motivate me to help you in the future.
[If you want a private plugin send me a PM.(No complex plugins please, I am a student and I don't have the time to make those)]
User avatar
codrutzz
Membru, skill +2
Membru, skill +2
Posts: 539
Joined: 29 Jan 2014, 18:27
Detinator Steam: Da
CS Status: Nu citesc forumu xtreamCS* =]]]
Detinator server CS: In curand
SteamID: Personal
Location: Iasi<3
Has thanked: 68 times
Been thanked: 9 times
Contact:

25 Mar 2014, 17:57

Hyperion uita-te in poza:
http://postimg.org/image/7c137klcd/
In poza sunt furien si am Knife Double Katata si presupunem ca furienii castiga si eu raman tot furien dar Knife Double Katata nu mai am si cealalta runda si as vrea sa se mentina pana cand mori . asa sa fie si la Knife Katana la fel si daca poti sa pui o limita la AP de exemplu daca cumpar 100HP + 100 AP la HP mi se pune maxim 255-300 dar AP creste creste pana cand mori si as vrea sa fie AP maxim 350 daca poti Mersii :)>-
User avatar
codrutzz
Membru, skill +2
Membru, skill +2
Posts: 539
Joined: 29 Jan 2014, 18:27
Detinator Steam: Da
CS Status: Nu citesc forumu xtreamCS* =]]]
Detinator server CS: In curand
SteamID: Personal
Location: Iasi<3
Has thanked: 68 times
Been thanked: 9 times
Contact:

26 Mar 2014, 15:16

Rezolvat ..Ms hyperion pentru munca da am pus altu.
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 33 guests