^ halts the standard mirc response ... so in your post saying that the nickname change would aslo say that is wrong
if u had
on *:NICK: { echo -a $colour(nick) NickChange: $nick wants to be called $newnick }
you would see
NickChange: bob wants to be called ted
* bob is now known as ted
if u had
on ^*:NICK: { echo -a $colour(nick) NickChange: $nick wants to be called $newnick | halt }
you would see
NickChange: bob wants to be called ted
the ^ prefix does nothing more than act as a halt identifier for the standard mirc expression
help file:
The ^ event prefix
You can prevent the default text for an event from being shown by using the ^ prefix in an event definition. This allows you to show your own custom event messages.
on ^1:JOIN:#:echo $chan Joins: $nick | halt
This line is triggered by a JOIN event and shows your own custom join event message, /halt prevents the normal message from being shown.
The ^ events don't replace your existing events; your normal events are independent and are still processed whether there is a ^ event in a script or not.
If you only want to halt the default text without /halting the entire script, you can use the /haltdef command.
again type /help Halting default text
it fully explains this there