on *:RAWMODE:#:{
var %+- | ; Setting or unsetting modes
var %modecount = 0 | ; Which parameter is affected by this mode change
var %i = 1 | ; Loop index to loop through $1 (the mode list)
var %fulladdress = $address($me,5) | ; My address
while ($mid($1, %i, 1)) {
var %char = $ifmatch
if %char == + $&
%+- = 1
elseif %char == - $&
%+- = 0
else {
inc %modecount
var %param = $gettok($2-, %modecount, 32)
if (%char !isin ciklmnoprstv) && ([color:red]%param iswm %fulladdress[/color]) {
if %+- {
echo $color(info) -bfirt $chan * $nick has set /MODE $chan $+(+,%char) %param on you
; Whatever you plan on doing about it, insert that code here (probably based on
; what the mode is that they set. I have put these into two completely different
; sections assuming that you'll want to do different things if the mode is being
; set or unset.
} | else {
echo $color(info) -bfirt $chan * $nick has set /MODE $chan $+(-,%char) %param on you
}
}
}
inc %i
}
}