Slightly off topic, but would checking health every frame and checking to see if it was lower than it was last frame within gamemode work as a sort of ghetto "onhit?" For damage dealing things of course.
It wouldn't detect hits which do no damage, or no net damage (e.g. player has some spell/ability that regens health, gets hit for same amount, no net damage).
It
would detect damage from things other than being hit (scripts, magic effects, falling, etc).
So it depends on your definition of "ghetto".