I don't see the point using MessageBegin here. As far I understand, it's exactly the same using ResetHud event ( register_event() ) and with as check "if ( id && is_user_alive( id ) )", except your code will probably called very often. So, I think it's pointless and overhead to do that.