Hey, I'm a beginner when it comes to scripting, I grabbed the following code from a thread and customized it a bit, Having a slight problem with it, I probably messed with the code and it doesn't timeout on the third warning, It does say what it's suppost to say but not timing out.

Code:
on @*:text:*:#:capscheck $1-
on @*:action:*:#:capscheck $1-
on @*:notice:*:#:capscheck $1-
alias -l capscheck {
  var %. ,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,%; $len($remove($1- [ %. ] )),%: $len($1-) - %;
  if ($nick !isop #) && ($calc(100*($len($removecs($1- [ %. ] ))-%;)/%:) > 50) && (%: > 5) { 
    set -e $+(%,c,$chr(32),$int($v1))
    inc $+(%,$nick) 
    if ($($+(%,$nick),2) > 2) {
      timeout -ku600 # $nick 2
      .msg $nick , You had $+(%c,%) usage of CAPS memory in your sentence, 5 Minutes timeout for you my friend! (3/3)
      unset $($+(%,$nick),1)
    }
    elseif ($($+(%,$nick),2) = 2) { 
      .msg $chan $nick , You had $+(%c,%) usage of CAPS memory in your sentence, Second warning! Next warning is a timeout. (2/3)
    }
    else { 
      .msg $chan $nick , You had $+(%c,%) usage of CAPS memory in your sentence, First warning! (1/3)
    }
  }
  }