From GMod Wiki
A Hook is function that is called when an event happens. There can be an unlimited amount of Hooks hooked to one event when called with hook.Add, but only one hook when overriding the event's function such as GM:PlayerSpawn.
|Description||This would call the function NotifyOfSpawn() in the event of a player spawning.|
print("The player "..ply:Nick().." spawned.")
hook.Add( "PlayerSpawn", "PlayerSpawnMessages", NotifyOfSpawn )