Не очень понял суть вопроса, но блокировать можно еще в client_command() и в хуке fakemet'ы FM_ClientCommand. При обработке каких-то хуков плагины обрабатывают событие в порядке, установленном в plugins.ini . Если какой-то из плагинов заблокирует событие, то в следующих за ним хук не вызовется и само событие заблокируется. Для PLUGIN_HANDLED_MAIN заблокируется только само событие.
Для некоторых функций из amxmodx и еще некоторых модулей(например, engine) нужно возвращать следующие значения:
Code
#define PLUGIN_CONTINUE 0 /* Продолжить обработку и вызвать функцию движка/мода */
#define PLUGIN_HANDLED 1 /* Остановить вызов остальных плагинов */
#define PLUGIN_HANDLED_MAIN 2 /* хоть в amxmodx.inc и написано что "для использования в client_command()" но не только для этого форварда; остальные плагины вызываются, но вызов функции движка/мода блокируется */
Само событие - это обычно вызов функции мода или вызов функции движка.
Некоторые хуки не блокируются, например, client_disconnect()