Code:
 on $@*:TEXT:m/[^\w\s]{5,}|(\S)\1{4,}|\s{15,}/iS:#channel: {
if $nick !isop $chan {
inc -u86400 $+(%,punctuation.,$network,.,$chan,.,$address)
var %v = $($+(%,punctuation.,$network,.,$chan,.,$address),2)
if (%v == 1) { 
msg $chan $nick Please dont excessively repeat characters. $&
This is your First warning. Next Warning Will Be Followed By A Kick Please Read The Rules 
}
elseif (%v == 2) { 
kick $chan $nick Please stop with the excessive characters Next will be a 3 hour ban

}
elseif (%v == 3) { 
ban -ku10800 $chan $nick 2 3rd Warning Stop with the excessive characters *3 hour ban*
}
elseif (%v == 4) {
ban -ku86400 $chan $nick 2 4th and final warning *24 hour ban*
}
else ban -ku86400 $chan $nick 2 Punctuation kick *24 hour ban*
}
}
on $@*:action:m/[^\w\s]{5,}|(\S)\1{4,}|\s{15,}/iS:#channel: {
if $nick !isop $chan {
inc -u86400 $+(%,punctuation.,$network,.,$chan,.,$address)
var %v = $($+(%,punctuation.,$network,.,$chan,.,$address),2)
if (%v == 1) { 
msg $chan $nick Please dont excessively repeat characters. $&
This is your First warning. Next Warning Will Be Followed By A Kick Please Read The Rules 
}
elseif (%v == 2) { 
kick $chan $nick Please stop with the excessive characters Next will be a 3 hour ban

}
elseif (%v == 3) { 
ban -ku10800 $chan $nick 2 3rd Warning Stop with the excessive characters *3 hour ban*
}
elseif (%v == 4) {
ban -ku86400 $chan $nick 2 4th and final warning *24 hour ban*
}
else ban -ku86400 $chan $nick 2 Punctuation kick *24 hour ban*
}
}
/*
on *:NICK:{
var %i = 1
while ($var($+(%,punctuation.,$network,.,*,.,$nick),%i)) {
if ($($v1,2) > $($+(%,punctuation.,$network,.,$chan,.,$newnick),2)) {
set $+(%,punctuation.,$network,.,$chan,.,$newnick) $v1
}
inc %i
}
}
*/
menu nicklist {
$iif($snick(#,0) == 1,punctuation)
. $style(2) level = $calc(0 + $($+(%,punctuation.,$network,.,$chan,.,$gettok($address($1,5),2,33)),2)):.
.set...:set $+(%,punctuation.,$network,.,$chan,.,$gettok($address($1,5),2,33)) $$?="New level?"
.unset:unset $+(%,punctuation.,$network,.,$chan,.,$gettok($address($1,5),2,33))
.inc:inc $+(%,punctuation.,$network,.,$chan,.,$gettok($address($1,5),2,33))
.dec:dec $+(%,punctuation.,$network,.,$chan,.,$gettok($address($1,5),2,33))
}

on *:START: .unset %punctuation*
 


Changed $nick to $address in the appropriate locations in the ON TEXT & ON ACTION events, also added a check to see if nick is an op in the room. remarked out the ON NICK event, as using $address (should) eliminate the need for that event