Page 1 of 1

Cerere Shop Furien Clasic

Posted: 16 Sep 2018, 11:30
by HozTeRr
Salutare as dori si eu un shop pentru furien clasic de genul

Anti Furien
Defuse Kit
35 Hp
35 Ap
He Grenade
Smoke Grenade
No Flash


Furien
Super Knife ( Cu dmg 100)
Super Knife2 (Cu dmg 150)
35 Hp
35 Ap
He Grenade
Flashbang


Preturile le pun eu si modelele mie imi trebuie doar pluginul. Va Multumesc!

Re: Cerere Shop Furien Clasic

Posted: 16 Sep 2018, 13:12
by Laurentiu P.
fara no flash | Afiseaza codul
#include <amxmodx>
#include <cstrike>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "Furien Shop Menu"
#define VERSION "0.1"
#define AUTHOR "sasuke_cstrike"

// -- || Take Damage
#define IsPlayer(%0)    ( 1 <= %0 <= g_iMaxPlayers )
new g_iMaxPlayers;

// -- || Bool's
new bool:superknife [ 33 ], superknife2 [ 33 ];

// -- || Constante
new const v_superknife [ 66 ] = "models/v_super_knife.mdl";	// Pui tu model-ul
new const p_superknife [ 64 ] = "models/p_super_knife.mdl";	// Pui tu model-ul
new const v_superknife2 [ 64 ] = "models/v_super_knife2.mdl";	// Pui tu model-ul
new const p_superknife2 [ 64 ] = "models/p_super_knife2.mdl";	// Pui tu model-ul

new const PICK_AMMO[]                   = "items/9mmclip1.wav";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	// -- || Chat
	register_clcmd( "say shop", "ShopCmd");
	register_clcmd( "say /shop", "ShopCmd");
	
	register_clcmd( "say_team shop", "ShopCmd");
	register_clcmd( "say_team /shop", "ShopCmd");
	
	// -- || Event's
	register_event("DeathMsg", "eDeath", "a")
	register_event ( "CurWeapon", "CurrWeapon", "be", "1=1" );
	
	// -- || HamSandwich
	RegisterHam ( Ham_TakeDamage, "player", "Player_TakeDamage" );
	RegisterHam ( Ham_Spawn, "player", "Spawn", true );
	
	// -- || TakeDamage
	g_iMaxPlayers = get_maxplayers ( 	);
	// Add your code here...
}

public eDeath ( ) {
	
	if ( superknife [ read_data ( 2 ) ] ) {
		
		superknife [ read_data ( 2 ) ] = false;
	}
	if ( superknife2 [ read_data ( 2 ) ] ) {
		
		superknife2 [ read_data ( 2 ) ] = false;
	}
}

public plugin_precache ( ) {
	
	//Super-Knife
	precache_model ( v_superknife );
	precache_model ( p_superknife );
	precache_model ( v_superknife2 );
	precache_model ( p_superknife2 );
	precache_sound(PICK_AMMO);
}

