AS per your script if you were to use that !unban first you would need level 100 second it would have to something like

!unban nick!*identd@hostname.com for it to unban by using mode # -b host

heres a small script you can do real quick too (also depending on how you added your level ill just do a quick example...

Code:
on *:TEXT:*:#: {
if ($1 == !shutup) && ($2 ison #) { 
mode # +b $address($2,8)
}
if ($level($address($nick,3)) == 100) && ($1 == !unban) && ($2 ison #) {
mode # -b $address($2,8)
}
}


so you see by doing $address($2,8) soon you enter the second work "nickname" it fills in the $2 of course which values to finding out the address of the nick... but basically thats whats wrong with your script...

is just that you have your !unban script unban with $2 and like i said the only way to use your script as is is to do !unban nick!*identd@hostname.com


Code:
if $reality > $fiction { set %sanity Sane }
Else { echo -a *voices* }