Is EnemyMelleeDamaged() being called? You could try a quick Debug.Log() call to see if anything shows up in the log.
Possible problems:
Maybe you’re calling an event that doesn’t exist?
Maybe your event exists, but not in any script that’s attached to your target?
Maybe your raycast is finding the wrong GameObject?
If you’re sure you have the right GameObject, and you’re sure the event is being called, maybe the enemy’s health is <= 0 when it’s called?
Always check your assumptions. Make sure you have the right target, that it has the script attached, that your event is being called… a pretty big part of debugging is narrowing down the problem.