on *:notice:*:#:{
if (%notice [ $+ [ $nick ] ] > 1) { halt }
set -u5 %notice [ $+ [ $nick ] ] $true
}
This won't work. You never increment the variable and then
verify if it's greater than 1.
Also, the '#' will make the event listen only to channel notices.
Other than the #, yes it will work. For that matter, with the #, it will still work if the notices are being sent to the channel instead of your nick. The IF only halts if the variable is set, though I'd drop the >1 check as it's not needed here. When it isn't set, it will set it for 5 seconds and NOT halt. That's what you want to have happen.
For a slightly modified version...
on *:notice:*:*:{
if ($+(%,notice,$nick)) { halt }
set -u5 %notice $+ $nick $true
}