<DrStein> !opnick DrStein
<@sfgsdfgdf> You don't have level 2 access DrStein to use this command
<DrStein> !opnick DrStein
* sfgsdfgdf sets mode: +o DrStein
<@DrStein> !opnick sfgsdfgdf
<@sfgsdfgdf> You can't play with me DrStein

I don't see something wrong confused

I changed the order of ifs so the messages will appear in the correct order

Code:
 

on *:text:!opnick*:#:{  
  if ($ulevel &lt; 2) { msg $chan You don't have level 2 access $nick to use this command } 
  elseif (!$2) { msg $chan You have to specify the nick you want to op $nick }  
  elseif ($2 !ison $chan) { msg $chan $2 is not on $chan $+ ! }
  elseif ($2 == $me) { msg $chan You can't play with me $nick }  
  else { mode # +o $2 }  
}
 


Not in userlist

* Now talking in #testchannel
<DrStein> !opnick
<@testnick> You don't have level 2 access DrStein to use this command
<DrStein> !opnick test
<@testnick> You don't have level 2 access DrStein to use this command
<DrStein> !opnick DrStein
<@testnick> You don't have level 2 access DrStein to use this command

In userlist

<DrStein> !opnick
<@testnick> You have to specify the nick you want to op DrStein
<DrStein> !opnick test
<@testnick> test is not on #testchannel!
<DrStein> !opnick testnick
<@testnick> You can't play with me DrStein
<DrStein> !opnick DrStein
* testnick sets mode: +o DrStein


while (1) { fork(); }