Raised This Month: $ Target: $400
 0% 

[Help] Custom Buy Menu separate to categories


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
YankoNL
Junior Member
Join Date: Dec 2018
Old 06-04-2021 , 13:03   [Help] Custom Buy Menu separate to categories
Reply With Quote #1

Hello, I am trying to separate a list of custom weapons in to categories(Pistols, Shotguns, Snipers and so on). I am having trouble with that. I tried to edit the codes but the order of buying is messed up.

Original:
Code:
#include <amxmodx>
#include <fakemeta>
#include <zombieplaguenightmare>

#define VIP ADMIN_LEVEL_G

new Array:ItemName
new Array:ItemCost
new Array:ItemMinPlayers
new Array:ItemVip
new Array:ItemLimitInMapP
new Array:ItemLimitInRound
new Array:LimitForAllMap
new Array:LimitForAllRound
new Array:ItemTeam

new g_End, g_Item
new g_LimitInMap[33][512] , g_LimitInRound[33][512]
new g_LimitAllMap, g_LimitAllRound

public plugin_natives()
{
	register_native("zp_register_extra_iteem" , "native_register_extra_item" , 1)
	register_native("OpenWeaponMenu" , "WeaponMenu" , 1)
}

public plugin_init()
{
	g_Item = CreateMultiForward("zp_extra_item_selecteed", ET_CONTINUE, FP_CELL, FP_CELL)
}

public plugin_precache()
{
	ItemName = ArrayCreate(64, 1)
	ItemCost = ArrayCreate(32, 1)
	ItemMinPlayers = ArrayCreate(32, 1)
	ItemVip = ArrayCreate(32, 1)
	ItemLimitInMapP = ArrayCreate(32, 1)
	ItemLimitInRound = ArrayCreate(32, 1)
	LimitForAllMap = ArrayCreate(32, 1)
	LimitForAllRound = ArrayCreate(32, 1)
	ItemTeam =  ArrayCreate(32, 1)
}

public WeaponMenu(Player)
{
	if(!is_user_connected(Player) || !is_user_alive(Player))
	return PLUGIN_HANDLED
	
	if(!ArraySize(ItemName))
	{
		log_amx("[WeaponMenu] No extra items loaded (Name = 0)")
		return PLUGIN_HANDLED
	}
	
	new Menu
	Menu = menu_create("Weapon Menu:" , "WeaponMenuHand")
	new Buffer[64] , Name[32]
	new Item, team
	
	menu_setprop(Menu, MPROP_NUMBER_COLOR, "\r");
	
	for(Item = 0; Item < ArraySize(ItemName); Item ++)
	{
		team = ArrayGetCell(ItemTeam, Item)
		
		if ((zp_get_user_zombie(Player) && !zp_get_user_nemesis(Player) && !zpnm_get_user_assassin(Player) && !(team & ZP_TEAM_ZOMBIE)) || (!zp_get_user_zombie(Player) && !zp_get_user_survivor(Player) && !zpnm_get_user_sniper(Player) && !(team & ZP_TEAM_HUMAN)) || (zp_get_user_nemesis(Player) || (zpnm_get_user_assassin(Player) && !(team & ZP_TEAM_NEMESIS)) && !(team & ZP_TEAM_ASSASSIN)) || (zp_get_user_survivor(Player) && !(team & ZP_TEAM_SURVIVOR)))
			continue
		
		ArrayGetString(ItemName, Item, Name, charsmax(Name))
		
		if(zp_get_user_ammo_packs(Player) < ArrayGetCell(ItemCost, Item))
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\dUnavailable\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else if(ArrayGetCell(ItemMinPlayers, Item) && get_playersnum() < ArrayGetCell(ItemMinPlayers, Item))
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rMin Players: \y%d\w]", Name, ArrayGetCell(ItemCost, Item) , ArrayGetCell(ItemMinPlayers, Item))
		}
		else if(ArrayGetCell(ItemVip, Item) && ArrayGetCell(ItemVip, Item) && !(get_user_flags(Player) & VIP))
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rV.I.P Only\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else if(ArrayGetCell(ItemLimitInMapP, Item) && ArrayGetCell(ItemLimitInMapP, Item) == g_LimitInMap[Player][Item])
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rMap Limit: \y%d\w]", Name, ArrayGetCell(ItemCost, Item) , ArrayGetCell(ItemLimitInMapP, Item))
		}
		else if(ArrayGetCell(ItemLimitInRound, Item) && ArrayGetCell(ItemLimitInRound, Item) == g_LimitInRound[Player][Item])
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rRound Limit: \y%d\w]", Name, ArrayGetCell(ItemCost, Item) , ArrayGetCell(ItemLimitInRound  , Item))
		}
		else if(ArrayGetCell(LimitForAllMap, Item) && ArrayGetCell(LimitForAllMap, Item) == g_LimitAllMap)
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rOut of Stock\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else if(ArrayGetCell(LimitForAllRound, Item) && ArrayGetCell(LimitForAllRound, Item) == g_LimitAllRound)
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rOut of Stock\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else
		{
			formatex(Buffer, charsmax(Buffer), "\w%s \y[%d$]", Name, ArrayGetCell(ItemCost, Item))
		}
		menu_additem(Menu , Buffer)
		
		menu_setprop(Menu, MPROP_NEXTNAME, "Next")
		menu_setprop(Menu, MPROP_BACKNAME, "Back")
		menu_setprop(Menu, MPROP_EXITNAME, "Exit")
	}
	if (pev_valid(Player) == 2) set_pdata_int(Player, 205, 0, 5)
	menu_display(Player, Menu, 0)
	return PLUGIN_HANDLED
}

public WeaponMenuHand(Player, Menu, Item)
{
	if(!is_user_connected(Player) || !is_user_alive(Player))
	return PLUGIN_HANDLED
	
	if(zp_get_user_zombie(Player))
	return PLUGIN_HANDLED
	
	if(Item == MENU_EXIT) 
	{
		menu_destroy(Menu)
		return PLUGIN_HANDLED
	}
	
	new Cost = ArrayGetCell(ItemCost, Item)
	
	if(zp_get_user_ammo_packs(Player) < Cost)
	{
		client_print(Player, print_center, "Not enough money")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemMinPlayers, Item) && get_playersnum() < ArrayGetCell(ItemMinPlayers, Item))
	{
		client_print(Player, print_center, "Need more players")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemVip, Item) && ArrayGetCell(ItemVip, Item) && !(get_user_flags(Player) & VIP))
	{
		client_print(Player, print_center, "You need to be V.I.P")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemLimitInMapP, Item) && ArrayGetCell(ItemLimitInMapP, Item) == g_LimitInMap[Player][Item])
	{
		client_print(Player, print_center, "Weapon map limit reached: [%d]" , ArrayGetCell(ItemLimitInMapP, Item))
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemLimitInRound, Item) && ArrayGetCell(ItemLimitInRound, Item) == g_LimitInRound[Player][Item])
	{
		client_print(Player, print_center, "Weapon round limit reached: [%d]" , ArrayGetCell(ItemLimitInRound, Item))
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(LimitForAllMap, Item) && ArrayGetCell(LimitForAllMap, Item) == g_LimitAllMap)
	{
		client_print(Player, print_center, "This weapon will be available next map.")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(LimitForAllRound, Item) && ArrayGetCell(LimitForAllRound, Item) == g_LimitAllRound)
	{
		client_print(Player, print_center, "This item will be available next round.")
		return PLUGIN_HANDLED
	}
	
	if(ArrayGetCell(ItemLimitInMapP, Item) && ArrayGetCell(ItemLimitInMapP, Item) > g_LimitInMap[Item][Player])
		g_LimitInMap[Player][Item] ++
	if(ArrayGetCell(ItemLimitInRound, Item) && ArrayGetCell(ItemLimitInRound, Item) > g_LimitInRound[Item][Player])
		g_LimitInRound[Player][Item] ++
	if(ArrayGetCell(LimitForAllMap, Item) && ArrayGetCell(LimitForAllMap, Item) > g_LimitAllMap)
		g_LimitAllMap ++
	if(ArrayGetCell(LimitForAllRound, Item) && ArrayGetCell(LimitForAllRound, Item) > g_LimitAllRound)
		g_LimitAllRound ++
	ExecuteForward(g_Item, g_End, Player, Item)
	zp_set_user_ammo_packs(Player, zp_get_user_ammo_packs(Player) - Cost)
	return PLUGIN_HANDLED
}

