może tak ?
#include <amxmodx> #include <cstrike> #include <hamsandwich> #define IsNoPlayer(%1) ( is_user_hltv( %1 ) || is_user_bot( %1 ) ) new bool:block[ 33 ]; stock const gszWeaponsNames[ ][ ] = { "weapon_scout", "weapon_mac10", "weapon_aug", "weapon_ump45", "weapon_sg550", "weapon_galil", "weapon_famas", "weapon_awp", "weapon_mp5navy", "weapon_m249", "weapon_m4a1", "weapon_tmp", "weapon_g3sg1", "weapon_sg552", "weapon_ak47", "weapon_p90", "weapon_p228", "weapon_shield", "weapon_hegrenade", "weapon_xm1014", "weapon_smokegrenade", "weapon_elite", "weapon_fiveseven", "weapon_usp", "weapon_glock18", "weapon_flashbang", "weapon_deagle" } stock const gszBlockNames[ ][ ] = { "armoury_entity", "weapon_shield", "weaponbox" } public plugin_init() { register_plugin( "Block Weapons", "1.0.0", "Misiaczek ;c" ); RegisterHam( Ham_Spawn, "player", "hamSpawn", 1 ); for ( new i = 1; i < sizeof gszWeaponsNames; i++ ) { if ( gszWeaponsNames[ i ][ 0 ] ) { RegisterHam( Ham_Item_Deploy, gszWeaponsNames[ i ], "hamDeploy", 1 ); } } for ( new i = 1; i < sizeof gszBlockNames; i++ ) { if ( gszBlockNames[ i ][ 0 ] ) { RegisterHam( Ham_Touch, gszBlockNames[ i ], "hamTouch" ); } } } public client_disconnect( id ) block[ id ] = false; public hamSpawn( id ) { if( !is_user_alive( id ) || IsNoPlayer( id )) return HAM_IGNORED; if( cs_get_user_team( id ) == CS_TEAM_SPECTATOR || cs_get_user_team( id ) == CS_TEAM_UNASSIGNED || cs_get_user_team( id ) == CS_TEAM_CT ) return HAM_IGNORED; block[ id ] = true; return HAM_IGNORED; } public hamTouch( iEntity, id ) { if( block[ id ] ) return HAM_SUPERCEDE; else return HAM_IGNORED; return HAM_IGNORED; } public hamDeploy( iEntity ) { new id = get_pdata_cbase( iEntity, 41, 4 ); if( block[ id ] ) engclient_cmd( id, "weapon_knife" ); else return HAM_IGNORED; return HAM_IGNORED; }