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
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:

23 Mar 2014, 18:09

Descriere plugin cerut: Vreau un shop pentru furien si unul pentru ct.
La ct sa fie:
Shop Anti-Furien:
1. 50 AP [3Credite]
2. 50HP [3Credite]
3. 100HP + 100 AP [9Credite]
4. Defuse Kit [5Credite]
5. He Grenade [3Credite]
6. No Flash [5Credite]
7. Animal-Pet [15Credite]

0. Exit

La furien:
Shop Furien:
1. 50 AP [3Credite]
2. 50HP [3Credite]
3. 100HP + 100AP [9Credite]
4. He Grenade [3Credite]
5. No Flash [5Credite]
6. Knife Katata [15Credite] - aici sa fie un model simplu ..

0. Exit


Alte informatii: sa se deschida prin /shop si creditele sa fie pe sitemul lui aragon . Cine il poate face e super :)>- Si ii multumesc .
Last edited by GhosT *** on 30 Mar 2014, 10:35, edited 1 time in total.
Reason: Rezolvat !
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, 05:22

UP :-"
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, 14:30

Asta e shopu meu, l-ai vazut pe serverul lui CaPy `#
Nu am de gind sa-l postez, dar daca ti-l face cineva bine ;))
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, 14:38

Ce server a lui Capy ? Eu il stiu de pe o poza :-??
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

24 Mar 2014, 15:01

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
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:

24 Mar 2014, 15:06

l-ai facut acum ?Il testez imd :X:XX:X
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

24 Mar 2014, 15:07

Da. L-am facut acum.
Imi pare rau ca nu am avut timp sa il testez. Astept sa vad cum merge :D
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:

24 Mar 2014, 15:11

O sa fac si poze (Daca merge)
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, 15:37

Fooarte fain ^:)^
Poze:
Anti-Furieni: http://postimg.org/image/8ay4rvmol/
Furien: http://postimg.org/image/6m7sbjpz3/ (In mana tineam Katana [Un super Model])

Am cateva rugaminti la HyperioN daca ma poate ajuta,deci [-o< .modificari,cand dau /shop sa mai pot da odata /shop peste doar 5 secunde (pentru a evita spam) sa nu mai apara in say /shop ./shop ./shop ..
si daca poate sa mai puna la Furien un cutit cu x3 DMG model genu ala dar nu chiar identic, sa fie dupa katana (mai jos) si sa coste 30credite. Mersii :)>-
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

24 Mar 2014, 18:18

Poftim :
Netestat | 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 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 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()
                }
        }
}

Model | Afiseaza codul
http://www60.zippyshare.com/v/86980026/file.html
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:

24 Mar 2014, 18:33

Ty,il incerc si daca merge vin si cu poze =D>
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, 19:12

Hyperion nu merge nici sa-l deschid,deci intru scriu /shop scrie sa astept 5 secunde astept 5 secunde scriu /shop zice sa mai astept 5 sec si tot asa:))
Poza: http://postimg.org/image/5xm4dnxhb/
Daca poti sa rezolvi .. :)>-
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: Yandex [Bot] and 20 guests