public zp_round_ended()
{
	g_LimitAllRound = false
	
	static Player, Itemid
	
	for (Player = 1; Player <= get_maxplayers(); Player++)
	{
		if(!is_user_connected(Player)) 
			continue
		
		for (Itemid = 0; Itemid <= ArraySize(ItemName); Itemid++)
		{
			g_LimitInRound[Player][Itemid] = 0
		}
	}
}

public native_register_extra_item(const Name[], Cost, MinPlayers, Vip, LimitInMap, LimitInRound, LimitAllMap, LimitAllRound, Team)
{
	param_convert(1)
	
	ArrayPushString(ItemName, Name)
	ArrayPushCell(ItemCost, Cost)
	ArrayPushCell(ItemMinPlayers, MinPlayers)
	ArrayPushCell(ItemVip, Vip)
	ArrayPushCell(ItemLimitInMapP, LimitInMap)
	ArrayPushCell(ItemLimitInRound, LimitInRound)
	ArrayPushCell(LimitForAllMap, LimitAllMap)
	ArrayPushCell(LimitForAllRound, LimitAllRound)
	ArrayPushCell(ItemTeam, Team)
	
	return ArraySize(ItemName) - 1
}
Code:
#include < amxmodx >
#include < zombieplaguenightmare >

native zp_register_extra_iteem( const Name[] , Cost , MinPlayers , Vip , LimitInMap , LimitInRound , LimitForAllMap , LimitForAllRound , Team )
forward zp_extra_item_selecteed( Player , Item ) 
/*==================================
	Pistols
==================================*/
native give_balrog1(Player)
native give_infinity(Player)
native give_janus1(Player)
//native give_gunslinger(Player)

/*==================================
	Shotguns
==================================*/
native give_spas12(Player)
native give_triplebarrel(Player)
native give_balrog11(Player) // Admin

/*==================================
	Automated Rifles
==================================*/
native give_g11(Player)
native give_cv80(Player)
native give_balrog3(Player)
native give_balrog5(Player)
native give_cartblue(Player)
native give_skull3(Player)
native give_skull4(Player)
native give_plasma Player) //Admin

/*==================================
	Sniper Rifles
==================================*/
native give_bow(Player)
native give_m95(Player)

/*==================================
	Heavy Machiene Guns
==================================*/
native give_janus7(Player)

/*==================================
	Extra Equipment
==================================*/
native give_at4(Player)
native give_spear(Player)
native give_chainsaw(Player)
native give_bazooka(Player)

new const EXTRA_ITEM_COST[] = 				{ 20000 , 10000 , 800 , 1000 , 1500 , 3000 , 15000 , 10000 , 50000 , 30000 , 5000 , 3200 , 2000 , 1700 , 2200 , 7000 , 6500 , 10000 , 50000, 1000 } ;
new const EXTRA_ITEM_MIN_PLAYERS[] = 		{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2, 0 } ;
new const EXTRA_ITEM_VIP[] = 				{ 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 1} ;
new const EXTRA_ITEM_LIMIT_MAP_ID[] = 		{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0 } ;
new const EXTRA_ITEM_LIMIT_ROUND_ID[] =  	{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2, 0 } ;
new const EXTRA_ITEM_LIMIT_MAP_0[] = 		{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0 } ;
new const EXTRA_ITEM_LIMIT_ROUND_0[] = 		{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0 } ;

new gItem[22] ;

