Code:
on *:join:#: {
 set %join.whois.ident. [ $+ [ $nick ] ] 1
 whois $nick
}
raw 307:*:{
 if (%join.whois.ident. [ $+ [ $2 ] ] == 1) {
  if ($4 != identified) {
   .notice $2 You're not ID'd!
  }
  unset %join.whois.ident. [ $+ [ $2 ] ]
 }
}

$nick dosen't work in RAW events. You will have to find out what $x is the nick, but generaly $2 will be the nickname.
Also, don't leave out brackets, as it slows the script down as mIRC will have to place them itsef, and using /halt is generally a bad idea. I would suggest using return in its place (unless its in a alias where you want to halt the script completely, then you would use /halt).


Those who can, cannot. Those who cannot, can.