Try the OnTakeDamage hook.
function OnTakeDamage(a_Receiver, a_TDI) if (a_TDI.Attacker == nil or not a_Receiver:IsItemFrame() or not a_TDI.Attacker:IsPlayer()) then return false end -- Your code end