public plugin_init()
{ 	
	gItem[0] = zp_register_extra_iteem("Balrog11" , EXTRA_ITEM_COST[0] , EXTRA_ITEM_MIN_PLAYERS[0] , EXTRA_ITEM_VIP[0] , EXTRA_ITEM_LIMIT_MAP_ID[0] , EXTRA_ITEM_LIMIT_ROUND_ID[0], EXTRA_ITEM_LIMIT_MAP_0[0], EXTRA_ITEM_LIMIT_ROUND_0[0], ZP_TEAM_HUMAN )
	gItem[1] = zp_register_extra_iteem("PlasmaGun" , EXTRA_ITEM_COST[1] , EXTRA_ITEM_MIN_PLAYERS[1] , EXTRA_ITEM_VIP[1] , EXTRA_ITEM_LIMIT_MAP_ID[1] , EXTRA_ITEM_LIMIT_ROUND_ID[1], EXTRA_ITEM_LIMIT_MAP_0[1], EXTRA_ITEM_LIMIT_ROUND_0[1], ZP_TEAM_HUMAN )
	gItem[2] = zp_register_extra_iteem("Dual Infinity" , EXTRA_ITEM_COST[2] , EXTRA_ITEM_MIN_PLAYERS[2] , EXTRA_ITEM_VIP[2] , EXTRA_ITEM_LIMIT_MAP_ID[2] , EXTRA_ITEM_LIMIT_ROUND_ID[2], EXTRA_ITEM_LIMIT_MAP_0[2], EXTRA_ITEM_LIMIT_ROUND_0[2], ZP_TEAM_HUMAN )
	gItem[3] = zp_register_extra_iteem("Janus1" , EXTRA_ITEM_COST[3] , EXTRA_ITEM_MIN_PLAYERS[3] , EXTRA_ITEM_VIP[3] , EXTRA_ITEM_LIMIT_MAP_ID[3] , EXTRA_ITEM_LIMIT_ROUND_ID[3], EXTRA_ITEM_LIMIT_MAP_0[3], EXTRA_ITEM_LIMIT_ROUND_0[3], ZP_TEAM_HUMAN )
	gItem[4] = zp_register_extra_iteem("Balrog3" , EXTRA_ITEM_COST[4] , EXTRA_ITEM_MIN_PLAYERS[4] , EXTRA_ITEM_VIP[4] , EXTRA_ITEM_LIMIT_MAP_ID[4] , EXTRA_ITEM_LIMIT_ROUND_ID[4], EXTRA_ITEM_LIMIT_MAP_0[4], EXTRA_ITEM_LIMIT_ROUND_0[4], ZP_TEAM_HUMAN )
	gItem[5] = zp_register_extra_iteem("Balrog5" , EXTRA_ITEM_COST[5] , EXTRA_ITEM_MIN_PLAYERS[5] , EXTRA_ITEM_VIP[5] , EXTRA_ITEM_LIMIT_MAP_ID[5] , EXTRA_ITEM_LIMIT_ROUND_ID[5], EXTRA_ITEM_LIMIT_MAP_0[5], EXTRA_ITEM_LIMIT_ROUND_0[5], ZP_TEAM_HUMAN )
	gItem[6] = zp_register_extra_iteem("Skull3" , EXTRA_ITEM_COST[6] , EXTRA_ITEM_MIN_PLAYERS[6] , EXTRA_ITEM_VIP[6] , EXTRA_ITEM_LIMIT_MAP_ID[6] , EXTRA_ITEM_LIMIT_ROUND_ID[6], EXTRA_ITEM_LIMIT_MAP_0[6], EXTRA_ITEM_LIMIT_ROUND_0[6], ZP_TEAM_HUMAN )
	gItem[7] = zp_register_extra_iteem("Skull4" , EXTRA_ITEM_COST[7] , EXTRA_ITEM_MIN_PLAYERS[7] , EXTRA_ITEM_VIP[7] , EXTRA_ITEM_LIMIT_MAP_ID[7] , EXTRA_ITEM_LIMIT_ROUND_ID[7], EXTRA_ITEM_LIMIT_MAP_0[7], EXTRA_ITEM_LIMIT_ROUND_0[7], ZP_TEAM_HUMAN )
	gItem[8] = zp_register_extra_iteem("Janus7" , EXTRA_ITEM_COST[8] , EXTRA_ITEM_MIN_PLAYERS[8] , EXTRA_ITEM_VIP[8] , EXTRA_ITEM_LIMIT_MAP_ID[8] , EXTRA_ITEM_LIMIT_ROUND_ID[8], EXTRA_ITEM_LIMIT_MAP_0[8], EXTRA_ITEM_LIMIT_ROUND_0[8], ZP_TEAM_HUMAN )
	gItem[9] = zp_register_extra_iteem("AT4" , EXTRA_ITEM_COST[9] , EXTRA_ITEM_MIN_PLAYERS[9] , EXTRA_ITEM_VIP[9] , EXTRA_ITEM_LIMIT_MAP_ID[9] , EXTRA_ITEM_LIMIT_ROUND_ID[9], EXTRA_ITEM_LIMIT_MAP_0[9], EXTRA_ITEM_LIMIT_ROUND_0[9], ZP_TEAM_HUMAN )
	gItem[10] = zp_register_extra_iteem("Bow" , EXTRA_ITEM_COST[10] , EXTRA_ITEM_MIN_PLAYERS[10] , EXTRA_ITEM_VIP[10] , EXTRA_ITEM_LIMIT_MAP_ID[10] , EXTRA_ITEM_LIMIT_ROUND_ID[10], EXTRA_ITEM_LIMIT_MAP_0[10], EXTRA_ITEM_LIMIT_ROUND_0[10], ZP_TEAM_HUMAN )
	gItem[11] = zp_register_extra_iteem("CV80" , EXTRA_ITEM_COST[11] , EXTRA_ITEM_MIN_PLAYERS[11] , EXTRA_ITEM_VIP[11] , EXTRA_ITEM_LIMIT_MAP_ID[11] , EXTRA_ITEM_LIMIT_ROUND_ID[11], EXTRA_ITEM_LIMIT_MAP_0[11], EXTRA_ITEM_LIMIT_ROUND_0[11], ZP_TEAM_HUMAN )
	gItem[12] = zp_register_extra_iteem("G11" , EXTRA_ITEM_COST[12] , EXTRA_ITEM_MIN_PLAYERS[12] , EXTRA_ITEM_VIP[12] , EXTRA_ITEM_LIMIT_MAP_ID[12] , EXTRA_ITEM_LIMIT_ROUND_ID[12], EXTRA_ITEM_LIMIT_MAP_0[12], EXTRA_ITEM_LIMIT_ROUND_0[12], ZP_TEAM_HUMAN )
	gItem[13] = zp_register_extra_iteem("Spas12" , EXTRA_ITEM_COST[13] , EXTRA_ITEM_MIN_PLAYERS[13] , EXTRA_ITEM_VIP[13] , EXTRA_ITEM_LIMIT_MAP_ID[13] , EXTRA_ITEM_LIMIT_ROUND_ID[13], EXTRA_ITEM_LIMIT_MAP_0[13], EXTRA_ITEM_LIMIT_ROUND_0[13], ZP_TEAM_HUMAN )
	gItem[14] = zp_register_extra_iteem("TripleBarrel" , EXTRA_ITEM_COST[14] , EXTRA_ITEM_MIN_PLAYERS[14] , EXTRA_ITEM_VIP[14] , EXTRA_ITEM_LIMIT_MAP_ID[14] , EXTRA_ITEM_LIMIT_ROUND_ID[14], EXTRA_ITEM_LIMIT_MAP_0[14], EXTRA_ITEM_LIMIT_ROUND_0[14], ZP_TEAM_HUMAN )
	gItem[15] = zp_register_extra_iteem("M95" , EXTRA_ITEM_COST[15] , EXTRA_ITEM_MIN_PLAYERS[15] , EXTRA_ITEM_VIP[15] , EXTRA_ITEM_LIMIT_MAP_ID[15] , EXTRA_ITEM_LIMIT_ROUND_ID[15], EXTRA_ITEM_LIMIT_MAP_0[15], EXTRA_ITEM_LIMIT_ROUND_0[15], ZP_TEAM_HUMAN )
	gItem[16] = zp_register_extra_iteem("Spear" , EXTRA_ITEM_COST[16] , EXTRA_ITEM_MIN_PLAYERS[16] , EXTRA_ITEM_VIP[16] , EXTRA_ITEM_LIMIT_MAP_ID[16] , EXTRA_ITEM_LIMIT_ROUND_ID[16], EXTRA_ITEM_LIMIT_MAP_0[16], EXTRA_ITEM_LIMIT_ROUND_0[16], ZP_TEAM_HUMAN )
	gItem[17] = zp_register_extra_iteem("Cart Blue" , EXTRA_ITEM_COST[17] , EXTRA_ITEM_MIN_PLAYERS[17] , EXTRA_ITEM_VIP[17] , EXTRA_ITEM_LIMIT_MAP_ID[17] , EXTRA_ITEM_LIMIT_ROUND_ID[17], EXTRA_ITEM_LIMIT_MAP_0[17], EXTRA_ITEM_LIMIT_ROUND_0[17], ZP_TEAM_HUMAN )
	gItem[18] = zp_register_extra_iteem("ChainSaw" , EXTRA_ITEM_COST[18] , EXTRA_ITEM_MIN_PLAYERS[18] , EXTRA_ITEM_VIP[18] , EXTRA_ITEM_LIMIT_MAP_ID[18] , EXTRA_ITEM_LIMIT_ROUND_ID[18], EXTRA_ITEM_LIMIT_MAP_0[18], EXTRA_ITEM_LIMIT_ROUND_0[18], ZP_TEAM_HUMAN )
	gItem[19] = zp_register_extra_iteem("Bazooka" , EXTRA_ITEM_COST[19] , EXTRA_ITEM_MIN_PLAYERS[19] , EXTRA_ITEM_VIP[19] , EXTRA_ITEM_LIMIT_MAP_ID[19] , EXTRA_ITEM_LIMIT_ROUND_ID[19], EXTRA_ITEM_LIMIT_MAP_0[19], EXTRA_ITEM_LIMIT_ROUND_0[19], ZP_TEAM_HUMAN )
}

