if ($2 != %mnum) {
inc %counter
var %gfnum = $mid($2, 1, 1), %gsnum = $mid($2, 2, 1), %gtnum = $mid($2, 3, 1), %ghnum = $mid($2, 4, 1)
var %correct = 0, %close = 0
var %numbers = $+(%fnum,.,%snum,.,%tnum,.,%hnum)
if (%gfnum == %fnum) { inc %correct | var %gfnum = x | var %numbers = $remtok(%numbers,%gfnum,1,46) }
if (%gsnum == %snum) { inc %correct | var %gsnum = x | var %numbers = $remtok(%numbers,%gsnum,1,46) }
if (%gtnum == %tnum) { inc %correct | var %gtnum = x | var %numbers = $remtok(%numbers,%gtnum,1,46) }
if (%ghnum == %hnum) { inc %correct | var %ghnum = x | var %numbers = $remtok(%numbers,%ghnum,1,46) }
if (%gfnum isin %numbers) { inc %close | var %numbers = $remtok(%numbers,%gfnum,1,46) }
if (%gsnum isin %numbers) { inc %close | var %numbers = $remtok(%numbers,%gsnum,1,46) }
if (%gtnum isin %numbers) { inc %close | var %numbers = $remtok(%numbers,%gtnum,1,46) }
if (%ghnum isin %numbers) { inc %close | var %numbers = $remtok(%numbers,%ghnum,1,46) }
msg $chan You have %correct correct.
msg $chan You have %close out of place.
}