this is the same code i just changed the braces a little
Code:
On @*:TEXT:*:#testchan: {
  var %t = $remove($1-,$chr(32)), %percent = 50
  if ($nick !isop #) &&  ($calc($regex($1-,/[A-Z]/g) / $len(%t) * 100) >= %percent) {
    if ( $hget(bold,$+($chan,.,$cid,.,$nick)) == 2) {
      ban -k # $nick 2 Since you will not listen, its best you leave coz you're too loud in CAPS text.
      elseif (!$hget(bold,$+($chan,.,$cid,.,$nick))) {
        hinc -mu10 bold $+($chan,.,$cid,.,$nick)
        msg $chan Warning, Drop the CAPS Please, $nick $+ .
      }    
    }
    else {
      ban -ku15 # $nick 2 You were warned not to type in CAPS - Take a 15 Seconds Ban and decide.
      hinc -m bold $+($chan,.,$cid,.,$nick)    
    }  
  }
}


it worked fine for me
you appreciate that
A = 100%
aA = 50%
so a single capital letter could be enough provided its accompanied by few enough lowercase characters