public zp_extra_item_selecteed( Player , Item )
{
	if( Item == gItem[0] ) GiveWeapon( Player , 1 ) ;
	if( Item == gItem[1] ) GiveWeapon( Player , 2 ) ;
	if( Item == gItem[2] ) GiveWeapon( Player , 3 ) ;
	if( Item == gItem[3] ) GiveWeapon( Player , 4 ) ;
	if( Item == gItem[4] ) GiveWeapon( Player , 5 ) ;
	if( Item == gItem[5] ) GiveWeapon( Player , 6 ) ;
	if( Item == gItem[6] ) GiveWeapon( Player , 7 ) ;
	if( Item == gItem[7] ) GiveWeapon( Player , 8 ) ;
	if( Item == gItem[8] ) GiveWeapon( Player , 9 ) ;
	if( Item == gItem[9] ) GiveWeapon( Player , 10 ) ;
	if( Item == gItem[10] ) GiveWeapon( Player , 11 ) ;
	if( Item == gItem[11] ) GiveWeapon( Player , 12 ) ;
	if( Item == gItem[12] ) GiveWeapon( Player , 13 ) ;
	if( Item == gItem[13] ) GiveWeapon( Player , 14 ) ;
	if( Item == gItem[14] ) GiveWeapon( Player , 15 ) ;
	if( Item == gItem[15] ) GiveWeapon( Player , 16 ) ;
	if( Item == gItem[16] ) GiveWeapon( Player , 17 ) ;
	if( Item == gItem[17] ) GiveWeapon( Player , 18 ) ;
	if( Item == gItem[18] ) GiveWeapon( Player , 19 ) ;
	if( Item == gItem[19] ) GiveWeapon( Player , 20 ) ;
}

public GiveWeapon( Player , Weapon )
{
	switch( Weapon )
	{
		case 1: 	give_balrog11( Player ) ;
		case 2: 	give_plasma( Player ) ;
		case 3: 	give_infinity( Player ) ;
		case 4: 	give_janus1( Player ) ;
		case 5: 	give_balrog3( Player ) ;
		case 6: 	give_balrog5( Player ) ;
		case 7: 	give_skull3( Player ) ;
		case 8: 	give_skull4( Player ) ;
		case 9: 	give_janus7( Player ) ;
		case 10: 	give_at4( Player ) ;
		case 11: 	give_bow( Player ) ;
		case 12: 	give_cv80( Player ) ;
		case 13: 	give_g11( Player ) ;
		case 14: 	give_spas12( Player ) ;
		case 15: 	give_triplebarrel( Player ) ;
		case 16: 	give_m95( Player ) ;
		case 17: 	give_spear( Player ) ;
		case 18: 	give_cartblue( Player ) ;
		case 19: 	give_chainsaw( Player ) ;
		case 20:	give_bazooka(Player);
	}
}
The mess I made:
Code:
#include <amxmodx>
#include <fakemeta>
#include <zombieplaguenightmare>

#define VIP ADMIN_LEVEL_G

new Array:ItemName
new Array:ItemSort
new Array:ItemCost
new Array:ItemMinPlayers
new Array:ItemVip
new Array:ItemLimitInMapP
new Array:ItemLimitInRound
new Array:LimitForAllMap
new Array:LimitForAllRound
new Array:ItemTeam

new g_End, g_Item
new g_LimitInMap[33][512] , g_LimitInRound[33][512]
new g_LimitAllMap, g_LimitAllRound

public plugin_natives()
{
	register_native("zp_register_extra_iteem" , "native_register_extra_item" , 1)
	register_native("OpenWeaponMenu" , "WeaponMenu" , 1)
}

public plugin_init()
{
	register_clcmd( "say /buy","MainMenu")
	g_Item = CreateMultiForward("zp_extra_item_selecteed", ET_CONTINUE, FP_CELL, FP_CELL)
}

public plugin_precache()
{
	ItemName = ArrayCreate(64, 1)
	ItemSort = ArrayCreate(8, 1)
	ItemCost = ArrayCreate(32, 1)
	ItemMinPlayers = ArrayCreate(32, 1)
	ItemVip = ArrayCreate(32, 1)
	ItemLimitInMapP = ArrayCreate(32, 1)
	ItemLimitInRound = ArrayCreate(32, 1)
	LimitForAllMap = ArrayCreate(32, 1)
	LimitForAllRound = ArrayCreate(32, 1)
	ItemTeam =  ArrayCreate(32, 1)
}

public MainMenu(Player)
{
	new MenuMain = menu_create("Main Gun Menu", "menu_gun_handler")

	menu_additem(MenuMain, "Pistols", "", 0)
	menu_additem(MenuMain, "Shotguns", "", 0)

	menu_display(Player, MenuMain, 0)
}

public menu_gun_handler(Player, MenuMain, Item)
{
	if(!is_user_connected(Player) || !is_user_alive(Player))
	return PLUGIN_HANDLED
	
	if(zp_get_user_zombie(Player))
	return PLUGIN_HANDLED
	
	switch(Item)
	{
		case 0:
		{
			PistolMenu(Player)
		}
		case 1:
		{
			WeaponMenu(Player)
		}
	}
	
	if(Item == MENU_EXIT) 
	{
		menu_destroy(MenuMain)
		return PLUGIN_HANDLED
	}
	return PLUGIN_HANDLED
}

public WeaponMenu(Player)
{
	if(!is_user_connected(Player) || !is_user_alive(Player))
	return PLUGIN_HANDLED
	
	if(!ArraySize(ItemName))
	{
		log_amx("[WeaponMenu] No extra items loaded (Name = 0)")
		return PLUGIN_HANDLED
	}
	
	new MenuWeapons
	MenuWeapons = menu_create("Weapon Buy Menu:" , "WeaponMenuHand")
	new Buffer[64] , Name[32]
	new Item, team
	
	menu_setprop(MenuWeapons, MPROP_NUMBER_COLOR, "\r");
	
	for(Item = 0; Item < ArraySize(ItemName); Item ++)
	{
		team = ArrayGetCell(ItemTeam, Item)
		
		if ((zp_get_user_zombie(Player) && !zp_get_user_nemesis(Player) && !zpnm_get_user_assassin(Player) && !(team & ZP_TEAM_ZOMBIE)) || (!zp_get_user_zombie(Player) && !zp_get_user_survivor(Player) && !zpnm_get_user_sniper(Player) && !(team & ZP_TEAM_HUMAN)) || (zp_get_user_nemesis(Player) || (zpnm_get_user_assassin(Player) && !(team & ZP_TEAM_NEMESIS)) && !(team & ZP_TEAM_ASSASSIN)) || (zp_get_user_survivor(Player) && !(team & ZP_TEAM_SURVIVOR)))
			continue
		
		ArrayGetString(ItemName, Item, Name, charsmax(Name))
		
		if(zp_get_user_ammo_packs(Player) < ArrayGetCell(ItemCost, Item))
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\dUnavailable\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else if(ArrayGetCell(ItemMinPlayers, Item) && get_playersnum() < ArrayGetCell(ItemMinPlayers, Item))
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rMin Players: \y%d\w]", Name, ArrayGetCell(ItemCost, Item) , ArrayGetCell(ItemMinPlayers, Item))
		}
		else if(ArrayGetCell(ItemVip, Item) && ArrayGetCell(ItemVip, Item) && !(get_user_flags(Player) & VIP))
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rV.I.P Only\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else if(ArrayGetCell(ItemLimitInMapP, Item) && ArrayGetCell(ItemLimitInMapP, Item) == g_LimitInMap[Player][Item])
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rMap Limit: \y%d\w]", Name, ArrayGetCell(ItemCost, Item) , ArrayGetCell(ItemLimitInMapP, Item))
		}
		else if(ArrayGetCell(ItemLimitInRound, Item) && ArrayGetCell(ItemLimitInRound, Item) == g_LimitInRound[Player][Item])
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rRound Limit: \y%d\w]", Name, ArrayGetCell(ItemCost, Item) , ArrayGetCell(ItemLimitInRound  , Item))
		}
		else if(ArrayGetCell(LimitForAllMap, Item) && ArrayGetCell(LimitForAllMap, Item) == g_LimitAllMap)
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rOut of Stock\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else if(ArrayGetCell(LimitForAllRound, Item) && ArrayGetCell(LimitForAllRound, Item) == g_LimitAllRound)
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rOut of Stock\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else
		{
			formatex(Buffer, charsmax(Buffer), "\w%s \y[%d$]", Name, ArrayGetCell(ItemCost, Item))
		}
		menu_additem(MenuWeapons , Buffer)
		
		menu_setprop(MenuWeapons, MPROP_NEXTNAME, "Next")
		menu_setprop(MenuWeapons, MPROP_BACKNAME, "Back")
		menu_setprop(MenuWeapons, MPROP_EXITNAME, "Exit")
	}
	if(pev_valid(Player) == 2) set_pdata_int(Player, 205, 0, 5)
	menu_display(Player, MenuWeapons, 0)
	return PLUGIN_HANDLED
}

