- #include < amxmodx > 
- #include < engine > 
- #include < fakemeta > 
- #include < hamsandwich > 
- #include < cstrike > 
- #include < fun > 
-   
- #define MaxWeapon 11 
-   
- new const g_iWeapons[ MaxWeapon ] = { 22, 28, 18, 3, 8, 15, 14, 19, 5, 21, 20 }; 
- new g_sWeapon[ MaxWeapon ][ 16 ], g_sWeaponFull[ MaxWeapon ][ 32 ]; 
- new bool: g_bWeaponMenu[ 33 ], bool: g_bC4; 
-   
- public plugin_init( ) 
- { 
- 	register_plugin( "WeaponMenu", "1.0", "Demon" ); 
- 	register_cvar( "WeaponMenu", "By Demon", FCVAR_SERVER ); 
-   
- 	new sWeapName[ 32 ], sLeft[ 16 ], sRight[ 16 ]; 
-   
- 	for ( new i; i < MaxWeapon; ++i ) 
- 	{ 
- 		get_weaponname( g_iWeapons[ i ], sWeapName, 31 ); 
- 		RegisterHam( Ham_Weapon_Reload, sWeapName, "Reload_Post", 1 ); 
-   
- 		copy( g_sWeaponFull[ i ], 31, sWeapName ); 
-   
- 		strtok( sWeapName, sRight, 15, sLeft, 15, '_' ); 
-   
- 		strtoupper( sLeft ); 
- 		copy( g_sWeapon[ i ], 15, sLeft ); 
- 	} 
- 	RegisterHam( Ham_Weapon_Reload, "weapon_deagle", "Reload_Post", 1 ); 
- 	RegisterHam( Ham_Spawn, "player", "PlayerSpawn", 1 ); 
-   
- 	new iEntity = create_entity( "info_map_parameters" ); 
- 	DispatchKeyValue( iEntity, "buying", "3" ); 
- 	DispatchSpawn( iEntity ); 
- 	iEntity = create_entity( "player_weaponstrip" ); 
- 	DispatchKeyValue( iEntity, "targetname", "stripper" ); 
- 	DispatchSpawn( iEntity ); 
- 	iEntity = create_entity( "game_player_equip" ); 
- 	DispatchKeyValue( iEntity, "weapon_knife"  , "1" ); 
- 	DispatchKeyValue( iEntity, "targetname", "equipment" ); 
- 	DispatchSpawn( iEntity ); 
- 	iEntity = create_entity( "multi_manager" ); 
- 	DispatchKeyValue( iEntity, "equipment" , "0.3" ); 
- 	DispatchKeyValue( iEntity, "stripper"  , "0.2" ); 
- 	DispatchKeyValue( iEntity, "targetname", "game_playerspawn" ); 
- 	DispatchKeyValue( iEntity, "spawnflags", "1" ); 
- 	DispatchSpawn( iEntity ); 
-   
- 	register_event( "HLTV", "eNewRound", "a", "1=0", "2=0" ); 
-   
- 	register_concmd( "say /gun", "cmdWeaponMenu" ); 
- 	register_concmd( "say /fegyver", "cmdWeaponMenu" ); 
- } 
-   
- public pfn_keyvalue( iEntity ) 
- {  
- 	new sClassName[ 20 ], sKeyName[ 16 ], sValue[ 20 ]; 
-   
- 	copy_keyvalue( sClassName, charsmax( sClassName ), sKeyName, charsmax( sKeyName ), sValue, charsmax( sValue ) ); 
-   
- 	if ( equal( sClassName, "info_map_parameters" ) || equal( sClassName, "func_buyzone" ) || equal( sClassName, "game_player_equip" ) || equal( sClassName, "player_weaponstrip" ) ) 
- 	{  
- 		remove_entity( iEntity ); 
- 		return PLUGIN_HANDLED; 
- 	} 
- 	else if ( equal( sClassName, "multi_manager" ) && equal( sKeyName, "targetname" ) && equal( sValue, "game_playerspawn" ) ) 
- 	{ 
- 		remove_entity( iEntity ); 
- 		return PLUGIN_HANDLED; 
- 	} 
-   
- 	return PLUGIN_CONTINUE; 
- } 
-   
- public Reload_Post( iWeapon ) 
- { 
- 	static iId; iId = get_pdata_cbase( iWeapon, 41, 4 ); 
- 	if ( !is_user_connected( iId ) ) return; 
-   
- 	if ( get_pdata_int( iWeapon, 54, 4 ) || get_pdata_int( iWeapon, 55, 4 ) ) 
- 		cs_set_user_bpammo( iId, cs_get_weapon_id( iWeapon ), 100 ); 
- } 
-   
- public PlayerSpawn( iId ) { set_task( 0.1, "CheckC4", iId ); } 
-   
- public CheckC4( iId ) 
- {  
- 	if ( !g_bC4 ) if ( user_has_weapon( iId, CSW_C4 ) ) set_task( 0.4, "GiveC4", iId ); 
- 	set_task( 0.33, "WeaponMenu", iId ); 
- } 
-   
- public GiveC4( iId ) { give_item( iId, "weapon_c4" ); cs_set_user_plant( iId, 1, 1 ); g_bC4 = true; } 
-   
- public WeaponMenu( iId ) 
- { 
- 	if ( !is_user_alive( iId )  ) return; 
-   
- 	g_bWeaponMenu[ iId ] = false; 
-   
- 	static sMenuItem[ 128 ]; 
-   
- 	new iMenu = menu_create( "Fegyvermenu:", "WeaponMenuH" ); 
-   
- 	for ( new i; i < MaxWeapon; ++i ) 
- 	{ 
- 		formatex( sMenuItem, 127, "\r[\y%s\r]", g_sWeapon[ i ] ); 
- 		menu_additem( iMenu, sMenuItem, _, 0 ); 
- 	} 
-   
- 	menu_setprop( iMenu, MPROP_EXIT, MEXIT_ALL ); 
- 	menu_display( iId, iMenu ); 
- } 
-   
- public WeaponMenuH( iId, iMenu, iItem ) 
- { 
- 	if( iItem == MENU_EXIT || !is_user_alive( iId ) ) 
- 	{ 
- 		menu_destroy( iMenu ); 
- 		return; 
- 	} 
-   
- 	new sMenuName[ 78 ], sInfo[ 8 ], iKey, iMenuNum; 
- 	menu_item_getinfo( iMenu, iItem, iKey, sInfo, charsmax( sInfo ), sMenuName, charsmax( sMenuName ), iMenuNum ); 
-   
- 	give_item( iId, g_sWeaponFull[ iItem ] ); 
- 	give_item( iId, "weapon_deagle" ); 
- 	give_item( iId, "weapon_flashbang" ); 
- 	give_item( iId, "weapon_hegrenade" ); 
- 	give_item( iId, "weapon_smokegrenade" ); 
- 	give_item( iId, "item_assaultsuit" ); 
- 	give_item( iId, "item_thighpack" ); 
-   
- 	cs_set_user_bpammo( iId, g_iWeapons[ iItem ], 100 ); 
- 	cs_set_user_bpammo( iId, CSW_DEAGLE, 100 ); 
- 	cs_set_user_bpammo( iId, CSW_FLASHBANG, 2 ); 
-   
- 	client_print( iId, print_chat, "[Fegyvermenu] %s fegyver csomagot valasztottad.", g_sWeapon[ iItem ] ); 
- 	g_bWeaponMenu[ iId ] = true; 
- } 
-   
- public eNewRound ( ) { g_bC4 = false; } 
- public cmdWeaponMenu( iId ) { if ( !g_bWeaponMenu[ iId ] ) WeaponMenu( iId ); } 
-