Originally Posted By: DJ_Sol
I dont know if this will help, but this is what I have learned.

on *:Sockread:sockname:{
if ($sockerr > 0) { return }

sockread lines

if ($error) { echo -s $error | reseterror }

Notice I use return instead oh halt. This is so mIRC doesn't halt all currently running scripts. Only the one that has the error.

So far I use only a $sockerr check in the beginning of a socket event, unlike what is done in the script piece I pasted, it also checks after every /sockread and my question was if a /sockread can make $sockerr have a new value, for example, the on sockread triggers, no error ($sockerr 0), but after the first (or 12th, doesnt matter), if its possible that it suddenly does get a value (and important remind: all in the execution time of this same on sockread event).

That :error label is not related to my question, I was talking ab out the $sockerr identifier.

Btw, (offtopic), /halt only halts the execution from the event that is executed, halt will not stop mirc from executioning another event with the same triggering conditions (in another file ofcourse, because implementation causes it to only execute the first instance if both are in same scriptfile.
So there is nothing wrong with using /halt instead of /return, in an event.
The place where this choice does make a difference is an alias, if /halt is used there, it will stop the execution of the whole currently processed code, so also the calling place, no matter how many levels.