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;
}