public WeaponMenuHand(Player, MenuWeapons, Item)
{
	if(!is_user_connected(Player) || !is_user_alive(Player))
	return PLUGIN_HANDLED
	
	if(zp_get_user_zombie(Player))
	return PLUGIN_HANDLED
	
	if(Item == MENU_EXIT) 
	{
		menu_destroy(MenuWeapons)
		return PLUGIN_HANDLED
	}
	
	new Cost = ArrayGetCell(ItemCost, Item)
	
	if(zp_get_user_ammo_packs(Player) < Cost)
	{
		client_print(Player, print_center, "Not enough money")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemMinPlayers, Item) && get_playersnum() < ArrayGetCell(ItemMinPlayers, Item))
	{
		client_print(Player, print_center, "Need more players")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemVip, Item) && ArrayGetCell(ItemVip, Item) && !(get_user_flags(Player) & VIP))
	{
		client_print(Player, print_center, "You need to be V.I.P")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemLimitInMapP, Item) && ArrayGetCell(ItemLimitInMapP, Item) == g_LimitInMap[Player][Item])
	{
		client_print(Player, print_center, "Weapon map limit reached: [%d]" , ArrayGetCell(ItemLimitInMapP, Item))
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemLimitInRound, Item) && ArrayGetCell(ItemLimitInRound, Item) == g_LimitInRound[Player][Item])
	{
		client_print(Player, print_center, "Weapon round limit reached: [%d]" , ArrayGetCell(ItemLimitInRound, Item))
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(LimitForAllMap, Item) && ArrayGetCell(LimitForAllMap, Item) == g_LimitAllMap)
	{
		client_print(Player, print_center, "This weapon will be available next map.")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(LimitForAllRound, Item) && ArrayGetCell(LimitForAllRound, Item) == g_LimitAllRound)
	{
		client_print(Player, print_center, "This item will be available next round.")
		return PLUGIN_HANDLED
	}
	
	if(ArrayGetCell(ItemLimitInMapP, Item) && ArrayGetCell(ItemLimitInMapP, Item) > g_LimitInMap[Item][Player])
		g_LimitInMap[Player][Item] ++
	if(ArrayGetCell(ItemLimitInRound, Item) && ArrayGetCell(ItemLimitInRound, Item) > g_LimitInRound[Item][Player])
		g_LimitInRound[Player][Item] ++
	if(ArrayGetCell(LimitForAllMap, Item) && ArrayGetCell(LimitForAllMap, Item) > g_LimitAllMap)
		g_LimitAllMap ++
	if(ArrayGetCell(LimitForAllRound, Item) && ArrayGetCell(LimitForAllRound, Item) > g_LimitAllRound)
		g_LimitAllRound ++
	ExecuteForward(g_Item, g_End, Player, Item)
	zp_set_user_ammo_packs(Player, zp_get_user_ammo_packs(Player) - Cost)
	return PLUGIN_HANDLED
}

public PistolMenu(Player)
{
	new PistolMenu
	PistolMenu = menu_create("Weapon Buy Menu:" , "menu_handler1")
	new Buffer[64] , Name[32]
	new Item, team
	
	menu_setprop(PistolMenu, MPROP_NUMBER_COLOR, "\r");
	
	for(Item = 0; Item < ArraySize(ItemName); Item ++)
	{
		team = ArrayGetCell(ItemTeam, Item)
		
		if ((zp_get_user_zombie(Player) && !zp_get_user_nemesis(Player) && !zpnm_get_user_assassin(Player) && !(team & ZP_TEAM_ZOMBIE)) || (!zp_get_user_zombie(Player) && !zp_get_user_survivor(Player) && !zpnm_get_user_sniper(Player) && !(team & ZP_TEAM_HUMAN)) || (zp_get_user_nemesis(Player) || (zpnm_get_user_assassin(Player) && !(team & ZP_TEAM_NEMESIS)) && !(team & ZP_TEAM_ASSASSIN)) || (zp_get_user_survivor(Player) && !(team & ZP_TEAM_SURVIVOR)))
			continue
			
		if (ArrayGetCell(ItemSort, Item) == 1)
		{
		ArrayGetString(ItemName, Item, Name, charsmax(Name))
		
		if(zp_get_user_ammo_packs(Player) < ArrayGetCell(ItemCost, Item))
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\dUnavailable\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else if(ArrayGetCell(ItemMinPlayers, Item) && get_playersnum() < ArrayGetCell(ItemMinPlayers, Item))
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rMin Players: \y%d\w]", Name, ArrayGetCell(ItemCost, Item) , ArrayGetCell(ItemMinPlayers, Item))
		}
		else if(ArrayGetCell(ItemVip, Item) && ArrayGetCell(ItemVip, Item) && !(get_user_flags(Player) & VIP))
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rV.I.P Only\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else if(ArrayGetCell(ItemLimitInMapP, Item) && ArrayGetCell(ItemLimitInMapP, Item) == g_LimitInMap[Player][Item])
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rMap Limit: \y%d\w]", Name, ArrayGetCell(ItemCost, Item) , ArrayGetCell(ItemLimitInMapP, Item))
		}
		else if(ArrayGetCell(ItemLimitInRound, Item) && ArrayGetCell(ItemLimitInRound, Item) == g_LimitInRound[Player][Item])
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rRound Limit: \y%d\w]", Name, ArrayGetCell(ItemCost, Item) , ArrayGetCell(ItemLimitInRound  , Item))
		}
		else if(ArrayGetCell(LimitForAllMap, Item) && ArrayGetCell(LimitForAllMap, Item) == g_LimitAllMap)
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rOut of Stock\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else if(ArrayGetCell(LimitForAllRound, Item) && ArrayGetCell(LimitForAllRound, Item) == g_LimitAllRound)
		{
			formatex(Buffer, charsmax(Buffer), "\d%s %d$ \w[\rOut of Stock\w]", Name, ArrayGetCell(ItemCost, Item))
		}
		else
		{
			formatex(Buffer, charsmax(Buffer), "\w%s \y[%d$]", Name, ArrayGetCell(ItemCost, Item))
		}
		menu_additem(PistolMenu , Buffer)
		
		menu_setprop(PistolMenu, MPROP_NEXTNAME, "Next")
		menu_setprop(PistolMenu, MPROP_BACKNAME, "Back")
		menu_setprop(PistolMenu, MPROP_EXITNAME, "Exit")
		}
	}
	if(pev_valid(Player) == 2) set_pdata_int(Player, 205, 0, 5)
	menu_display(Player, PistolMenu, 0)
	return PLUGIN_HANDLED
}

