if ($eval($(% $+ $3), 2) == $nick)
$eval(code, N) will evaluate code N times. In your case you need it to evaluate the code twice: once in order to get the variable's name, and a second time to get the resulting variable's value.
can i ask why one would use $(...) ??? what purpose does it serve, i cant find any... //echo -a $(
% $me) gives the same result as //echo -a % $+ $me
so what am i missing here? or are people just into typing more then necccccesssssssary?