Можно погуглить по запросу programming hooking. Вот
Если на пальцах, то это привязка какой-либо функции к какому-либо событию. Например:
PHP:
function playerSuicided(victim, infl, att)
if victim == att then
print(victim:Name() .. " совершил самоубийство")
end
end
hook.Add("PlayerDeath","player suicide", playerSuicided)
Здесь функция прикрепляется к событию смерти игрока. Если игрок умрёт, в консоль сервера выведется ник игрока и сообщение о его самоубийстве.
Список большинства hook'ов можно найти
. Также нужно учитывать, что некоторые хуки выполняются только на сервере, некоторые только на клиенте.