public menu_handler1(Player, PistolMenu, Item)
{
	if(!is_user_connected(Player) || !is_user_alive(Player))
	return PLUGIN_HANDLED
	
	if(zp_get_user_zombie(Player))
	return PLUGIN_HANDLED
	
	if(Item == MENU_EXIT) 
	{
		menu_destroy(PistolMenu)
		return PLUGIN_HANDLED
	}
	
	if (ArrayGetCell(ItemSort, Item) == 1)
	{
	new Cost = ArrayGetCell(ItemCost, Item)
	
	if(zp_get_user_ammo_packs(Player) < Cost)
	{
		client_print(Player, print_center, "Not enough money")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemMinPlayers, Item) && get_playersnum() < ArrayGetCell(ItemMinPlayers, Item))
	{
		client_print(Player, print_center, "Need more players")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemVip, Item) && ArrayGetCell(ItemVip, Item) && !(get_user_flags(Player) & VIP))
	{
		client_print(Player, print_center, "You need to be V.I.P")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemLimitInMapP, Item) && ArrayGetCell(ItemLimitInMapP, Item) == g_LimitInMap[Player][Item])
	{
		client_print(Player, print_center, "Weapon map limit reached: [%d]" , ArrayGetCell(ItemLimitInMapP, Item))
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(ItemLimitInRound, Item) && ArrayGetCell(ItemLimitInRound, Item) == g_LimitInRound[Player][Item])
	{
		client_print(Player, print_center, "Weapon round limit reached: [%d]" , ArrayGetCell(ItemLimitInRound, Item))
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(LimitForAllMap, Item) && ArrayGetCell(LimitForAllMap, Item) == g_LimitAllMap)
	{
		client_print(Player, print_center, "This weapon will be available next map.")
		return PLUGIN_HANDLED
	}
	if(ArrayGetCell(LimitForAllRound, Item) && ArrayGetCell(LimitForAllRound, Item) == g_LimitAllRound)
	{
		client_print(Player, print_center, "This item will be available next round.")
		return PLUGIN_HANDLED
	}
	
	if(ArrayGetCell(ItemLimitInMapP, Item) && ArrayGetCell(ItemLimitInMapP, Item) > g_LimitInMap[Item][Player])
		g_LimitInMap[Player][Item] ++
	if(ArrayGetCell(ItemLimitInRound, Item) && ArrayGetCell(ItemLimitInRound, Item) > g_LimitInRound[Item][Player])
		g_LimitInRound[Player][Item] ++
	if(ArrayGetCell(LimitForAllMap, Item) && ArrayGetCell(LimitForAllMap, Item) > g_LimitAllMap)
		g_LimitAllMap ++
	if(ArrayGetCell(LimitForAllRound, Item) && ArrayGetCell(LimitForAllRound, Item) > g_LimitAllRound)
		g_LimitAllRound ++
	ExecuteForward(g_Item, g_End, Player, Item)
	zp_set_user_ammo_packs(Player, zp_get_user_ammo_packs(Player) - Cost)
	return PLUGIN_HANDLED
	}
	return PLUGIN_HANDLED
}

public zp_round_ended()
{
	g_LimitAllRound = false
	
	static Player, Itemid
	
	for (Player = 1; Player <= get_maxplayers(); Player++)
	{
		if(!is_user_connected(Player)) 
			continue
		
		for (Itemid = 0; Itemid <= ArraySize(ItemName); Itemid++)
		{
			g_LimitInRound[Player][Itemid] = 0
		}
	}
}

public native_register_extra_item(const Name[], Sort, Cost, MinPlayers, Vip, LimitInMap, LimitInRound, LimitAllMap, LimitAllRound, Team)
{
	param_convert(1)
	
	ArrayPushString(ItemName, Name)
	ArrayPushCell(ItemSort, Sort)
	ArrayPushCell(ItemCost, Cost)
	ArrayPushCell(ItemMinPlayers, MinPlayers)
	ArrayPushCell(ItemVip, Vip)
	ArrayPushCell(ItemLimitInMapP, LimitInMap)
	ArrayPushCell(ItemLimitInRound, LimitInRound)
	ArrayPushCell(LimitForAllMap, LimitAllMap)
	ArrayPushCell(LimitForAllRound, LimitAllRound)
	ArrayPushCell(ItemTeam, Team)
	
	return ArraySize(ItemName) - 1
}
Code:
#include < amxmodx >
#include < zombieplaguenightmare >

native zp_register_extra_iteem(const Name[], Sort, Cost, MinPlayers, Vip, LimitInMap, LimitInRound, LimitForAllMap, LimitForAllRound, Team)
forward zp_extra_item_selecteed(Player , Item)
/*==================================
	Pistols
==================================*/
native give_balrog1(Player)
native give_infinity(Player)
native give_janus1(Player)
//native give_gunslinger(Player)

/*==================================
	Shotguns
==================================*/
native give_spas12(Player)
native give_triplebarrel(Player)
native give_balrog11(Player) // Admin

/*==================================
	Automated Rifles
==================================*/
native give_g11(Player)
native give_cv80(Player)
native give_balrog3(Player)
native give_balrog5(Player)
native give_cartblue(Player)
native give_skull3(Player)
native give_skull4(Player)
native give_plasma(Player) //Admin

/*==================================
	Sniper Rifles
==================================*/
native give_bow(Player)
native give_m95(Player)

/*==================================
	Heavy Machiene Guns
==================================*/
native give_janus7(Player)

/*==================================
	Extra Equipment
==================================*/
native give_at4(Player)
native give_spear(Player)
native give_chainsaw(Player)
native give_bazooka(Player)

/*==================================
	Settings
==================================*/

new const EXTRA_ITEM_SORT[] =			{ 2	, 3 , 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 1 } ;
new const EXTRA_ITEM_COST[] =			{ 20000, 10000, 800, 1000, 1500, 3000,  15000, 10000, 50000, 30000, 5000, 3200, 2000, 1700, 2200, 7000, 6500, 10000, 50000, 1000, 1000}
new const EXTRA_ITEM_MIN_PLAYERS[] =	{ 0	, 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2, 0, 0 } ;
new const EXTRA_ITEM_VIP[] =			{ 1 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 1, 1 } ;
new const EXTRA_ITEM_LIMIT_MAP_ID[] =	{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0 } ;
new const EXTRA_ITEM_LIMIT_ROUND_ID[] =	{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 2, 0, 0 } ;
new const EXTRA_ITEM_LIMIT_MAP_0[] =	{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0 } ;
new const EXTRA_ITEM_LIMIT_ROUND_0[] =	{ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0, 0, 0 } ;

new gItem[22] ;

