on ^*:rawmode:#:{
; Creates signals in the form mode<sign><modechar>
var %i = 1, %parm = 1, %sign
while $mid($1, %i, 1) != $null {
var %char = $ifmatch
if (%char isin +-) %sign = %char
else {
if (%sign == + && %char isin $gettok($chanmodes,1-3,44) $+ $nickmode) || (%sign == - && %char isin $gettok($chanmodes,1-2,44) $+ $nickmode) {
inc %parm
.signal -n $+(mode, %sign, %char) # $nick $eval($ $+ %parm,2)
}
else .signal -n $+(mode, %sign, %char) # $nick
}
inc %i
}
; Uncomment line below to hide default event
; haltdef
}