I know it's not your code it's a optimized way of your code I wrote to give you an example to what you should do.
PHP Code:
@CommandsMenu_Handler( id, iMenu, iItem )
{
// destroying the menu at begining we never needed to extract info from it...
menu_destroy( iMenu );
if( iItem == MENU_EXIT )
{
return PLUGIN_HANDLED;
}
switch( iItem )
{
case 0:
{
if( ~ get_user_flags( id ) & g_iConfig[ KICK_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
KickMenu( id );
}
case 1:
{
if( ~ get_user_flags( id ) & g_iConfig[ BAN_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
BanMenu( id );
}
case 2:
{
if( ~ get_user_flags( id ) & g_iConfig[ ADD_BAN_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
AddBanMenu( id );
}
case 3:
{
if( ~ get_user_flags( id ) & g_iConfig[ ADD_GAG_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
AddGagMenu( id );
}
case 4:
{
if( ~ get_user_flags( id ) & g_iConfig[ GAG_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
GagMenu( id );
}
case 5:
{
if( ~ get_user_flags( id ) & g_iConfig[ UNBAN_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
UnBanMenu( id );
}
case 6:
{
if( ~ get_user_flags( id ) & g_iConfig[ UNGAG_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
UnGagMenu( id );
}
case 7:
{
if( ~ get_user_flags( id ) & g_iConfig[ SLAY_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
SlayMenu( id );
}
case 8:
{
if( ~ get_user_flags( id ) & g_iConfig[ SLAP_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
SlapMenu( id );
}
case 9:
{
if( ~ get_user_flags( id ) & g_iConfig[ TEAM_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
TeamMenu( id );
}
case 10:
{
if( ~ get_user_flags( id ) & g_iConfig[ MAP_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
MapMenu( id );
}
case 11:
{
if( ~ get_user_flags( id ) & g_iConfig[ FREEZE_FLAG ] )
{
send_message( id, CHAT, true, "%L", id, "NO_ACCESS_MENU" );
return PLUGIN_HANDLED;
}
FreezeMenu( id );
}
}
return PLUGIN_HANDLED;
}