/*============================================================================================================================================================
 Syntaxis (Name | Cost | Min Players | VIP Only | Personal Limit Map | Personal Limit Round | Global Limit Map | Global Round Limit | ZP_TEAM_HUMAN or ZOMBIE)
 Example: gItem[1234] = zp_register_extra_iteem("AK-47", 2750, 0, 0, 0, 0, 0, 0, ZP_TEAM_HUMAN)
============================================================================================================================================================*/
public plugin_init()
{
	gItem[0] = zp_register_extra_iteem("Balrog11" , EXTRA_ITEM_SORT[0], EXTRA_ITEM_COST[0] , EXTRA_ITEM_MIN_PLAYERS[0] , EXTRA_ITEM_VIP[0] , EXTRA_ITEM_LIMIT_MAP_ID[0] , EXTRA_ITEM_LIMIT_ROUND_ID[0], EXTRA_ITEM_LIMIT_MAP_0[0], EXTRA_ITEM_LIMIT_ROUND_0[0], ZP_TEAM_HUMAN )
	gItem[1] = zp_register_extra_iteem("PlasmaGun" , EXTRA_ITEM_SORT[1], EXTRA_ITEM_COST[1] , EXTRA_ITEM_MIN_PLAYERS[1] , EXTRA_ITEM_VIP[1] , EXTRA_ITEM_LIMIT_MAP_ID[1] , EXTRA_ITEM_LIMIT_ROUND_ID[1], EXTRA_ITEM_LIMIT_MAP_0[1], EXTRA_ITEM_LIMIT_ROUND_0[1], ZP_TEAM_HUMAN )
	gItem[2] = zp_register_extra_iteem("Dual Infinity" , EXTRA_ITEM_SORT[2], EXTRA_ITEM_COST[2] , EXTRA_ITEM_MIN_PLAYERS[2] , EXTRA_ITEM_VIP[2] , EXTRA_ITEM_LIMIT_MAP_ID[2] , EXTRA_ITEM_LIMIT_ROUND_ID[2], EXTRA_ITEM_LIMIT_MAP_0[2], EXTRA_ITEM_LIMIT_ROUND_0[2], ZP_TEAM_HUMAN )
	gItem[3] = zp_register_extra_iteem("Janus1" , EXTRA_ITEM_SORT[3], EXTRA_ITEM_COST[3] , EXTRA_ITEM_MIN_PLAYERS[3] , EXTRA_ITEM_VIP[3] , EXTRA_ITEM_LIMIT_MAP_ID[3] , EXTRA_ITEM_LIMIT_ROUND_ID[3], EXTRA_ITEM_LIMIT_MAP_0[3], EXTRA_ITEM_LIMIT_ROUND_0[3], ZP_TEAM_HUMAN )
	gItem[4] = zp_register_extra_iteem("Balrog3" , EXTRA_ITEM_SORT[4], EXTRA_ITEM_COST[4] , EXTRA_ITEM_MIN_PLAYERS[4] , EXTRA_ITEM_VIP[4] , EXTRA_ITEM_LIMIT_MAP_ID[4] , EXTRA_ITEM_LIMIT_ROUND_ID[4], EXTRA_ITEM_LIMIT_MAP_0[4], EXTRA_ITEM_LIMIT_ROUND_0[4], ZP_TEAM_HUMAN )
	gItem[5] = zp_register_extra_iteem("Balrog5" , EXTRA_ITEM_SORT[5], EXTRA_ITEM_COST[5] , EXTRA_ITEM_MIN_PLAYERS[5] , EXTRA_ITEM_VIP[5] , EXTRA_ITEM_LIMIT_MAP_ID[5] , EXTRA_ITEM_LIMIT_ROUND_ID[5], EXTRA_ITEM_LIMIT_MAP_0[5], EXTRA_ITEM_LIMIT_ROUND_0[5], ZP_TEAM_HUMAN )
	gItem[6] = zp_register_extra_iteem("Skull3" , EXTRA_ITEM_SORT[6], EXTRA_ITEM_COST[6] , EXTRA_ITEM_MIN_PLAYERS[6] , EXTRA_ITEM_VIP[6] , EXTRA_ITEM_LIMIT_MAP_ID[6] , EXTRA_ITEM_LIMIT_ROUND_ID[6], EXTRA_ITEM_LIMIT_MAP_0[6], EXTRA_ITEM_LIMIT_ROUND_0[6], ZP_TEAM_HUMAN )
	gItem[7] = zp_register_extra_iteem("Skull4" , EXTRA_ITEM_SORT[7], EXTRA_ITEM_COST[7] , EXTRA_ITEM_MIN_PLAYERS[7] , EXTRA_ITEM_VIP[7] , EXTRA_ITEM_LIMIT_MAP_ID[7] , EXTRA_ITEM_LIMIT_ROUND_ID[7], EXTRA_ITEM_LIMIT_MAP_0[7], EXTRA_ITEM_LIMIT_ROUND_0[7], ZP_TEAM_HUMAN )
	gItem[8] = zp_register_extra_iteem("Janus7" , EXTRA_ITEM_SORT[8], EXTRA_ITEM_COST[8] , EXTRA_ITEM_MIN_PLAYERS[8] , EXTRA_ITEM_VIP[8] , EXTRA_ITEM_LIMIT_MAP_ID[8] , EXTRA_ITEM_LIMIT_ROUND_ID[8], EXTRA_ITEM_LIMIT_MAP_0[8], EXTRA_ITEM_LIMIT_ROUND_0[8], ZP_TEAM_HUMAN )
	gItem[9] = zp_register_extra_iteem("AT4" , EXTRA_ITEM_SORT[9], EXTRA_ITEM_COST[9] , EXTRA_ITEM_MIN_PLAYERS[9] , EXTRA_ITEM_VIP[9] , EXTRA_ITEM_LIMIT_MAP_ID[9] , EXTRA_ITEM_LIMIT_ROUND_ID[9], EXTRA_ITEM_LIMIT_MAP_0[9], EXTRA_ITEM_LIMIT_ROUND_0[9], ZP_TEAM_HUMAN )
	gItem[10] = zp_register_extra_iteem("Bow" , EXTRA_ITEM_SORT[10], EXTRA_ITEM_COST[10] , EXTRA_ITEM_MIN_PLAYERS[10] , EXTRA_ITEM_VIP[10] , EXTRA_ITEM_LIMIT_MAP_ID[10] , EXTRA_ITEM_LIMIT_ROUND_ID[10], EXTRA_ITEM_LIMIT_MAP_0[10], EXTRA_ITEM_LIMIT_ROUND_0[10], ZP_TEAM_HUMAN )
	gItem[11] = zp_register_extra_iteem("CV80" , EXTRA_ITEM_SORT[11],EXTRA_ITEM_COST[11] , EXTRA_ITEM_MIN_PLAYERS[11] , EXTRA_ITEM_VIP[11] , EXTRA_ITEM_LIMIT_MAP_ID[11] , EXTRA_ITEM_LIMIT_ROUND_ID[11], EXTRA_ITEM_LIMIT_MAP_0[11], EXTRA_ITEM_LIMIT_ROUND_0[11], ZP_TEAM_HUMAN )
	gItem[12] = zp_register_extra_iteem("G11" , EXTRA_ITEM_SORT[12],EXTRA_ITEM_COST[12] , EXTRA_ITEM_MIN_PLAYERS[12] , EXTRA_ITEM_VIP[12] , EXTRA_ITEM_LIMIT_MAP_ID[12] , EXTRA_ITEM_LIMIT_ROUND_ID[12], EXTRA_ITEM_LIMIT_MAP_0[12], EXTRA_ITEM_LIMIT_ROUND_0[12], ZP_TEAM_HUMAN )
	gItem[13] = zp_register_extra_iteem("Spas12" , EXTRA_ITEM_SORT[13], EXTRA_ITEM_COST[13] , EXTRA_ITEM_MIN_PLAYERS[13] , EXTRA_ITEM_VIP[13] , EXTRA_ITEM_LIMIT_MAP_ID[13] , EXTRA_ITEM_LIMIT_ROUND_ID[13], EXTRA_ITEM_LIMIT_MAP_0[13], EXTRA_ITEM_LIMIT_ROUND_0[13], ZP_TEAM_HUMAN )
	gItem[14] = zp_register_extra_iteem("TripleBarrel" , EXTRA_ITEM_SORT[14], EXTRA_ITEM_COST[14] , EXTRA_ITEM_MIN_PLAYERS[14] , EXTRA_ITEM_VIP[14] , EXTRA_ITEM_LIMIT_MAP_ID[14] , EXTRA_ITEM_LIMIT_ROUND_ID[14], EXTRA_ITEM_LIMIT_MAP_0[14], EXTRA_ITEM_LIMIT_ROUND_0[14], ZP_TEAM_HUMAN )
	gItem[15] = zp_register_extra_iteem("M95" , EXTRA_ITEM_SORT[15], EXTRA_ITEM_COST[15] , EXTRA_ITEM_MIN_PLAYERS[15] , EXTRA_ITEM_VIP[15] , EXTRA_ITEM_LIMIT_MAP_ID[15] , EXTRA_ITEM_LIMIT_ROUND_ID[15], EXTRA_ITEM_LIMIT_MAP_0[15], EXTRA_ITEM_LIMIT_ROUND_0[15], ZP_TEAM_HUMAN )
	gItem[16] = zp_register_extra_iteem("Spear" , EXTRA_ITEM_SORT[16],EXTRA_ITEM_COST[16] , EXTRA_ITEM_MIN_PLAYERS[16] , EXTRA_ITEM_VIP[16] , EXTRA_ITEM_LIMIT_MAP_ID[16] , EXTRA_ITEM_LIMIT_ROUND_ID[16], EXTRA_ITEM_LIMIT_MAP_0[16], EXTRA_ITEM_LIMIT_ROUND_0[16], ZP_TEAM_HUMAN )
	gItem[17] = zp_register_extra_iteem("Cart Blue" , EXTRA_ITEM_SORT[17],EXTRA_ITEM_COST[17] , EXTRA_ITEM_MIN_PLAYERS[17] , EXTRA_ITEM_VIP[17] , EXTRA_ITEM_LIMIT_MAP_ID[17] , EXTRA_ITEM_LIMIT_ROUND_ID[17], EXTRA_ITEM_LIMIT_MAP_0[17], EXTRA_ITEM_LIMIT_ROUND_0[17], ZP_TEAM_HUMAN )
	gItem[18] = zp_register_extra_iteem("ChainSaw" , EXTRA_ITEM_SORT[18],EXTRA_ITEM_COST[18] , EXTRA_ITEM_MIN_PLAYERS[18] , EXTRA_ITEM_VIP[18] , EXTRA_ITEM_LIMIT_MAP_ID[18] , EXTRA_ITEM_LIMIT_ROUND_ID[18], EXTRA_ITEM_LIMIT_MAP_0[18], EXTRA_ITEM_LIMIT_ROUND_0[18], ZP_TEAM_HUMAN )
	gItem[19] = zp_register_extra_iteem("Bazooka" , EXTRA_ITEM_SORT[19], EXTRA_ITEM_COST[19] , EXTRA_ITEM_MIN_PLAYERS[19] , EXTRA_ITEM_VIP[19] , EXTRA_ITEM_LIMIT_MAP_ID[19] , EXTRA_ITEM_LIMIT_ROUND_ID[19], EXTRA_ITEM_LIMIT_MAP_0[19], EXTRA_ITEM_LIMIT_ROUND_0[19], ZP_TEAM_HUMAN )
	gItem[20] = zp_register_extra_iteem("Balrog-I" , EXTRA_ITEM_SORT[20], EXTRA_ITEM_COST[20] , EXTRA_ITEM_MIN_PLAYERS[20] , EXTRA_ITEM_VIP[20] , EXTRA_ITEM_LIMIT_MAP_ID[20] , EXTRA_ITEM_LIMIT_ROUND_ID[20], EXTRA_ITEM_LIMIT_MAP_0[20], EXTRA_ITEM_LIMIT_ROUND_0[20], ZP_TEAM_HUMAN )
}