public client_disconnect ( id ) {
	superknife[ id ] = false;
	superknife2[ id ] = false;
}
public Spawn( id ) {
	
	if(get_user_team(id) == 1) {
		fm_strip_user_weapons(id) ;
		fm_give_item(id, "weapon_knife") ;
		fm_give_item(id, "weapon_hegrenade");
		
		fm_give_item(id, "weapon_flashbang");
		cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
		
		fm_give_item(id, "weapon_smokegrenade");	
	}
	if(get_user_team(id) == 2) {
		fm_strip_user_weapons(id) ;
		fm_give_item(id, "weapon_knife") ;
		fm_give_item(id, "weapon_hegrenade");
		
		fm_give_item(id, "weapon_smokegrenade");
		
		superknife[ id ] = false;
	}
	
}
public CurrWeapon ( id ) {
	
	if ( superknife [ id ] && get_user_weapon ( id ) == CSW_KNIFE ) {
		
		set_pev ( id, pev_viewmodel2, v_superknife );
		set_pev ( id, pev_weaponmodel2, p_superknife );
		set_pev ( id, pev_viewmodel2, v_superknife2 );
		set_pev ( id, pev_weaponmodel2, p_superknife2 );
	}
}
public ShopCmd(id) {
	
	new iMoney = cs_get_user_money(id);
	switch(get_user_team(id))
	{
		case 1:
		{
			new Titlu[101];
			formatex(Titlu, 100, "\yFurien Shop^n\yBani Tai:\r%d$", iMoney);
			new ShopMenu = menu_create(Titlu, "weaponshandler");  
			
			if(iMoney < 10000) {
				menu_additem(ShopMenu, "Super Knife	\d10000$", "1", 0);
			}
			else
			{
				menu_additem(ShopMenu, "Super Knife2	\y12000$", "1", 0);
			}
			if(iMoney < 12000) {
				menu_additem(ShopMenu, "Super Knife	\d10000$", "2", 0);
			}
			else
			{
				menu_additem(ShopMenu, "Super Knife	\y10000$", "2", 0);
			}
			if(iMoney < 3000) {
				menu_additem(ShopMenu, "\r+50 \wHP	\d3000$", "3", 0);  
			}
			else
			{
				menu_additem(ShopMenu, "\r+50 \wHP	\y3000$", "3", 0);  
			}
			if(iMoney < 500) {
				menu_additem(ShopMenu, "\r+50\w AP	\d500$", "4", 0); 
			}
			else
			{
				menu_additem(ShopMenu, "\r+50\w AP	\y500$", "4", 0);   
			}
			if(iMoney < 3000) {
				menu_additem(ShopMenu, "He Grenade	\d3000$", "5", 0);
			}
			else
			{
				menu_additem(ShopMenu, "He Grenade	\y3000$", "5", 0);
			}
			if(iMoney < 3000) {
				menu_additem(ShopMenu, "Flash Granade	\d3000$", "6", 0);
			}
			else
			{
				menu_additem(ShopMenu, "Flash Granade	\y3000$", "6", 0);
			}
			
			menu_setprop(ShopMenu, MPROP_EXIT, MEXIT_ALL);  
			
			menu_display(id, ShopMenu, 0); 
		}
		case 2:
		{
			new Titlu[101];
			formatex(Titlu, 100, "\yAnti-Furien Shop^n\yBani Tai:\r%d$", iMoney);
			new ShopMenu = menu_create( Titlu, "weaponshandler");  
			
			if(iMoney < 500) {
				menu_additem(ShopMenu, "Defuse KIT	\d500$", "1", 0);
			}
			else
			{
				menu_additem(ShopMenu, "Defuse KIT	\y500$", "1", 0);
			}
			if(iMoney < 3000) {
				menu_additem(ShopMenu, "\r+50 \wHP	\d3000$", "2", 0); 
			}
			else
			{
				menu_additem(ShopMenu, "\r+50 \wHP	\y3000$", "2", 0);  
			}
			if(iMoney < 500) {
				menu_additem(ShopMenu, "\r+50\w AP	\d500$", "3", 0); 
			}
			else
			{
				menu_additem(ShopMenu, "\r+50\w AP	\y500$", "3", 0);  
			}
			if(iMoney < 6000) {
				menu_additem(ShopMenu, "He Grenade	\d6000$", "4", 0);
			}
			else
			{
				menu_additem(ShopMenu, "He Grenade	\y6000$", "4", 0);  
			}
			if(iMoney < 3000) {
				menu_additem(ShopMenu, "Flash Granade	\d3000$", "6", 0);
			}
			else
			{
				menu_additem(ShopMenu, "Flash Granade	\y3000$", "6", 0);
			}
			menu_setprop(ShopMenu, MPROP_EXIT, MEXIT_ALL);  
			
			menu_display(id, ShopMenu, 0); 
		}
	}
	return 1;
}

