In mIRC 7.59, /halt in $hfind's command parameter was fixed to stop halting the script, but to halt only the $hfind, that's good.

However, that fix made $hfind returns 0 if you halt a search with N = 0:

//hadd -m test test test | hadd test test1 test1 | echo -ag $hfind(test,*,0,w,noop).data vs $hfind(test,*,0,w,noop $1 [ $(|) ] halt).data | hfree test
2 vs 0

Halting $hfind can be useful to speed up script processing instead of executing noop $1 for all the remaining matching items when we know we're done searching, but it doesn't mean we want to exit the search with a failure, returning the original number of match is still very useful.

#mircscripting @ == the best mIRC help channel