public zp_extra_item_selecteed( Player , Item )
{
	if( Item == gItem[0] ) GiveWeapon( Player , 1 ) ;
	if( Item == gItem[1] ) GiveWeapon( Player , 2 ) ;
	if( Item == gItem[2] ) GiveWeapon( Player , 3 ) ;
	if( Item == gItem[3] ) GiveWeapon( Player , 4 ) ;
	if( Item == gItem[4] ) GiveWeapon( Player , 5 ) ;
	if( Item == gItem[5] ) GiveWeapon( Player , 6 ) ;
	if( Item == gItem[6] ) GiveWeapon( Player , 7 ) ;
	if( Item == gItem[7] ) GiveWeapon( Player , 8 ) ;
	if( Item == gItem[8] ) GiveWeapon( Player , 9 ) ;
	if( Item == gItem[9] ) GiveWeapon( Player , 10 ) ;
	if( Item == gItem[10] ) GiveWeapon( Player , 11 ) ;
	if( Item == gItem[11] ) GiveWeapon( Player , 12 ) ;
	if( Item == gItem[12] ) GiveWeapon( Player , 13 ) ;
	if( Item == gItem[13] ) GiveWeapon( Player , 14 ) ;
	if( Item == gItem[14] ) GiveWeapon( Player , 15 ) ;
	if( Item == gItem[15] ) GiveWeapon( Player , 16 ) ;
	if( Item == gItem[16] ) GiveWeapon( Player , 17 ) ;
	if( Item == gItem[17] ) GiveWeapon( Player , 18 ) ;
	if( Item == gItem[18] ) GiveWeapon( Player , 19 ) ;
	if( Item == gItem[19] ) GiveWeapon( Player , 20 ) ;
	if( Item == gItem[20] ) GiveWeapon( Player , 21 ) ;
}

public GiveWeapon( Player , Weapon )
{
	switch( Weapon )
	{
		case 1: 	give_balrog11( Player ) ;
		case 2: 	give_plasma( Player ) ;
		case 3: 	give_infinity( Player ) ;
		case 4: 	give_janus1( Player ) ;
		case 5: 	give_balrog3( Player ) ;
		case 6: 	give_balrog5( Player ) ;
		case 7: 	give_skull3( Player ) ;
		case 8: 	give_skull4( Player ) ;
		case 9: 	give_janus7( Player ) ;
		case 10: 	give_at4( Player ) ;
		case 11: 	give_bow( Player ) ;
		case 12: 	give_cv80( Player ) ;
		case 13: 	give_g11( Player ) ;
		case 14: 	give_spas12( Player ) ;
		case 15: 	give_triplebarrel( Player ) ;
		case 16: 	give_m95( Player ) ;
		case 17: 	give_spear( Player ) ;
		case 18: 	give_cartblue( Player ) ;
		case 19: 	give_chainsaw( Player ) ;
		case 20:	give_bazooka(Player);
		case 21:	give_balrog1(Player);
	}
}
YankoNL is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 02:33.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode