Why the if $2 == $me? You already have that taken care of in the match text section of the event. That if statement becomes pointless. If you must use an if condition, then:
on *:action:*:*:{
if ($strip($1-2) == slap $me) {
msg $iif(#,#,$nick) blah blah
But I prefer regex
on $*:action:$(/\bslaps?\s(\Q $+ $me $+ \E)\b/iS):#:{
Reason being, if you use wilcard, like $2 isin $me or $me , it'll often result in false positives. Using $istok or $1-2 == $me also has a downfall that won't trigger if someone adds a punctuation mark in front or at the end of your main nick.