With the rise of CAP, there is a major hurdle mIRC is unable to scale without QUITE a bit of fancy scripting: Creating CAP modules that handle messages estranged from the IRC protocol. For example, lets say the server supports "CAP REQ :server.net/usermeta" that causes all messages(PARTS, JOINS, PRIVMSG, etc) from users to be prefixed with something similar to:
usermeta:admin=false;registered=true;ssl=true :Nick!ident@host PRIVMSG #channel :Message
There's no way to alter that message so mIRC's internal event handling can process it. The work around(s) requiring EXCESSIVE amounts of coding to either create a proxy that middleman's the connection or re-implementing via mSL all of mIRC's event handling for any message that originate from another user.
To ease this I suggest
;Stops mIRC from attempting to parse the line
on ^*:PARSER:[matchtext]:{
haltdef
}
; Changes the line mIRC and subsquent PARSER events would
; parse from the original to "newline"
on *:PARSER:[matchtext]:{
parse newline
}
PARSER events from multiple scripts will be passed the line after alterations from previous scripts. That is to say, the first scripts in the script-order get the rawline first, can alter the line, and the altered line will get passed to the subsequent PARSER events
-- EDIT --
After thinking about this some more, instead or requiring a new event, a single command to activate mIRC's built in parser/event-handling would probably be much easier to code, and allow the scripter MUCH more flexibility:
var %t = :Nick!nick@host PRIVMSG #chan :message
/parse %t