public weaponshandler(id, ShopMenu, item)  
	{  
	if( item == MENU_EXIT )  
		{  
		menu_destroy(ShopMenu);  
		return PLUGIN_HANDLED;  
	}  
	new data[6], iName[64];  
	new access, callback;  
	menu_item_getinfo(ShopMenu, item, access, data,5, iName, 63, callback);  
	new key = str_to_num(data);  
	
	switch(key)  
	{  
		case 1:  
		{  
			switch(get_user_team(id))
			{
				case 1:
				{
					if(superknife[ id ]) {
						ColorChat(id, "^x04[Shop]^x01 Ai deja super knife.");
						return 1;
					}
					else
					{
						new iMoney = cs_get_user_money(id) - 10000;
						if(iMoney < 0) {
							ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
						}
						else
						{
							emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
							superknife[ id ] = true;
							CurrWeapon(id);
							cs_set_user_money(id, iMoney);
						}
					}
				}
				case 2:
				{
					new iMoney = cs_get_user_money(id) - 500;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
						fm_give_item ( id, "item_thighpack" );
						cs_set_user_money(id, iMoney);
					}
				}
			}
			
		} 
		case 2:  
		{  
			switch(get_user_team(id))
			{
				case 1:
				{
					if(superknife2[ id ]) {
						ColorChat(id, "^x04[Shop]^x01 Ai deja super knife2.");
						return 1;
					}
					else
					{
						new iMoney = cs_get_user_money(id) - 12000;
						if(iMoney < 0) {
							ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
						}
						else
						{
							emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
							superknife2[ id ] = true;
							CurrWeapon(id);
							cs_set_user_money(id, iMoney);
						}
					}
				}
				case 2:
				{
					new iMoney = cs_get_user_money(id) - 500;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
						fm_give_item ( id, "item_thighpack" );
						cs_set_user_money(id, iMoney);
					}
				}
			}
			
		} 
		case 3:   
		{  
			switch(get_user_team(id))
			{
				case 1:
				{
					new iMoney = cs_get_user_money(id) - 3000;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						new iHealth = get_user_health(id);
						if(iHealth >= 250) {
							ColorChat(id, "^x04[Shop]^x01 Ai atins limita maxima de hp.");
						}
						else
						{
							emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
							fm_set_user_health(id, iHealth + 50);
							cs_set_user_money(id, iMoney);
						}
					}
				}
				case 2:
				{
					new iMoney = cs_get_user_money(id) - 3000;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						new iHealth = get_user_health(id);
						if(iHealth >= 250) {
							ColorChat(id, "^x04[Shop]^x01 Ai atins limita maxima de hp.");
						}
						else
						{
							emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
							fm_set_user_health(id, iHealth + 50);
							cs_set_user_money(id, iMoney);
						}
					}
				}
			}  
			
		}  
		case 4:   
		{  
			switch(get_user_team(id))
			{
				case 1:
				{
					new iMoney = cs_get_user_money(id) - 500;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						new iArmor = get_user_armor(id);
						if(iArmor >= 200) {
							ColorChat(id, "^x04[Shop]^x01 Ai atins limita maxima de ap.");
						}
						else
						{
							emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
							fm_set_user_armor(id, iArmor + 50);
							cs_set_user_money(id, iMoney);
						}
					}
				}
				case 2:
				{
					new iMoney = cs_get_user_money(id) - 500;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						new iArmor = get_user_armor(id);
						if(iArmor >= 200) {
							ColorChat(id, "^x04[Shop]^x01 Ai atins limita maxima de ap.");
						}
						else
						{
							emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
							fm_set_user_armor(id, iArmor + 50);
							cs_set_user_money(id, iMoney);
						}
					}
				}
			}  
			
		}  
		case 5:  
		{  
			switch(get_user_team(id))
			{
				case 1:
				{
					new iMoney = cs_get_user_money(id) - 3000;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
						fm_give_item ( id, "weapon_hegrenade" );
						cs_set_user_money(id, iMoney);
					}
				}
				case 2:
				{
					new iMoney = cs_get_user_money(id) - 6000;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
						fm_give_item ( id, "weapon_hegrenade" );
						cs_set_user_money(id, iMoney);
					}
				}
			}  
			
		} 
		case 6:  
		{  
			switch(get_user_team(id))
			{
				case 1:
				{
					new iMoney = cs_get_user_money(id) - 3000;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
						fm_give_item(id, "weapon_flashbang");
						cs_set_user_bpammo(id, CSW_FLASHBANG, 2);
						cs_set_user_money(id, iMoney);
					}
				}
				case 2:
				{
					new iMoney = cs_get_user_money(id) - 6000;
					if(iMoney < 0) {
						ColorChat(id, "^x04[Shop]^x01 Nu ai suficienti bani.");
					}
					else
					{
						emit_sound(id, CHAN_ITEM, PICK_AMMO, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
						fm_give_item(id, "weapon_smokegrenade");
						cs_set_user_money(id, iMoney);
					}
				}
			}  
			
		} 
	}  
	
	
	
	menu_destroy(ShopMenu);  
	return PLUGIN_HANDLED;  
}

public Player_TakeDamage ( iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits )  {
	if ( IsPlayer ( iAttacker ) ) {
		if( iInflictor == iAttacker && superknife [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && get_user_team( iAttacker ) == 1 ) {
			SetHamParamFloat( 4, fDamage * 1.5);
			return HAM_HANDLED;
		}
		if( iInflictor == iAttacker && superknife2 [ iAttacker ] && is_user_alive( iAttacker ) && get_user_weapon( iAttacker ) == CSW_KNIFE && get_user_team( iAttacker ) == 1 ) {
			SetHamParamFloat( 4, fDamage * 2.0);
			return HAM_HANDLED;
		}
	}
	
	return HAM_IGNORED;
}

stock ColorChat(const id, const input[], any:...) {
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, input, 3);
	
	replace_all(msg, 190, "!x04", "^4");
	replace_all(msg, 190, "!x01", "^1");
	replace_all(msg, 190, "!x03", "^3");
	
	if(id) players[0] = id;
	else get_players(players, count, "ch"); {
		for(new i = 0; i < count; i++) {
			if(is_user_connected(players)) {
				message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
				write_byte(players);
				write_string(msg);
				message_end();
			}
		}
	}
}

Re: Cerere Shop Furien Clasic

Posted: 17 Sep 2018, 14:06
by HozTeRr
E o problema la Super Knife-uri si la ap si HE

La sk nu merge skinul pentru al doil-ea si atunci cand ai bani se inverseaza in shop
La Ap HE si HP , hp-ul se adauga si daca cumperi AP iar daca vrei sa cumperi He iti da AP
Cel mai bine ar fi daca l-ai testa si tu inainte :D
| Afiseaza codul
Image