This may sound n00bish, but why doesn't
on *:Part:{ if ($nick == $me) && If ($active == #) haltdef Part # $active Part-Msgg }
Work?